fix(control): tab defaults, voice lifecycle and recording controls - #522
Merged
Merged
Conversation
|
Deployment failed for project frontend-templates with the following error: Learn More: https://vercel.com/placeos?upgradeToPro=build-rate-limit |
|
- Default the active tab to the driver's selected tab, then the first tab, so the panel no longer opens with no tab selected. - Read the system id as a signal in the tab outlet so links and tab sync follow system changes. - Use one route matcher for `tabbed/:system` with an optional tab, so a tab change reuses the view. Clear `?join=true` after the meeting list opens, so it does not open again. - Voice assistant: flag browsers without speech recognition, abort recognition and detach handlers on teardown, disable it when the view is destroyed, and close the previous room's chat on a room change. - Fix advanced view paging: no empty page when outputs fill the last page, and move to the last page when outputs shrink. - Add a centre dead zone to the joystick so a tap does not pan right. - Send recording commands to the bound capture module. - Show the selected source and lighting state with the selected style. - Show an error when a video call command fails, and type the call bindings so the page no longer needs casts.
…ange - Turning voice control off stops recognition immediately. Only turning it on is debounced, so nothing is heard after the view goes away. - A room change cancels a command still waiting for the chat to connect, so it cannot reach the new room.
MrYuion
force-pushed
the
fix/control-ux-fixes
branch
from
October 1, 2026 15:23
ff896b5 to
6085fcb
Compare
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
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.
The tabbed view opened with no active tab when the driver did not set
selected_tab. Tab links kept the system ID from when the view was created.tabbed/:systemandtabbed/:system/:tabwere separate routes, so every tab change rebuilt the view and?join=trueopened the meeting list again. The voice assistant kept listening after leaving the room, showed its mic in browsers without speech recognition, and kept the old room's chat. Advanced view paging added an empty page at 6 or 12 outputs and went blank when outputs shrank. A tap on the joystick centre panned right. Recording buttons always sent toCapture, not the bound module. The selected source and lighting state used the unselected style. Video call commands failed silently.Changes
tabbed-route.ts) for both URL forms, so tab changes reuse the view.joinis removed from the URL after the meeting list opens.ceilpage count, and the page moves to the last page when outputs shrink (linkedSignal)._exechelper shows an error when a command fails. Bindings are typed, so the page needs no casts.Testing
fix/control-ux-fixes(bootstrap host visibility, app routing timing, and Escape not closing tooltips, which the last PR in the stack fixes). None of them reach this change. They were not run ondevelopitself.Merge order
3 of 5. Based on
fix/control-state-bugs. Next:refactor/control-cleanup.Changes made by Claude Opus 5.5 (1M context) in Claude Code, running in T3 Code.
🤖 Generated with Claude Code