Историјат издања додатка ffprofanity - 6 издања
ffprofanity од lggcs
Историјат издања додатка ffprofanity - 6 издања
Будите опрезни са старим издањима! Ова издања су приказана у сврхе тестирања и референце.Увек би требало да користите најновије издање додатка.
Најновије издање
Издање 1.4.0
Објављено 29. sep. 2026. - 152,84 KBРади са firefox 142.0 и касније, android 142.0 и каснијеffprofanity 1.4.0 (2026-09-28)
Features
- Auto drift correction: watches the site's own subtitle track and
self-syncs as the movie plays (native-track cuechange pairing,
offset + rate model, auto anchors capped/validated; opt-out in
Options → Timing Sync)
- Manual and automatic sync are now mutually exclusive: moving the
offset slider (popup, Options, or Alt+←/→) immediately disables
auto-sync with an on-page notice; re-enabling auto takes the slider
back to 0 on lock-on. No double-correction in either direction.
- "Sync now" (popup / Alt+S) now reports its result in the popup:
correction applied, anchors needed, or anchor rejected.
- Firefox Android: popup opens as a tab there — tab-aware targeting,
saves are verified (failed writes now say "Save failed — try again"),
toggle falls back to direct delivery if the background is asleep.
- Popup's Audio Sync mode line updates live when settings change
elsewhere (no reopen needed); fixed settings form init order.
Detection
- Wordlist additions from a real-movie audit (Quantum Supremacy 2025,
1116 cues): shitter/shitters, bloody, frickin/frickin'/fricking,
friggin/friggin'/frigging. No obfuscated forms missed.
Code health
- Fixed all 230 noUncheckedIndexedAccess type errors with real guards;
no tsconfig weakening, no!/as any, no behavior change.
XPI: artifacts/ffprofanity-1.4.0.xpiИзворни код је објављен под MIT дозвола
Старија издања
Издање 1.3.0
Објављено 17. avg. 2026. - 146,39 KBРади са firefox 142.0 и касније, android 142.0 и касније- Pre-compiled phrase and obfuscation regexes in ProfanityDetector constructor
(eliminates per-call RegExp construction in detect()) - Pre-compiled single SUBSTITUTION_REGEX at module level for normalizeText()
- Added O(1) cue-by-ID Map in CueIndex (replaces per-frame O(n) Array.find)
- Added binary search to CueIndex.getNextCues() (O(log n) vs O(n))
- Added CueIndex.getProfanityCueCount(), replaced cues.filter() at hot paths
- Skip RAF loop work when video is paused (keep loop alive for resume)
- Replace unconditional cues.sort() with isSorted check (merge-aware)
- Removed dead normalizedText variable in detect()
- Removed redundant inline sort in PlutoTV accumulation path
- Type-annotate regex match variables as RegExpExecArray | null
- Re-export ProfanityWindow type for content script import
- Add tabId guards in background message handler
- Type-annotate DNR rules as browser.declarativeNetRequest.Rule[]
- Cast TextTrackCue to VTTCue for .text property access
- Cast nativeOpen.apply() through unknown to XMLHttpRequest
- Type-annotate .text() callback param in fandango
- Cast querySelector('track') to HTMLTrackElement
- Wrap querySelectorAll results in Array.from() in all page-scripts
- 191 tests across 5 test files (up from 187)
- 4 new tests for word detection (standalone, split, hyphenated, compound)
Изворни код је објављен под MIT дозвола
- Pre-compiled phrase and obfuscation regexes in ProfanityDetector constructor
Издање 1.2.0
Објављено 29. jun 2026. - 145,92 KBРади са firefox 142.0 и касније, android 142.0 и каснијеReligious compound profanity support and false positive fixes:
- Add explicit combinations (blocked at all levels)
- Update phrase regex to match hyphenated variants
- Whitelist "damnable" at Low sensitivity (theological term)
- Remove "naked" from wordlist (not profanity)
- Verified zero false positives on two religious sermon SRTs
Fix disable button: clear overlay, unmute, persist state, reach all frames
Fix pre-existing TypeScript errors: undeclared vars, dead code, missing Cue fieldsИзворни код је објављен под MIT дозвола
Издање 1.1.1
Објављено 6. maj 2026. - 145,78 KBРади са firefox 142.0 и касније, android 142.0 и касније- Fix: custom wordlist — preserve default words when adding custom entries, re-detect profanity when wordlist changes, implement - prefix to remove words
- Fix: unmute handler regression — corrects unmute logic that broke after prior changes
- Fix: user subtitle unload — properly handle unloading user-uploaded subtitles
- Security hardening — input validation, SSRF fix, XSS defense-in-depth, mute race condition fix
- Improve silly substitutions — family-friendly substitution updates
- Monkey fast path cleanup — code cleanup for monkey emoji substitution path
- Dependency upgrades — esbuild 0.28.0, vite 8.0.10, vitest 4.1.5, postcss ≥8.5.10 (resolves 5 moderate vulnerabilities)
Изворни код је објављен под MIT дозвола
- Fix: custom wordlist — preserve default words when adding custom entries, re-detect profanity when wordlist changes, implement - prefix to remove words
Издање 1.1.0
Објављено 5. maj 2026. - 140,67 KBРади са firefox 142.0 и касније, android 142.0 и касније- 2embed server support — Video.js page script + extractor for 2embed streaming servers
- Shared module extraction — refactored all 7 page scripts to use shared page-script-helpers, network-interception, hls-parser, and videojs-helpers modules
- Popup upload button fix — upload button now visible when no subtitles are auto-detected, allowing users to provide their own.
Изворни код је објављен под MIT дозвола
- 2embed server support — Video.js page script + extractor for 2embed streaming servers
Издање 1.0.0
Објављено 9. apr. 2026. - 121,7 KBРади са firefox 142.0 и касније, android 142.0 и каснијеИзворни код је објављен под MIT дозвола