Skip to content

feat(console): collapse Activity/MCP/Config into a Debug drawer (slice 6/6) - #89

Merged
brettchien merged 1 commit into
mainfrom
feat/console-nav-slice-6-debug-drawer
Aug 18, 2026
Merged

feat(console): collapse Activity/MCP/Config into a Debug drawer (slice 6/6)#89
brettchien merged 1 commit into
mainfrom
feat/console-nav-slice-6-debug-drawer

Conversation

@brettchien

Copy link
Copy Markdown
Contributor

Slice 6/6 of console-navigation-ia ADR (#83) — usercron adr83-impl runbook, per §7.6.

What

  • Activity, MCP · oab-mcp, and Config (cluster/profile/region) come off the top-level #tabs strip and collapse into one secondary Debug drawer (#debug-drawer, slide-over from the right edge) — Part D: "implementation-detail surfaces... not part of the deploy/manage/chat journey."
  • Opened by a [⚙]:
    • Per fleet row on the Fleets screen (7.2), scoped to that fleet — new, fleetButton() now renders a .fleets-row wrapper (select-button + gear as siblings, not nested buttons) instead of one giant row-button.
    • The Fleet detail header (7.3) — un-stubbed the existing disabled gear from slice 2.
  • Internals unchanged: same three panes, same tab-switch behavior (now scoped to #debug-tabs instead of the old top-level #tabs), same "flag on new lines while hidden" indicator.
  • Compose is the one surface left outside the drawer — with Activity/MCP/Config gone, it's the only thing left in that position, so it's now an always-visible section instead of a fourth peer tab. (Full removal of the standing Compose surface per Part C is still open — see feat(console): deploy actions — + New fleet / + Add instance (slice 5/6) #88's scoping note, unchanged here.)

Incidental bug fixes (same class as #82, both reintroduced by slice 1)

Found while touching this code again for the drawer move — not new work, but worth flagging since they were silent:

  • id="config" collision: the Fleets-screen mount (<section id="config" class="config-wrap">) and the bottom Config pane both used id="config". main.ts's document.getElementById("config") always resolved to the first match (the Fleets screen) — so the Config tab pane main.ts was toggling hidden on was never the one with the actual form. Renamed the pane to debug-config.
  • id="cfg-save" collision: the fleets.toml/registry TOML editor's Save button and the Config pane's own submit button both used id="cfg-save". config.ts's save-disable-while-saving logic was wired to the wrong button (the editor's, not its own). Renamed to debug-cfg-save.

Verification

  • tsc --noEmit — clean
  • vitest run — 107/107 passing (2 new/updated in render.test.ts covering the per-row and per-fleet-detail gear wiring)
  • vite build — clean

Progress table: this is slice 6/6 — 1–6 all land after this merges. Runbook's step 6/7 (self-review pass across all six slices together) is next.

🤖 Generated by Orca (ecs-claude), usercron adr83-impl.

…e 6/6)

ADR #83 Part D / §7.6: Activity, MCP · oab-mcp, and Config (cluster /
profile / region) drop off the top-level tab strip and collapse into
one secondary Debug drawer that slides over the right edge, opened by
a `[⚙]` from either the Fleets screen (per-row, scoped to that fleet,
7.2) or the Fleet detail header (scoped to the active fleet, 7.3).
Their internals are unchanged — same panes, same tab switch inside the
drawer — only their standing in the top-level navigation moves.

Compose is the one thing left outside the drawer: it's now always
visible in its own section (nothing left to tab away from, since the
other three moved) rather than a fourth peer tab.

Fixes two duplicate-id bugs of the same class as #82, both
reintroduced by slice 1 and only surfaced now that this code is
touched again: `id="config"` collided between the Fleets-screen mount
and the bottom Config pane (`getElementById("config")` always resolved
to the Fleets screen — the debug Config tab never showed the form it
should have), and `id="cfg-save"` collided between the fleets.toml/
registry TOML editor's Save button and the Config pane's own submit
button (`config.ts`'s save-disable logic was wired to the wrong
button). The Config pane's ids are now `debug-config` / `debug-cfg-save`.
@brettchien
brettchien merged commit 26716ea into main Aug 18, 2026
2 checks passed
@brettchien
brettchien deleted the feat/console-nav-slice-6-debug-drawer branch August 18, 2026 21:30
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