v1.0.10 — fix nav back-press + restore in-player scroll blocking#14
Merged
Conversation
Two regressions from v1.0.9: 1. Bottom-nav buttons (Subscriptions, You, sometimes Home) were still getting back-pressed away. v1.0.9 only narrowed the strict-class rule; the strong-id rule still fired on view ids that show up on the Shorts shelf inside those feeds (`reel_recycler`, `shorts_container`, `shorts_container_layout`) and on the outer YouTube playback layout (`watch_while_layout`, present on every regular video). Pruned STRONG_VIEW_ID_SUFFIXES to the six entries that contain `player`/`pager` and so only appear inside the full-screen Shorts player. 2. Manual scroll between Shorts wasn't blocked. v1.0.9 unsubscribed from typeWindowContentChanged to fix the frame-rate drop, but scrolling to the next Short inside the player is a content change, not a window-state change — so we never got a chance to dismiss anything past the first Short. Re-subscribed to typeWindowContentChanged and added a 5s sticky window after each dismissal. Outside sticky, content events are dropped immediately (no tree walk → no frame-rate hit during normal browsing). Inside sticky, content events run the existing 250ms-throttled tree walk, which catches the in-player scroll. Also dropped the weak "3+ shorts text + scroller" rule from the trigger — the "Your Shorts" section of the You tab has 3+ Shorts thumbnails inside a recycler, so the rule false-positived. The counters are still computed and surfaced in the debug card. Bumps versionCode 10 -> 11, versionName 1.0.9 -> 1.0.10. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes both v1.0.9 regressions reported on device.
1. Bottom-nav tabs were still being back-pressed away
v1.0.9 only narrowed the strict-class rule. The strong view-id rule was still firing on the Shorts shelf inside Subscriptions / You feeds (
reel_recycler,shorts_container,shorts_container_layout) and on the outer YouTube playback layout (watch_while_layout, present on every regular video). PrunedSTRONG_VIEW_ID_SUFFIXESto the six entries that containplayer/pagerand so only appear inside the full-screen Shorts player.Also dropped the weak
3+ shorts text + scrollertrigger — the "Your Shorts" section of the You tab has 3+ Shorts thumbnails inside a recycler and was false-positiving. Counters still computed and shown in the debug card.2. Scrolling to the next Short inside the player was unblocked
v1.0.9 unsubscribed from
typeWindowContentChangedto fix the v1.0.8 frame-rate drop. But moving from one Short to the next inside the player is a content change, not a window-state change — so we only ever dismissed the first one and the user could keep binging.Re-subscribed, plus added a 5-second sticky window after each dismissal. Outside sticky, content events are dropped immediately (no tree walk → frame rate during normal browsing stays where v1.0.9 put it). Inside sticky, the existing 250ms throttle applies and we keep walking, which catches the in-player scroll.
Bumps versionCode 10 → 11, versionName 1.0.9 → 1.0.10.
Test plan
🤖 Generated with Claude Code