RumbleX v3.26.0
FS-Access folder picker for Batch Download, offline-aware Channel Archive queue, wallet QR-modal selector entry, and a repo-hygiene fix that resyncs package.json with the shipping extension version.
What's new
Batch download — pick a folder once, save N files into it (Chrome / Edge)
- New Pick folder button in the BatchDownload bottom bar. Picked folder name appears as a green
→ <name>chip; Clear folder reverts to the default Downloads path. Picker is hidden on Firefox MV2 and on Chromium older than 86. - Download flow tries the File System Access path first (
fetch(directMp4) → Response.body.pipeTo(writableFile)). Any failure — permission revoked between sessions, partial write, network error, unsupported browser — falls back transparently to the existingchrome.runtime.sendMessage({action:'download'})path. Worst case = identical to v3.25 behaviour. - Permission is re-requested at the top of every batch via a user-gesture pre-flight so the prompt fires deterministically before parallel workers start.
- Folder handle persists across SW restarts in a dedicated IndexedDB database (
rx-fs-access/handles).
Channel archive queue — auto-pause while offline
- New setting
archiveQueuePauseOnOffline(default ON). Thechrome.alarmsarchive tick short-circuits whennavigator.onLine === falseso jobs aren't burned on guaranteed-fail network ops while you're on a flight, tethered to a flaky hotspot, or temporarily firewalled. - Jobs stay
pendingand resume on the next online tick. Flip the setting OFF to restore the prior always-tick behaviour.
Selector registry
- New
wallet.paymentModalentry anchored against/-htmx/wallet/payment/qr-modal. Conservative stable+fallback — no functional code uses it yet; the entry lands now so v3.27+ tip-jar work is a one-selector tweak away once a logged-in MHTML capture arrives. - Registry size 51 → 52. Selector regression harness 85 pass / 0 fail across 4 fixtures.
Repo hygiene
package.jsonversion bumped from a stale3.22.0(left behind by the v3.22 → v3.25 churn) back into sync with the shipping extension version.- CI release gate hardened: the selector regression harness now skips gracefully when
Sample Pages/is missing on GitHub-hosted runners (the fixtures are gitignored for privacy), and the workflow's Release step now creates the GitHub Release if it doesn't already exist instead of silently no-op'ing ongh release upload.
Install
Chrome / Edge / Brave (recommended path):
- Download
RumbleX-chrome.zipbelow and unzip it anywhere on your machine. - Navigate to
chrome://extensions, flip on Developer mode (top-right toggle). - Click Load unpacked, point at the unzipped folder.
Firefox:
- Download
RumbleX-firefox.zipbelow. - Navigate to
about:debugging#/runtime/this-firefox. - Click Load Temporary Add-on, point at the zip.
CRX self-host is blocked by Chromium 75+ regardless of signing key — chrome.runtime.install from a third-party origin always rejects with CRX_REQUIRED_PROOF_MISSING. The ZIP + Load-unpacked path is the only reliable third-party install today.
Integrity
Verify your download against SHA256SUMS.txt (attached). Pinned mux.js SHA-256 in extension/build.sh continues to gate the build process.
Notes
- Catalog parity: 207 → 209 across all four catalogs (
content.js _defaults,popup.js DEFAULTS,options.js DEFAULTS,options.js META). node --checkclean across all four JS files.- Selector harness
85 pass / 0 failacross the 4 baseline MHTML fixtures.