Treat mailbox deep links as one-shot navigation so mobile users can switch messages without stale URL state restoring the prior selection.
- consume the current mailbox deep link before explicit user navigation, compose, delete, reply, and approval actions
- prevent repeated deep-link highlighting and clear stale selections when switching agent mailboxes or subtabs
- add regression coverage for modal and full mailbox views, plus a published CLI patch changeset
Files changed:
.changeset/fn-6957-mailbox-stale-deeplink.md | 5 +
packages/dashboard/app/components/MailboxModal.tsx | 56 ++++++---
packages/dashboard/app/components/MailboxView.tsx | 60 +++++++---
.../app/components/__tests__/MailboxModal.test.tsx | 76 ++++++++++++
.../app/components/__tests__/MailboxView.test.tsx | 130 +++++++++++++++++++++
5 files changed, 293 insertions(+), 34 deletions(-)
Fusion-Task-Id: FN-6957
Fusion-Task-Lineage: 2a85c8d1-2163-434a-987f-2e842b847651
Adds an executing-task picker so dev server previews can run against in-progress task worktrees.
- Pass live task data into the Dev Server view from the main app and overflow dock.
- List in-progress tasks with worktrees, show the selected task descriptor, and prefer its worktree when starting the server.
- Fall back to the legacy start endpoint when an explicit cwd override is needed.
- Cover the picker, descriptor, cwd selection, restart guidance, and empty-state behavior with dashboard tests.
- Document task-targeted dev server previews in the dashboard guide.
Files changed:
docs/dashboard-guide.md | 1 +
packages/dashboard/app/App.tsx | 2 +-
.../dashboard/app/components/DevServerView.css | 61 +++++++++
.../dashboard/app/components/DevServerView.tsx | 85 +++++++++++-
.../components/__tests__/DevServerView.test.tsx | 146 +++++++++++++++++++++
.../app/components/overflowViewRegistry.tsx | 2 +-
packages/dashboard/app/hooks/useDevServer.ts | 13 +-
7 files changed, 303 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-6926
Fusion-Task-Lineage: beb05a39-c9f1-4017-afcd-a8d361ef232c
- Await async spawned child session disposal
- Use own-key iteration for structured tool result previews
- Add FNXC requirement comments for new regression assertions
Measure Command Center Recharts wrappers directly and keep usable fallback dimensions until lazy dashboard cards report a drawable box. This restores line charts such as Daily activity, Tokens trend, and Activity trend, plus model-share pies that used the same sizing path.
Refresh the weekly test velocity report with the latest captured baseline.
- Update the latest baseline timestamp, metric deltas, quarantine counts, and #leads posting text.
- Append the 2026-06-23 test velocity history row with wall times and slowest test files.
Files changed:
docs/test-velocity-baseline.md | 20 +++----
scripts/test-velocity-history.json | 111 +++++++++++++++++++++++++++++++++++++
2 files changed, 121 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-6948
Fusion-Task-Lineage: 7b2d265a-b6c9-494c-aa87-31ae2c71c5f0
Show the dashboard footer when the global AI engine stop control is active.
- Add a stopped executor state derived from globalPause and expose it through the legacy API types.
- Render Stopped with error-red styling and a stop-rectangle icon in the executor status bar.
- Cover stopped state derivation, footer rendering, API responses, and localized labels.
Files changed:
.../dashboard/app/__tests__/api-projects.test.ts | 3 ++-
packages/dashboard/app/api/legacy.ts | 14 +++++++----
.../dashboard/app/components/ExecutorStatusBar.tsx | 11 ++++++---
.../__tests__/ExecutorStatusBar.test.tsx | 27 ++++++++++++++++++++++
.../app/hooks/__tests__/useExecutorStats.test.ts | 22 ++++++++++++++++--
packages/dashboard/app/hooks/useExecutorStats.ts | 10 +++++---
packages/i18n/locales/en/app.json | 1 +
packages/i18n/locales/es/app.json | 2 ++
packages/i18n/locales/fr/app.json | 2 ++
packages/i18n/locales/ko/app.json | 2 ++
packages/i18n/locales/zh-CN/app.json | 2 ++
packages/i18n/locales/zh-TW/app.json | 2 ++
12 files changed, 85 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-6933
Fusion-Task-Lineage: 1f128b36-105a-4133-87ce-75bb8df8a42f
Remove the orphaned session-cross-tab quarantine ledger entry after confirming the test remains active and rescued.
- Document FN-6937's rescue proof and ledger/config lockstep expectation in testing guidance.
- Keep the dashboard Vitest quarantine list empty with a note explaining the stale ledger-only cleanup.
- Remove the session-cross-tab row from the flaky-test quarantine ledger.
Files changed:
docs/testing.md | 8 ++++++--
packages/dashboard/vitest.config.ts | 3 +++
scripts/lib/test-quarantine.json | 8 +-------
3 files changed, 10 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-6937
Fusion-Task-Lineage: 34a67bf3-2a7f-49ea-93ab-68fadc81f893
Render agent org chart connector paths from the measured SVG overlay without stale CSS connector lines.
- Size the absolute org chart SVG overlay to the chart canvas so connector paths are not clipped by the default SVG viewport.
- Remove legacy pseudo-element connector bus styles that could overlap or contradict measured SVG paths.
- Add regression coverage for connector SVG sizing, removed CSS connector rules, vertical paths, and empty/single-root data states.
Files changed:
packages/dashboard/app/components/AgentsView.css | 41 +++-----------------
.../__tests__/AgentsView.orgchart.test.tsx | 44 +++++++++++++++++++++-
2 files changed, 49 insertions(+), 36 deletions(-)
Fusion-Task-Id: FN-6931
Fusion-Task-Lineage: d19d4c59-c836-4d91-9826-d4b29e178923
Re-ratchet the opt-in line-count audit baseline so current oversized files no longer fail the ceiling check.
- Document that the pnpm test blocker premise is stale because the guard is opt-in.
- Refresh grandfathered line-count ceilings to the current merged tree.
- Add TerminalModal.tsx to the grandfathered oversized-file baseline and drop entries that no longer need it.
Files changed:
scripts/check-file-line-count.mjs | 3 ++
scripts/line-count-baseline.json | 80 +++++++++++++++++++--------------------
2 files changed, 42 insertions(+), 41 deletions(-)
Fusion-Task-Id: FN-6917
Fusion-Task-Lineage: aaa018d8-f1a3-47a5-b63b-f18bac87b910
Refresh the documentation to match the reshuffled dashboard navigation model.
- Clarify that desktop/tablet content destinations live in the left sidebar while inline tools live in the right dock.
- Update Planning, Import Tasks, Git Manager Recovery, and plugin view navigation instructions across docs.
- Remove stale Header overflow, duplicate dock/sidebar, and standalone Stash Recovery wording.
Files changed:
docs/architecture.md | 2 +-
docs/dashboard-guide.md | 55 +++++++++++++++++++++++++++----------------------
docs/getting-started.md | 4 ++--
docs/task-management.md | 4 ++--
4 files changed, 35 insertions(+), 30 deletions(-)
Fusion-Task-Id: FN-6897
Fusion-Task-Lineage: d0009a23-c197-4c1b-8c54-5fe4a8dca03c