RES-Slim v0.3.5 — QA audit pass
Comprehensive QA audit pass. No new modules; existing ones get correctness fixes.
Fixed
High impact
disableSubredditStyles:ref=typo (should berel=) left half the selector dead, and inline<style title="applied_subreddit_stylesheet">blocks were never being matched at all. Module now reliably strips both external and inline subreddit CSS.infiniteScroll: appended posts bypassed RES's watcher system, soselectedEntry,commentHighlights,subredditBlacklist,showImages, andhovercould silently skip anything loaded past the first page. Now callsregisterPage()on each appended.thing.- Settings console keycode modal: focusing a keycode field and then closing the console without pressing a key left the window-level
keydownlistener armed — it would eat innocent keystrokes on the main page (and throw when querying the destroyed console). Fixed by resettingcaptureKeyon blur. - Settings console save path:
Options.stage.commit()was not wrapped intry/catch. A throwingonSaveSettingshook orModules.setEnabledfailure left the stage dirty while the UI flashed "All changes saved". Failures now surface via notification and the stage is preserved for retry.
Medium
absoluteTimestamps,userProfileSearch,restoreSubCounts: addedmodule.include = ['r2']so they stop running on the extension's own options page.fixProcessingImg: guarded the tree walker against a detached comment body after the ajax resolves (could happen across infinite-scroll nav or DOM churn); alsoCSS.escape's the image-id interpolation.markAllRead: if no modhash can be found, fail loudly withNo modhash ✗instead of firing a POST that Reddit silently 403s while the button cheerfully reports "All marked read".restoreSubCounts: replacedbox.innerHTML = parts.join('<br>')with DOM APIs.
Low
fixImageLinks: MutationObserver hoisted to module scope so it isn't orphaned.
Install (Chrome / Edge / Brave)
- Download
RES-Slim-v0.3.5-chrome.zip. - Extract anywhere.
- Open
chrome://extensions, enable Developer mode, click Load unpacked, select the extracted folder.
Verification
yarn oncecleanyarn eslint lib/cleannpx flow check: 1 pre-existing error onscrollIntoView({ block: 'nearest' })(flow-bin 0.84dom.js.flowis out of date —'nearest'is spec-valid)