Repository navigation
v3.6.4 - Theater Split Audit Pass
Theater Split (stickyVideo) hardening. One high-impact user-visible fix plus two defensive cleanups.
Fixed
- Wheel collision with YouTube volume control. The document-level
wheelhandler instickyVideowas registered with{ passive: true, capture: true }but never calledstopPropagation()on events it acted on, so YouTube's own wheel-to-volume listener on#movie_playerfired on the same event. Scrolling over the player to expand the split, or scrolling the open right panel past the top to collapse, was also adjusting the video volume at the same time.passive: trueonly restrictspreventDefault()—stopPropagation()is still legal and is now called in each action branch. Same treatment applied to the matchingtouchmovehandler. _enteringflag leak on early collapse._expandSplit()sets_entering = trueand arms a 500 ms fallback timer that callsonExpanded()if_enteringis still true._collapseSplit()did not reset the flag, so collapsing before the expand transition finished left the fallback timer to fire on an already-collapsed panel, re-running_triggerPlayerResize()andcheckAllButtons()on stale state.- Divider drag orphans on alt-tab. The divider drag listener attaches
mousemove/mouseuptowindowplus a full-viewportdragShieldoverlay. If the user alt-tabbed mid-drag or the pointer left the document before releasing the mouse button,mouseupcould miss, leaving the shield covering the page and both listeners attached until the next drag.onUpis now also fired onwindow.bluranddocument.mouseleaveso the drag cannot orphan.
Downloads
| File | Platform |
|---|---|
astra-deck-chrome-v3.6.4.crx |
Chrome / Edge / Brave |
astra-deck-chrome-v3.6.4.zip |
Chrome unpacked |
astra-deck-firefox-v3.6.4.xpi |
Firefox 128+ |
astra-deck-firefox-v3.6.4.zip |
Firefox unpacked / source |