Releases: MPSMeridiaN/Netflix-Auto-Skip
Releases Β· MPSMeridiaN/Netflix-Auto-Skip
Release list
Netflix Auto Skip v1.1.3
Added
Changed
Fixed
- Playback Startup Recovery: Detects watch-route transitions that bypass the History API and waits for player visibility/class changes during startup, so Skip Intro is handled without reopening the extension.
- Bootstrap Startup Race: Retries the initial engine start briefly when Vivaldi restores a Netflix tab before the extension runtime is ready.
- Player Re-render Recovery: Rebinds playback observers and media listeners when Netflix replaces the player root during autoplay or episode transitions.
Netflix Auto Skip v1.1.2
Added
Changed
- Start-of-Episode Reliability: Revalidated explicit Netflix intro/recap selectors before generic text matching, even when a reused video element briefly reports the previous episode's progress.
- DOM Re-render Recovery: Reacquired the current action button after local statistics persistence so Netflix can replace the overlay without losing the skip.
Fixed
- Skip Intro at Episode Start: Fixed visible Skip Intro controls being ignored during episode transitions and at the exact start of playback.
- Stale Button Race: Added a route-safe retry when Netflix re-renders a Skip Intro control while the pre-click local counter write is pending.
Netflix Auto Skip v1.1.1
Changed
- Production-Code QA: Replaced copied-logic tests with DOM-fixture tests that call the production playback engine.
- Lifecycle Ownership: Added singleton instance replacement, history-wrapper restoration, listener cleanup, media hook cleanup, and owned timer/frame teardown.
- Playback Scoping: Restricted execution to exact Netflix watch routes with a recognized player-root video; catalog and unrecognized preview videos are ignored.
- Episode Identity: Switched one-shot state to canonical watch-route identity so transient title DOM changes do not reset episode state.
- Storage Contract: Centralized settings/statistics behavior, serialized local counter increments, and added migration for settings written during sync fallback.
- Release Verification: Added static release audits and deterministic ZIP metadata/content verification.
- Release Automation: Added tag-driven CI/release workflows, synchronized version preparation, and changelog-backed GitHub release notes.
Fixed
- Prevented history
pushState/replaceStatewrapper stacking after repeated injection or extension reload. - Prevented stale in-flight actions from clicking DOM belonging to a later SPA route.
- Replaced absolute privacy wording with behavior-based network, storage, and data-handling disclosures.
v1.1.0 β Production Hardening & Resilient Selectors
Production Hardening & Product Polish
π‘οΈ False-Positive Protection & Targeted Selectors
- Control Bar Guard: Excludes standard bottom playback control buttons (
control-next,control-play-pause,control-fullscreen-enter,.watch-video--bottom-controls-container). - Episode Picker & Menu Guard: Excludes episode selector drawers (
.episode-list,[data-uia*="episodes-"]), audio/subtitle menus, and non-skip postplay buttons ("Watch Credits", "Back to Browse"). - Targeted Selectors: Replaced overly broad postplay catch-all queries with verified explicit button targets.
β‘ Performance & Route Scoping
- Route-Scoped DOM Monitoring: Scans and MutationObserver callbacks strictly activate on watch pages (
/watch/*) or when video elements are mounted, dropping idle CPU overhead to near zero during catalog browsing. - Fast-Bail Visibility: Prevents redundant
getComputedStylelayout reflows on high-frequency DOM mutations.
π State Machine & Cooldowns
- Episode Lifecycle: Single-execution lock per episode key (
Watch ID+ title) for Intro, Recap, and Next Episode. - Multi-Prompt Cooldown: "Still Watching" pause prompts use a 4-second cooldown instead of a permanent episode lock, ensuring recurring binge session prompts are automatically dismissed.
π Privacy & Clean Storage
- Settings: Synchronized across user browser profiles via
chrome.storage.syncwith local fallback. - Stats: Maintained strictly in
chrome.storage.localto prevent sync quota exhaustion and network thrashing. - 100% Offline: 0 telemetry, 0 analytics, 0 external network requests.
π¦ Build & Release
- Added reproducible build packaging script (
scripts/build-zip.py). - Pre-packaged release archive:
netflix-auto-skip-v1.1.0.zip.
v1.0.7 β Instant Next Episode Countdown Bypass
π¬ Netflix Auto Skip v1.0.7
β‘ Critical Improvements in v1.0.7
- Instant Next Episode Countdown Bypass: Expanded post-play & seamless draining button selectors (
[data-uia*="seamless"],[data-uia*="postplay"]) and simplified progress validation so the end-of-episode countdown is clicked instantly at 0ms. - Full Compatibility with Scrubbing & Seeking: Next Episode triggers seamlessly whether watching naturally or seeking to test the end of the episode.
π¦ Direct Installation
- Download
netflix-auto-skip-v1.0.7.zipbelow. - Extract the archive into a folder.
- Open
vivaldi://extensions(orchrome://extensions,edge://extensions,brave://extensions,opera://extensions). - Turn on Developer mode and click Load unpacked.
- Select the extracted folder.
- Open Netflix and enjoy seamless streaming!
v1.0.6 β Instant Skip Intro Fix
π¬ Netflix Auto Skip v1.0.6
π‘οΈ Critical Fixes in v1.0.6
- Instant Skip Intro & Recap Execution: Fixed button click suppression caused by premature element disabling before native click execution, restoring instant intro and recap skipping.
- Cross-Instance Zombie Killer: Dispatched
nas:terminate_instanceevent to automatically shut down any previous content script instances running in the tab.
π¦ Direct Installation
- Download
netflix-auto-skip-v1.0.6.zipbelow. - Extract the archive into a folder.
- Open
vivaldi://extensions(orchrome://extensions,edge://extensions,brave://extensions,opera://extensions). - Turn on Developer mode and click Load unpacked.
- Select the extracted folder.
- Open Netflix and enjoy seamless streaming!
v1.0.5 β Atomic Single-Click Engine
π¬ Netflix Auto Skip v1.0.5
π‘οΈ Root-Cause Fixes in v1.0.5
- Atomic Single-Click Dispatch: Replaced duplicate event firing (
PointerEvent+MouseEvent+el.click()) with a single, atomic W3Cel.click()and immediate target pointer neutralization (disabled=true,pointerEvents='none'). This resolves the exact root cause where Netflix's React playlist controller received two click events in the same tick and skipped 2 episodes (e.g. 475 β 477). - Global Action Mutex: Added
isActionInProgresslock preventing all concurrent or trailing observer/interval scans from triggering while an episode transition is in progress. - 60-Second Hard Lockout: Extended the next-episode cooldown to 60 seconds to ensure strict single-episode progression.
π¦ Direct Installation
- Download
netflix-auto-skip-v1.0.5.zipbelow. - Extract the archive into a folder.
- Open
vivaldi://extensions(orchrome://extensions,edge://extensions,brave://extensions,opera://extensions). - Turn on Developer mode and click Load unpacked.
- Select the extracted folder.
- Open Netflix and enjoy seamless streaming!
v1.0.4 β Start-Clock Confirmation & Context Cleanup
π¬ Netflix Auto Skip v1.0.4
π‘οΈ Critical Fixes in v1.0.4
- Start-Clock Confirmation Guard: Next Episode skip is now strictly locked until
video.currentTime < 60shas been observed for the new episode, completely eliminating previous episode residual video time (e.g. 23:45 / 24:00) causing double skips (e.g. skipping 475 β 476 β 477). - 30-Second Hard Next-Episode Cooldown: Enforced an absolute 30-second lockout on next-episode actions to prevent rapid chaining.
- Context Invalidation Auto-Cleanup: Added
isContextAlive()guards and automatic self-destruction of observers and intervals when the extension is reloaded.
π¦ Direct Installation
- Download
netflix-auto-skip-v1.0.4.zipbelow. - Extract the archive into a folder.
- Open
vivaldi://extensions(orchrome://extensions,edge://extensions,brave://extensions,opera://extensions). - Turn on Developer mode and click Load unpacked.
- Select the extracted folder.
- Open Netflix and enjoy seamless streaming!
v1.0.3 β Episode State Machine & Race-Condition Fixes
π¬ Netflix Auto Skip v1.0.3
π‘οΈ Race Condition & Episode State Machine Fixes
- Episode Lifecycle State Machine: Integrated URL-based episode tracking (
/watch/<id>) that locks each action (Intro, Recap, Next Episode) to at most one execution per episode, preventing duplicate triggers. - Eliminated Double-Skip on Native Autoplay: Added a 15-second minimum playback lockout on episode transitions and intercepted HTML5 History navigation (
pushState,replaceState,popstate), ensuring that lingering post-play DOM elements from previous episodes are completely ignored. - Manual Navigation & Scrubbing Resilience: Handled user manual seeks, scrubber changes, and episode list switching gracefully without triggering false skips.
π¦ Direct Installation
- Download
netflix-auto-skip-v1.0.3.zipbelow. - Extract the archive into a folder.
- Open
vivaldi://extensions(orchrome://extensions,edge://extensions,brave://extensions,opera://extensions). - Turn on Developer mode and click Load unpacked.
- Select the extracted folder.
- Open Netflix and enjoy seamless streaming!
v1.0.2 β Dual-Storage Persistence & Changelog
π¬ Netflix Auto Skip v1.0.2
π οΈ Fixes & Improvements in v1.0.2
- Pre-Navigation Stats Persistence: Reordered execution sequence so skip statistics are stored before button click dispatch, preventing data write aborts caused by Netflix's immediate URL navigation on next episode / skip.
- Dual Storage Synchronization: Stats are now written concurrently to both
chrome.storage.localandchrome.storage.syncwith multi-area storage change listeners for 100% reliable counter updates. - Clean Repository Metadata: Removed redundant store metadata and replaced all placeholder clone URLs with the official GitHub repository link.
- Version & Changelog Toolchain: Standardized semantic versioning in
package.json,manifest.json, andCHANGELOG.md.
π¦ Direct Installation
- Download
netflix-auto-skip-v1.0.2.zipbelow. - Extract the archive into a folder.
- Open
vivaldi://extensions(orchrome://extensions,edge://extensions,brave://extensions,opera://extensions). - Turn on Developer mode and click Load unpacked.
- Select the extracted folder.
- Open Netflix and enjoy seamless streaming!