Releases: AetherAssembly/MindTab
MindTab v1.3.0
Feed sanitizer, malicious ad blocker, tone awareness, and flash learning; all in one.
Downloads
| File | Description |
|---|---|
MindTab-Extension.zip |
Install this; the extension only, ready to load into Firefox or Chrome |
MindTab.zip |
Full source code snapshot w/ Server provided by GitHub |
MindTab-Extension.zip
MD5: `c9dc7c5660b00f8d79dd007f4f17b829`
SHA256: `ff79eaf4ec947e9a18eac28e5ff76267322f36cd7a2817c1d8c9efb8c1ec64e3`MindTab.zip
MD5: `9fa439ea3ca633a314e34b9734e5378d`
SHA256: `7e65fde29503e9241603bbe376b1c685d3b94e8e3fd956c506adb6c8438d50df`To verify
On Linux/macOS: md5sum and sha256sum.
On Windows PowerShell: Get-FileHash with -Algorithm MD5 or -Algorithm SHA256.
How to install manually
-
Firefox:
about:debugging-> This Firefox -> Load Temporary Add-on -> pickmanifest.jsonfrom the extracted folder -
Chrome/Edge:
chrome://extensions-> Developer Mode -> Load Unpacked -> select the extracted folder
What's new
Fixed
- SRS data is no longer lost as card sets grow - flashcard storage moved from
chrome.storage.synctochrome.storage.local, with automatic migration for existing users (issue #11) - Cards with questions sharing a long prefix no longer silently overwrite each other's progress -
cardKey()now uses a full-string hash (issue #10) - Storage errors in SRS functions are now caught and logged instead of breaking the session silently (issue #12)
- Flashcard dialog now traps focus correctly - Tab cycles between Close, Reveal, and Skip; Esc closes the card (issue #13)
Added
- Keyboard navigation for flashcards: Space or Enter to reveal, 1 for "Got it", 2 to skip, with hints shown on the buttons (issue #13)
- Flashcard widget now respects the user's theme setting and switches to a light palette automatically (issue #16)
Changed
- Writing assistant collapse state is now remembered across page loads
DEFAULTSextracted to a single sharedconfig/defaults.js, removing the duplicated definitions inbackground.jsandpopup.js(issue #18)
Full Changelog: v1.2.1...v1.3.0
Contributing
Bug reports, filter selector updates, new flashcard decks, and improved translations are all welcome. See CONTRIBUTING.md for how to get started.
Built with ethics and simplicity by AetherAssembly
MindTab v1.2.1
MindTab v1.2.1
Feed sanitizer, malicious ad blocker, tone awareness, and flash learning; all in one.
Downloads
| File | Description |
|---|---|
MindTab-Extension.zip |
Install this; the extension only, ready to load into Firefox or Chrome |
MindTab.zip |
Full source code snapshot w/ Server provided by GitHub |
MindTab-Extension.zip
MD5: bbedba25815cefe0d1354bd5dc5b644a
SHA256: 6c2cb830c4ef931a74240b676bb450a58eb630cf07c1fde8a2637b5333ce6216MindTab.zip
MD5: 68df491a8aeffeb6677523c28234a342
SHA256: bd129d1f417f3b6b2194a8cf6a878f90314e944b7799d144f2c2f372b76be5b1To verify....
On Linux/macOS: md5sum and sha256sum.
On Windows PowerShell: Get-FileHash with -Algorithm MD5 or -Algorithm SHA256.
How to install manually
-
Firefox:
about:debugging→ This Firefox → Load Temporary Add-on → pickmanifest.jsonfrom the extracted folder -
Chrome/Edge:
chrome://extensions→ Developer Mode → Load Unpacked → select the extracted folder
What's new
Fixed
- Issue #14, added
aria-live="polite"(thanks @web3blind!)
Changed
- Updated Extenstion name in docs to match store listing
- Bump version to 1.2.1
Full Changelog: v1.2.0...v1.2.1
Contributing
Bug reports, filter selector updates, new flashcard decks, and improved translations are all welcome. See CONTRIBUTING.md for how to get started.
Built with ethics and simplicity by AetherAssembly
MindTab v1.2.0
MindTab v1.2.0
Feed sanitizer, malicious ad blocker, tone awareness, and flash learning; all in one.
Downloads
| File | Description |
|---|---|
MindTab-Extension.zip |
Install this; the extension only, ready to load into Firefox or Chrome |
MindTab.zip |
Full source code snapshot w/ Server provided by GitHub |
MindTab-Extension.zip
MD5: 4dc843422b7039054b8a7577260bf236
SHA256: f8f8951a7b9bd03b050e80014771ba336498af1f5f51e51d4fe28255111579f2MindTab.zip
MD5: a3dc61546099dbc8f1b28946ba6ebd99
SHA256: c6c740a960ef8c3ef21b16ad099462bebe7670bca2b0857b751a366c7901ff55To verify....
On Linux/macOS: md5sum and sha256sum.
On Windows PowerShell: Get-FileHash with -Algorithm MD5 or -Algorithm SHA256.
How to install manually
-
Firefox:
about:debugging→ This Firefox → Load Temporary Add-on → pickmanifest.jsonfrom the extracted folder -
Chrome/Edge:
chrome://extensions→ Developer Mode → Load Unpacked → select the extracted folder
What's new
Added
- Spaced repetition (SM-2); Flashcards now use a lightweight SM-2 algorithm. "Got it" increases a card's interval; "Skip" or timeout resets it. Due cards are shown first, and a badge on the overlay shows how many are currently due
- Flashcard export / import; Custom cards can be exported as JSON and re-imported or shared as a deck. Import merges into existing cards with schema validation
- Writing check controls; Settings now lets you toggle each Tone Translator check independently (passive voice, hedge words, long sentences, filler words, repeated words) and configure the long-sentence word threshold (15–50 words)
- Manual theme override; New System / Light / Dark control in Settings that overrides
prefers-color-scheme, persisted in sync storage - Custom filter list sources; Settings now exposes the three filter list URLs with add/remove UI; previously only configurable programmatically
- CodeQL security scanning; Automated JavaScript SAST on every PR and weekly via GitHub Actions
- Vitest test suite; 43 unit tests across tone analysis, filter list parser, and CORS origin validation
Changed
- Keyboard shortcuts;
Esccloses the Tone Translator panel;Alt+Shift+Ftriggers a flashcard on demand - ARIA improvements; Tone panel has
role="complementary"; flashcard overlay hasrole="dialog"+aria-modal="true"; flashcard buttons receive focus on card show - Grammar server cooldown; 750 ms post-analysis cooldown added to prevent hammering the grammar server during rapid typing
- Filter list integrity check; If a fetched update drops the total selector count by more than 30% vs the cached set, the update is rejected and the cache is preserved
- Branding; Credit updated to AetherAssembly across all UI pages
Security & bug fixes since v1.1.2
- Incomplete URL sanitization in
feedSanitizer.js; spoofed domains likefake-youtube.comcould previously match; replaced with exact +.endsWith()checks - Permissive CORS on the grammar proxy ; now validates origin strictly against
moz-extension://,chrome-extension://, andlocalhost - All
innerHTML/insertAdjacentHTMLcalls replaced with explicit DOM methods ; no dynamic HTML injection anywhere in the codebase
Contributing
Bug reports, filter selector updates, new flashcard decks, and translations are all welcome. See CONTRIBUTING.md for how to get started.
Built with ethics and simplicity by AetherAssembly