feat(remote): companion remote playback bar, chapter skip, and Explore search#1524
Open
l3gitpanda wants to merge 7 commits into
Open
feat(remote): companion remote playback bar, chapter skip, and Explore search#1524l3gitpanda wants to merge 7 commits into
l3gitpanda wants to merge 7 commits into
Conversation
Adds previousChapter/nextChapter commands to the companion remote protocol (appended to the enum to keep the index-based wire format compatible) and a chapter row on the remote's Play tab. The host wires the commands to the existing chapter-seek logic in the video controls, which falls back to a small time seek when the media has no chapters. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J1sgLGxtM2B2xYfGRHTzHb
…r-sg2zzv Add skip chapter buttons to companion remote
Appends tabExplore/exploreSearch to the companion-remote protocol (index- serialized enum, append-only), wires them on the host to tab selection and a CatalogSearchScreen push, and adds an initialQuery to CatalogSearchScreen that searches immediately without opening the TV on-screen keyboard. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016oGGWGt2igPx8mn8k5dkJb
…y points The companion remote gets an always-visible transport bar (seek back, play/pause, seek forward) pinned below the tabs while the host player is active, so seeking no longer requires switching to the Play tab. The Play tab gains previous/next chapter buttons wired through new index-appended protocol commands to the video controls' existing chapter seek (which falls back to a small time seek without chapters). The Remote tab's navigation chips gain Explore, and the More tab gains an Explore card that sends the typed query as an exploreSearch command. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016oGGWGt2igPx8mn8k5dkJb
… Explore chip searches Testing feedback: keep the tab-navigation chips visible during playback instead of swapping them for the playback bar, flank the persistent bar with previous/next chapter, and make the Explore chip open the search sheet (switching the host to Explore) rather than only switching tabs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016oGGWGt2igPx8mn8k5dkJb
… callback Remote search commands now pop anything pushed over the main screen first — previously a library search ran invisibly beneath a still-open catalog search screen, and repeated Explore searches stacked screens. Play/pause gets an onPlayPause callback wired to the player: the simulated space bar only walks the focus tree, which the desktop player's HardwareKeyboard shortcut never sees. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016oGGWGt2igPx8mn8k5dkJb
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
Quality-of-life improvements to the companion remote (phone controlling a desktop/TV Plezy), plus two fixes found while testing them:
previousChapter/nextChapterprotocol commands wired to the video controls' existing chapter seek (falls back to a small time seek when the media has no chapters). Buttons live in the persistent bar and on the Play tab.tabExplore/exploreSearchcommands: an Explore chip in the remote's navigation (opens the search sheet and switches the host to Explore) and an Explore card on the More tab. The typed query opensCatalogSearchScreenon the host pre-filled via a newinitialQueryparam, using the same TV on-screen-keyboard suppression asSearchScreen.submitSearchQuery.HardwareKeyboardshortcut. It now has a realonPlayPausecallback (key simulation remains as app-level fallback).Protocol compatibility
RemoteCommandTypeis wire-serialized by index (append-only); the four new commands are appended at the end. Older hosts decode unknown indices to thepingfallback — a silent no-op, verified against an Apple TV running a current release build.Note on history: the branch includes a merge + revert pair from an earlier chapter-skip experiment on the fork; they cancel to a net-zero diff.
Screenshots
Testing
flutter analyzeclean,dart formatclean, fullflutter testsuite passing (new widget test coversCatalogSearchScreen.initialQuery)🤖 Generated with Claude Code
https://claude.ai/code/session_016oGGWGt2igPx8mn8k5dkJb