Netflix & Instagram Hover Reliability Fix
Netflix popup speed dial now reflects the correct video — The popup's speed dial and slider always show the speed of the main video you're watching. Previously a small autoplaying preview on the page could briefly hijack the readout — showing ~1.25× while your video kept playing at the speed you actually set.
Fixed floating overlay flickering on Instagram and other feed sites — The speed overlay no longer flickers away when you move your mouse toward it on a full-size reel. Hover behavior across stacked feeds is now reliable, with no duplicate overlays when scrolling from one reel to the next.
Squarespace & Page Builder Compatibility Fix
Settings Tab, Per-Site Memory & Platform Compatibility
Settings tab — New dedicated tab for audio pitch, auto-start speed, per-site memory, and reset controls. Popup widened to 380px to comfortably fit all four tabs.
Remember Speed Per Site — Each website can optionally remember the last speed you used there. Enable in the new Settings tab.
Mouse-Wheel Speed Control — Hover the floating overlay and scroll to adjust playback speed without opening the popup.
Preserve Audio Pitch — Keeps audio pitch natural at any playback speed. Toggle off in Settings for the chipmunk easter egg.
Show/Hide Speed Overlay hotkey — Press V to toggle the floating controller on/off on any page.
Quick-exclude button — Add the current site to your exclusion list with one tap from the Exclusions tab — no typing required.
Reset All Settings — Restore every setting to its default via a two-step confirmation in the Settings tab.
Excluded-site indicator — A red OFF badge appears on the toolbar icon and a banner inside the popup whenever Velocity is paused on the current site.
Security camera footage review — Speed through hours of Google Home and Wyze recordings directly in the browser. Neither platform has native playback speed control — Velocity fills that gap entirely.
Fixed X.com (Twitter) speed snap-back — Videos no longer revert to a lower speed after rapid speed adjustments.
Fixed stale speed dial on multi-frame pages — Popup now shows the correct speed even when pages contain ad iframes or embedded frames.
Fixed SPA speed reset on new video — YouTube and other single-page apps now correctly reset speed when navigating to a new video.
Fixed TikTok feed overlay after scrolling — Speed overlay now appears on every clip, not just the first one after a scroll.
Fixed shortcuts firing during modifier combos — Keyboard shortcuts (S, D, etc.) no longer accidentally trigger during Ctrl/Cmd/Alt combinations or IME input.
Fixed per-site overlay toggle reset — The per-site show/hide preference now persists across page reloads.
Fixed silent abort in sandboxed iframes — Resolved an error that was silently preventing speed control inside certain embedded iframe players.
Outfit font bundled locally — No external request to Google Fonts on popup open. Faster load, works fully offline.
Popup widened 340 → 380px — Four tabs now fit comfortably without crowding.
Shortcut binder restricted to printable characters — Prevents accidental binding to modifier or function keys.
Auto-Start Speed, Security & Discoverability
Popup UI compacted — All settings now fit on screen without scrolling, within Chrome's 600px popup height limit.
Extension renamed — Now listed as "Velocity - Universal Video Speed Controller" on the Chrome Web Store for better discoverability.
Auto-Start Speed, Security Hardening & Polish
Auto-start Speed — Set a default speed applied to every new video. Configure it in the Control tab — videos on YouTube, Instagram, TikTok, and everywhere else now open at your preferred speed automatically.
Hardened YouTube player sync script — Protected against page scripts that could dispatch speed-change events with unclamped values.
Guarded internal speed setter against non-numeric input — Prevents unexpected errors from malformed or externally injected speed values.
Popup control panel redesigned — All settings now fit comfortably within the visible area — no more scrolling to reach bottom settings.
Setting description text improved — Slightly larger and better spaced for readability.
Stability & Platform Compatibility Patch
Google Home / WebRTC camera streams no longer freeze Chrome — Live streams are released immediately after detection. A loop guard prevents re-injection, and the speed overlay is suppressed on non-seekable streams.
Instagram and TikTok +/− buttons no longer pause video — Fixed a stacking-context and z-index conflict. The toolbar now escapes to a fixed layer above social media UI chrome, so pointer events reach the correct target.
TikTok volume slider no longer blocked by hidden toolbar — Toolbar sets pointer-events: none when hidden, so it no longer captures clicks meant for underlying controls.
TikTok volume slider no longer overlapped by visible toolbar — Toolbar position is offset downward on TikTok so it doesn't cover the native volume slider when visible.
Speed overlay no longer appears on YouTube feed hover-preview thumbnails — Overlay is suppressed on video elements smaller than 210px, preventing false activations on thumbnail previews in feeds.
Site exclusions now take effect immediately without page reload — Exclusion changes are applied in real time; no reload required after adding or removing a domain.
Exclusion domain matching tightened — Matching is now exact hostname and subdomain only, preventing accidental exclusions from partial-string collisions.
Fixed memory leak with detached video elements in shadow roots — Observers and handlers are properly cleaned up when video elements are removed from the DOM inside shadow roots.
Performance & Social Media Compatibility Update
Fixed Instagram, TikTok, and Reddit hover overlay — The floating speed controller now appears instantly on hover, even when transparent click-interception overlay divs intercept pointer events before reaching the player container. The primary blocker preventing smooth operation on social media video feeds.
Immediate hide on mouse exit — Speed controller now hides instantly when your cursor leaves the video player, rather than waiting for the 3-second idle timeout. Uses bounding-box overlap detection to distinguish between "cursor moved to a sibling overlay still covering the video" and "actually left the player area."
Throttled mousemove events — Reduced clearTimeout/setTimeout churn from firing on every pixel to ~20fps (50ms gate), eliminating unnecessary timer resets on high-movement scenarios.
Throttled global mouseover capture handler — The window-level mouseover listener now throttles at ~20Hz instead of firing on every child element in the DOM. Reduces DOM traversal frequency on complex layouts without losing responsiveness.
Optimized event-driven capture hooks — Improved play, loadstart, and mouseover handlers for lazy-loaded and infinite-scroll feeds (Instagram, TikTok, YouTube Shorts).
Launch — Universal Video Speed Control for Chrome
Shadow DOM traversal — Recursively traverses document boundaries and shadow roots to capture deep-nested players inside SPAs and web components, where standard extensions fail.
Dynamic speed control (0.1x – 16.0x) — Full playback rate range with a live slider, one-click presets, and keyboard hotkeys. Slider range auto-scales when speed exceeds 4.0x.
Single-key shortcut rebinding — Remap any hotkey to a single key of your choice. Smart context detection automatically disables shortcuts inside text inputs and search fields.
Frosted-glass hover toolbar — Hover any video player to reveal an overlay toolbar with speed controls, skip, and rewind. Auto-fades after 3 seconds of inactivity.
YouTube native API synchronization — Bridge events sync Velocity's speed changes directly to YouTube's internal player UI, keeping gear menus and timestamps accurate.
Domain exclusion list — Block-list specific domains from Velocity's control, with fast local matching and no remote lookups.
HUD toast overlay — On-screen speed indicator flashes briefly on every adjustment, matching the design of the extension popup dashboard.
Manifest V3 / zero background footprint — Service worker only boots on demand and fully unloads when idle. Zero persistent processes, zero telemetry, zero network requests.