TTV AB - Twitch.tv용 가볍고 강력한 광고 차단기의 버전 기록 - 4개 버전
TTV AB - Twitch.tv용 가볍고 강력한 광고 차단기 제작자: GosuDRM
TTV AB - Twitch.tv용 가볍고 강력한 광고 차단기의 버전 기록 - 4개 버전
이전 버전의 사용에 주의하십시오! 이 버전들은 테스트 및 참조 용도로만 표시되는 것입니다.항상 최신 버전의 부가 기능을 사용해야 합니다.
최신 버전
버전 4.2.5
2026년 3월 11일에 출시 - 269.46 KBfirefox 142.0 이상에서 작동[4.2.5] - 2026-03-11
Fixed
Improved worker stability to prevent crash/restart loops caused by malformed or unusual frontpage, home, and outstream worker contexts.
Synced worker runtime state immediately after creation or restart, including toggle state, blocked-ad counts, active ad channel, and pinned backup player state.
Prevented intentionally evicted workers from being misidentified as crashes and restarted unnecessarily.
Restored paused-player recovery so reloads are no longer skipped just because Twitch reports the player as paused.
Added channel-aware ad-end handling so stale ad-end events are rejected correctly.
Improved native-restore cleanup when ad blocking is disabled during an active ad cycle.
Hardened PlaybackAccessToken parsing for nested, batched, and array GraphQL responses while preserving diagnostics for unexpected response shapes.
Moved worker backup token requests through the page fetch context for more reliable PlaybackAccessToken responses.
Improved backup-player switching so usable backup selections trigger guarded reloads and recover from Twitch's static ad shell more reliably.
Added a direct post-ad recovery reload path to reduce frozen or visually stale playback after ads end.
Tightened fallback candidate selection to reduce dead-end recovery churn and favor more reliable recovery paths.
Removed duplicate toggle rebroadcast paths and improved toggle ordering to keep runtime state changes consistent.
Prevented duplicate startup restores and repeated backup-selection events from rebroadcasting unchanged state.
Hardened storage read/write failure handling for toggles, counters, popup statistics, and achievements.
Improved counter and stats retry behavior so failed writes recover from fresh storage state instead of dropping updates or looping indefinitely.
Normalized malformed stats, counters, per-channel totals, chart data, and achievement data before rendering or saving.
Rejected NaN and other non-finite counter values from runtime and popup state updates.
Added stronger build-time validation for worker helper injection, helper dependencies, removed-code regressions, and metadata parity.
Learned native player-type state from token responses instead of request bodies to avoid incorrect state overwrites.
Hardened page-side message validation so only trusted same-window messages with valid payloads can mutate runtime state.
Removed remaining cleanup residue from the old reload-after-ads feature.
Improved popup safety by enforcing opener-safe external links and avoiding unsafe dynamic HTML rendering.
Hardened popup recovery for malformed persisted language, counters, channels, charts, and achievement data.
Improved hidden-tab crash recovery to avoid duplicate refresh triggers and provide a fallback refresh path.
Prevented wrong-route ad-blocked rescans from triggering follow-up cleanup outside the active channel context.MIT 라이선스에 따라 릴리스된 소스 코드
이전 버전
버전 4.2.4
2026년 3월 10일에 출시 - 288.79 KBfirefox 142.0 이상에서 작동[4.2.4] - 2026-03-10
Changed
Display Ad Detection Tightening
Refined stream-display and picture-in-picture shell detection so DOM-side cleanup now requires stronger visible ad signals near the main player before counting or collapsing anything.
Ad Label Gating
Visible Ad labels near the player no longer count on their own. DOM-side display-ad cleanup now also requires a matching shell, PIP, or layout-state signal.
Explicit vs Inferred Display Shell Handling
DOM-side stream-display cleanup now separates explicit ad evidence from inferred shell geometry. Explicit player-ad nodes or promo CTAs can count as blocked ads, while geometry-only shell inference is limited to silent layout cleanup.
Player Surface Safety
Limited display-ad cleanup to explicit ad nodes and layout reset paths, reducing cases where broad overlay removal could blank the video surface.
Offline Page Ad Handling
Added dedicated offline channel-page promo ad detection so non-live “watch after this break” cards can be hidden and counted without relying on live player ad flow.
Fixed
Reduced false-positive Ads Blocked counts from leftover layout classes, ordinary UI labels, and geometry-only shell inference.
Fixed black screen with audio caused by overly broad display-ad cleanup.
Ignored stale cross-channel ad events so cleanup is not applied to the wrong tab.
Fixed warning logs using console.info instead of console.warn.
Fixed backup cache structure, sync, and refresh issues that could cause data loss, unnecessary refetches, or skipped backup recovery paths.
Fixed minify-map omissions and name collisions affecting internal functions.
Fixed tab visibility auto-resume for unmuted streams.
Fixed parser bounds checks, null textContent popup errors, and worker blob URL revocation timing.
Fixed popup stats, achievement progress, next-achievement hints, and weekly average resets on language change.
Fixed localStorage/storage hook ordering and request-state source validation.
Fixed worker header updates being dropped because batched messages did not match the worker handler format.
Fixed fallback stream sorting and throttled stale stream liveness checks to reduce extra requests.
Fixed cross-tab counter/stat races with debounced delta-based flushing and removed related false health-check alarms.
Fixed toggle-state propagation when popup messaging failed.MIT 라이선스에 따라 릴리스된 소스 코드
버전 4.2.3
2026년 3월 9일에 출시 - 280.23 KBfirefox 142.0 이상에서 작동[4.2.2] - 2026-03-09
Changed
Stream Mapping Refresh
Master playlist refreshes now rebuild StreamInfosByUrl, resolution lists, usher params, and related backup caches after every successful usher fetch. This keeps backup selection aligned with Twitch’s latest rotated playlist URLs instead of relying on stale stream metadata.
Relative Variant URL Mapping
Stream metadata now stores both raw and resolved variant URLs from master playlists, improving compatibility with Twitch manifests that return relative playlist paths.
Fallback Resolution Recovery
Ad processing now falls back to the best known resolution entry when the current media playlist URL is missing from the active stream map, instead of immediately giving up on backup selection.
GraphQL Hash Sync
The main-page fetch hook now extracts PlaybackAccessToken persisted-query hashes from both fetch(Request) and fetch(url, opts) traffic, keeping backup token requests synchronized with Twitch hash rotations across both request styles.
Forced Native Token Alignment
Native page PlaybackAccessToken requests are now rewritten to the configured forced player type and matching platform, keeping the main player on the intended recovery path instead of falling back to Twitch’s default token flow during ad handling.
Worker URL Compatibility
Worker interception now normalizes relative worker URLs and URL objects before Twitch-origin checks and injected worker bootstrap loading.
Conservative Playlist Stripping
Media playlist stripping now relies on explicit ad metadata and known ad-segment URL patterns instead of treating broad classes of non-live segments as ads. This reduces false-positive stripping on current Twitch playlists.
Explicit Ad Marker Detection
Ad detection now requires concrete Twitch ad markers instead of treating generic stitched text as an ad signal, reducing false-positive recovery and refresh loops during normal playback.
Segment-Level Ad Detection
Recovery now also detects ad playlists from known ad segment URLs, restoring effective ad blocking for playlists that no longer expose strong top-level ad markers.
Fallback Ad Validation Alignment
Fallback selection now uses the same explicit metadata and segment-level ad checks as playlist stripping, preventing ad-bearing backup playlists from being treated as clean candidates.
Adaptive Backup Selection
Backup recovery now tracks the last native PlaybackAccessToken player type Twitch used and prioritizes that player type first during ad recovery, reducing wasted retries before a usable backup path is found.
Ad-Cycle Backup Pinning
Once a backup player type is selected for an active ad cycle, that choice now stays pinned across worker restarts so recovery does not restart from a cold state on every reload.
Duplicate Recovery Reload Suppression
Player reload requests are now globally debounced and rate-limited during ad recovery, reducing repeated reload loops within the same ad window.MIT 라이선스에 따라 릴리스된 소스 코드