Skip to content

Imagus Reborn MD v2026.8.20.2 (Chrome + Firefox)

Choose a tag to compare

@Sucotasch Sucotasch released this 28 Aug 10:38
· 24 commits to mv3-version since this release

Imagus Reborn MD v2026.8.20.2

Maintenance release: fixes from the 2026-08-27 external audit and the post-2d0c828 review, applied to both Chrome and Firefox builds. No new features, no known regressions (verified in Chrome).

  • Imagus-Reborn-MD-unpacked-Chrome-v2026.8.2.zip — Chrome MV3 (src-mv3-overlay/): load unpacked, Developer Mode required.
  • Imagus-Reborn-MD-unpacked-Firefox-v2026.8.2.zip — Firefox MV3 136+ (src-mv3-overlay-firefox/): �bout:debugging -> Load Temporary Add-on, then grant the optional userScripts permission when asked.

Fixed

  • Gallery Save (BUG-07): the cell selector looked for [data-mdsrc] while cells carry data-md-src — the proven-URL map was always empty and Save fell back to unvalidated album URLs. Selector corrected, "what you see is what you save" restored.
  • Validation OOM guard (BUG-02):
    eadBodyCapped no longer buffers the whole response via �lob() when Content-Length is present — always streams through a capped reader loop, so a lying/chunked server cannot balloon the service worker's memory.
  • HEAD size filter (BUG-03): malformed Content-Length (NaN) no longer bypasses the min-size filter; falls back to the GET path.
  • Settings robustness (BUG-04): excludedExtensions type-guarded against corrupted storage — a non-string value can no longer crash the filter queue.
  • Referer-retry accounting (BUG-10): two parallel retries of the same URL no longer leave �ctiveRefererRetries stuck, which could keep the session alive forever.
  • Gallery grid observer (BUG-12): the per-cell IntersectionObserver is now disconnected when the gallery hides or re-decorates — no detached-cell leaks.
  • Page-fetch timeout (BUG-14): loadViaPageFetch / _downloadWithReferer now use AbortController + 30s timeout.
  • Hotkey hygiene (BUG-17): synthetic (page-injected) key events can no longer trigger mass download (isTrusted guard).
  • Filename hardening (BUG-19): sanitizeFilename now rejects Windows reserved names (CON/PRN/AUX/NUL/COM1-9/LPT1-9), strips trailing dots/spaces and enforces the 255-char limit.
  • Settings export (BUG-23): backup/restore now includes grantUrls, sieve, sieveUpdateLast, sieveRepository — previously lost on export.
  • Standalone Gallery Save session (post-2d0c828 P1): honest inish()/slot accounting — a cold resolve (select -> Save immediately) no longer kills its own session and cancels every item.

Verification

ode tools/md-unit-smoke.mjs — PASS (dedup contract, both trees)

ode tools/md-marker-check.mjs — PASS (5/5 marker sections in sync, both trees)

ode --check on all changed files — OK

  • Manual Chrome smoke after the fixes — no errors, no lost functionality