Skip to content

Agentic UI: Make the site identity a menu with quick actions - #4447

Closed
shaunandrews wants to merge 1 commit into
stu-2162-header-replaces-dropdownfrom
stu-2162-single-sync-button
Closed

Agentic UI: Make the site identity a menu with quick actions#4447
shaunandrews wants to merge 1 commit into
stu-2162-header-replaces-dropdownfrom
stu-2162-single-sync-button

Conversation

@shaunandrews

@shaunandrews shaunandrews commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Related issues

Stack

⚠️ Visual change: needs human review in light + dark mode.

Repurposed PR: previously "single Sync action / sync dialog", now the interactive identity menu. The bespoke sync dialog is superseded — the header reuses the existing selective-sync dialog from #4377.

How AI was used in this PR

Built the identity menu and the masked status-dot treatment, and verified it in the local agentic UI (studio ui) in both themes.

Proposed Changes

Turn the header identity into an interactive control instead of static text.

  • The site icon + name + address become a single button that opens a site menu: Start/Stop site, Open in browser, and the Local address.
  • A run-state dot is masked into the corner of the site icon — a genuine cutout, not a ring drawn on top — shown when the sidebar is hidden (the sidebar already carries per-site status otherwise).
  • Green = running, grey = stopped, blue (blinking) = transitioning; respects prefers-reduced-motion.

Purely additive on top of #4445 — the base header works without it.

Screenshots

Site menu Header status dot
Site identity menu Masked status dot on the site icon

Testing Instructions

  1. Click the site identity in the header — a menu opens with Start/Stop, Open in browser, and the local address.
  2. Start/Stop toggles the site; Open in browser is disabled when the site isn't running.
  3. Hide the sidebar and confirm the status dot appears on the icon, centred on the address line; show the sidebar and it disappears.
  4. Confirm the dot colour tracks running / stopped / transitioning.
  5. Check light + dark appearance and the browser console for errors.

Verification completed

  • npm run typecheck (clean)
  • apps/ui site-toolbar unit tests pass

Pre-merge Checklist

  • Have you checked for TypeScript, React or other console errors?

@shaunandrews
shaunandrews force-pushed the stu-2162-single-sync-button branch from 1f7e4a4 to 9cf9a82 Compare August 4, 2026 23:26
@shaunandrews shaunandrews changed the title Collapse push and pull into one Sync action with an in-dialog direction switch Collapse push and pull into one Sync action with the designed dialog Aug 4, 2026
@shaunandrews

Copy link
Copy Markdown
Contributor Author

🤖 AI-written review note — verified against the current PR head.

Three correctness issues in the redesigned Sync dialog need attention:

  1. If Database is unchecked and Files is checked without loaded/checked descendants, serialization returns optionsToSync: []. Pull interprets an empty list as all, while Push falls back to a database-only export—both contrary to the selection.
  2. Selective Pull discards the rewind API’s item.id and assigns the constructed path as pathId. includePathList requires backup node IDs, so selective Pull is likely to fail or restore the wrong scope.
  3. The tree resets only when direction/target changes, not when the dialog reopens or siteId changes, allowing a cancelled or previous-site selection to carry over.

This PR also replaces the base PR’s selective-sync UI, leaving that copied component tree unused in the cumulative stack.

…ctions

Turn the header identity into a button that opens a site menu — start/stop,
open in browser, and the local address — with a run-state dot masked into the
site icon (shown when the sidebar is hidden).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@shaunandrews
shaunandrews force-pushed the stu-2162-single-sync-button branch from 1ce91aa to 8e25287 Compare August 19, 2026 19:51
@shaunandrews shaunandrews changed the title Collapse push and pull into one Sync action with the designed dialog Agentic UI: Make the site identity a menu with quick actions Aug 19, 2026
@shaunandrews

Copy link
Copy Markdown
Contributor Author

Superseded by the re-split STU-2162 stack, rebuilt on current trunk with clearer branch names and standalone-reviewable slices: #4611#4612#4613#4614#4615#4616. Closing to avoid the stale branch names here.

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