Skip to content

refactor(control): remove dead code and merge duplicates - #523

Open
MrYuion wants to merge 3 commits into
fix/control-ux-fixesfrom
refactor/control-cleanup
Open

MrYuion wants to merge 3 commits into
fix/control-ux-fixesfrom
refactor/control-cleanup

Conversation

@MrYuion

@MrYuion MrYuion commented Oct 1, 2026

Copy link
Copy Markdown
Collaborator

The control app had three copies of the splash screen, two binding helpers, three copies of camera move/zoom/select logic, and a lot of unused code: a page view that always showed the same view, an unused copy of the help tooltip, unused service state, a dial view redirect that nothing used, and others. Copies had already drifted apart (for example, the two camera components used different move logic).

Changes

  • Shared splash (ui/splash.component.ts) for the main, tabbed and call views. The call view also uses the shared connecting screen.
  • Shared binding helper (system-binding.ts) for the control and video call state services.
  • Shared camera commands (ui/camera-commands.ts) for the camera controls, camera tooltip and call page. The tooltip now highlights the last recalled preset; that state existed but was never set.
  • Meeting list spinner uses the events resource loading state.
  • Removed: page view, the app's help tooltip copy, unused service state (volume, mute, blinds, screens, space resource), dial view redirect/close, output list item handlers, the simple source select mode, other unused fields.
  • Selectors: the lighting tooltips and call view have unique selectors.
  • Unknown system: the removed space resource used to redirect to bootstrap on a 404 and then loop back. The redirect now runs from loadSpace and clears the stored system ID first.
  • E2E specs select the splash with [name="splash"], because it is no longer a div.

Visible changes

  • The call view splash shows the version and changelog link, like the other views.
  • The voice button on the tabbed splash no longer powers on the room.

Testing

  • Unit tests (242 pass). Tests for removed code and commented-out placeholder tests are removed.
  • Tested in the running app: all three splash screens, main view layout and paging, bindings, camera commands with indexed cameras, dialling, meeting list spinner, all topbar tooltips. The tester found the e2e selector and 404 regressions; both are fixed in this branch.
  • E2E (mock): 179 pass, 19 fail. The same 19 specs fail on every branch in this stack and on the commit before 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 on develop itself.

Merge order

4 of 5. Based on fix/control-ux-fixes. Next: fix/control-tester-findings.


Changes made by Claude Opus 5.5 (1M context) in Claude Code, running in T3 Code.

🤖 Generated with Claude Code

@vercel

vercel Bot commented Oct 1, 2026

Copy link
Copy Markdown

Deployment failed for project frontend-templates with the following error:

Resource is limited - try again in 24 hours (more than 100, code: "api-deployments-free-per-day").

Learn More: https://vercel.com/placeos?upgradeToPro=build-rate-limit

@greptile-apps

greptile-apps Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

[Medium risk] Removes unused code and consolidates UI components.

The PR appears safe to merge; no new actionable issue remains from the changes since the last review.

What we checked:

  • Microphone restarts after voice control turns off: Turning voice control off cancels its pending start. Teardown removes recognition handlers before aborting and clears the restart timer.

Summary

The control app now shares its splash screens, camera commands, and system-status bindings instead of keeping separate copies. It also ties meeting loading to the events resource, returns to bootstrap when a system is missing, and removes unused controls and state.

  • The call splash now shows the version and changelog, and camera tooltips highlight the last recalled preset.
  • Dialing, camera selection, and status updates use shared code across the control views.
  • Unused view options, handlers, and state are removed, with related selectors and tests updated.

Reviews (2) · Last reviewed commit: "fix(control): clear the recalled preset ..."

Comment thread apps/control/src/app/ui/camera-tooltip.component.ts
Comment thread apps/control/src/app/ui/camera-commands.ts
- Share one splash screen between the main, tabbed and video call views,
  and use the shared connecting screen in the video call view.
- Share one system binding helper between the control and video call
  state services.
- Share camera move, zoom and select commands between the camera
  controls, camera tooltip and call page. Highlight the last recalled
  preset in the camera tooltip.
- Show the meeting list spinner while today's events load.
- Remove unused code: the page view, the app's copy of the help tooltip,
  unused service state (volume, mute, blinds, screens, space), the dial
  view redirect, unused output list item handlers, the `simple` source
  select mode, and other unused fields.
- Give the lighting tooltips and video call view unique selectors.
- Drop tests for removed code and commented-out tests.
- Return to bootstrap when the system does not exist (404). Clear the
  stored system ID first, so bootstrap does not open it again. The
  removed space resource used to redirect, but looped back.
- Select the splash by `[name="splash"]` in the e2e specs. The splash is
  now the `control-splash` element, not a `div`.
Another control can change the selected camera. The preset highlight
belonged to the previous camera.
@MrYuion
MrYuion force-pushed the fix/control-ux-fixes branch from ff896b5 to 6085fcb Compare October 1, 2026 15:23
@MrYuion
MrYuion force-pushed the refactor/control-cleanup branch from 829ea71 to 54e1b7b Compare October 1, 2026 15:23
@vercel

vercel Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
frontend-templates Ignored Ignored Preview Oct 1, 2026 3:23pm UTC

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant