Parse media and post URLs instead of slicing them by offset !33

merged merged by cmc on 2026-09-12 02:18 UTC · krz/skunky-art:chore/url-helpers into main

Discussion

cmc

The cleanup half of #1, and the legacy-HTML half of #6.

  • wixmpMedia and proxiedMediaURL replace the mediaURL[21:] / dot+11 slicing in ParseMedia and sendMedia. The proxied URL now carries token and filename as a proper query string. On-disk cache keys are unchanged (they hash subdomain and path).
  • ConvertDeviantArtURLToSkunkyArt parses the link and also accepts author.deviantart.com/art/name, which REDIRECTS.md documents.
  • Legacy HTML descriptions: an emoticon maps to the emote route by the image's base name; the old offsets fit exactly one URL shape, which is the #6 symptom for old-format text. Foreign images are still dropped; emotes gain alt text.
  • GetValueOfTag loses its one-iteration loop. Stale TODOs about JSON caching and search filters are gone.

Four new tests. The new-format half of #6 comes with the description renderer MR that follows.

Ref #1 Ref #6