Skip to content

feat(sidebar): FLEET header Add-machine + Refresh actions (#1764) - #1765

Merged
jeonghun-jj-lee merged 6 commits into
feature/free-tier-fleetfrom
amico/issue-1764-fleet-header-actions
Oct 12, 2026
Merged

jeonghun-jj-lee merged 6 commits into
feature/free-tier-fleetfrom
amico/issue-1764-fleet-header-actions

Conversation

@jeonghun-jj-lee

@jeonghun-jj-lee jeonghun-jj-lee commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Closes #1764.

Adds Add machine (+) and Refresh (↻) to the FLEET sidebar header, and routes every fleet chat launch through one exactly-once launcher. A per-row focus control was built and then removed for now on review (see below) — the focus subsystem it drove is retained.

What changed

  • Shared chat-session launcher (new module + per-panel app-ready state on the chat panel): opens or reveals the chat and delivers a prompt exactly once — immediately when the app is ready, otherwise queued for app-ready with a 15 s deadline and a warning; repeat of the same prompt within 1000 ms suppressed. Sidebar Troubleshoot and the boot-time fleet warning's Troubleshoot now use it, so neither silently no-ops with the chat panel closed.
  • Add machine (+): routes on the section's last-posted state — standalone or empty → /create-a-fleet (no fleet exists yet, so start one); populated or unreachable → /add-fleet-device. Unreachable keeps add-fleet-device because a down host can't be known to be empty.
  • Refresh (↻): re-arms the change watcher, then re-reads the roster (a client re-fetches only the hub roster); busy clears on the next section update, 10 s backstop with a "didn't complete" tooltip; reduced-motion aware.
  • Focus control — removed for now (d98e8870): the per-row target-glyph button and its CSS are gone; on review it didn't earn its place in the UI. The focus subsystem is retained intact — the focus-machine message/handler, FleetFocusStore, applyFocusRequest, focus-follows-tab, the overlay push (the onChange wiring from Fleet Studio wiring — W3: wire the fleet focus selector into the sidebar #1451), and the focused-row marking all stay. Restoring the control is a re-add, not a rebuild.
  • Copy + glossary: the section says "machine"; CONTEXT.md gains Machine and Focused machine and a corrected Sidebar entry.

No engine/overlay change. New Project / New Environment launch paths untouched (follow-up in the issue).

Gates (run by the director, not self-reported)

Gate Base 5738e1e1 This branch d98e8870
Fast suite 317 files · 5218 passed · 0 failed 319 files · 5299 passed · 0 failed · 43 skipped
Typecheck (tsc --noEmit) exit 0 exit 0
Boot smoke PASS PASS

No .only/.skip/.todo added; existing assertions changed only where the issue flips them, plus the two review follow-ups above (empty-fleet routing; focus-control removal and its tests).

Needs a human

  • Manual Extension Development Host pass: light + dark themes; Add machine with the chat panel closed; Refresh busy/settle behaviour.
  • Review the shape note: two existing tests pin the literal renderSectionHeader("Fleet", "fleet"), so the actions mount via a shared mountSectionActions helper after that call rather than as a third argument.
  • Checkpoint commit 3c7c43d5 is red on its own (two pinned tests); fixed in 51ff0ad8. Squash-merge recommended (and it collapses the 6605b800 focus-control add + d98e8870 removal into the shipped state).

@jeonghun-jj-lee
jeonghun-jj-lee marked this pull request as ready for review October 12, 2026 03:05
@coderabbitai

coderabbitai Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 701643b8-b8e5-4716-bd2b-85e517dac985

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

…rol (#1764)

Two review follow-ups to the FLEET header work:

- Add machine now routes BOTH standalone and empty section states to
  /create-a-fleet (no fleet exists yet, so start one); populated,
  unreachable, and the not-yet-posted case keep /add-fleet-device.
  Unreachable stays on add-fleet-device because a down host can't be
  known to be empty.

- Remove the per-row focus control (the target-glyph button + its CSS)
  for now — it did not earn its place in the UI. The focus SUBSYSTEM is
  kept intact: the focus-machine message/handler, FleetFocusStore,
  applyFocusRequest, focus-follows-tab, the overlay push, and the
  focused-row marking all stay, so restoring the control is a re-add.

Tests updated accordingly; full fast suite green (5299 passed).
@jeonghun-jj-lee jeonghun-jj-lee changed the title feat(sidebar): FLEET header Add-machine + Refresh actions, visible focus control (#1764) feat(sidebar): FLEET header Add-machine + Refresh actions (#1764) Oct 12, 2026
@jeonghun-jj-lee
jeonghun-jj-lee merged commit f787b75 into feature/free-tier-fleet Oct 12, 2026
12 checks passed
@jeonghun-jj-lee
jeonghun-jj-lee deleted the amico/issue-1764-fleet-header-actions branch October 12, 2026 03:39
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