gsxdsm
87e87a8f1a
FN-6693: enforce dashboard CSS token references
...
Extend the dashboard CSS token guard and replace stale custom-property references with defined design tokens.
- Add a dashboard-wide CSS token validity test that scans component/app CSS for undefined custom-property references.
- Include dashboard CSS tests in the dashboard Vitest config and document the guard in testing guidance.
- Remap undefined CSS variables across dashboard components and command-center styles to existing semantic or local tokens.
Files changed:
docs/testing.md | 3 +
.../dashboard-css-token-validity.css.test.ts | 165 +++++++++++++++++++++
.../dashboard/app/components/ActiveAgentsPanel.css | 10 +-
.../dashboard/app/components/AgentLogViewer.css | 2 +-
.../app/components/AgentReflectionsTab.css | 10 +-
packages/dashboard/app/components/AgentsView.css | 6 +-
.../dashboard/app/components/BranchGroupCard.css | 6 +-
packages/dashboard/app/components/ChatView.css | 12 +-
.../app/components/CliBinaryInstallBanner.css | 2 +-
.../dashboard/app/components/CliBinaryPanel.css | 2 +-
.../app/components/ConversationHistory.css | 12 +-
.../dashboard/app/components/DashboardLoader.css | 2 +-
.../dashboard/app/components/DesktopLaunchGate.css | 4 +-
.../dashboard/app/components/DirectoryPicker.css | 2 +-
.../dashboard/app/components/FileMentionPopup.css | 4 +-
.../dashboard/app/components/GitHubImportModal.css | 10 +-
packages/dashboard/app/components/GoalsView.css | 2 +-
.../dashboard/app/components/GroupTaskModal.css | 18 +--
packages/dashboard/app/components/InsightsView.css | 10 +-
packages/dashboard/app/components/Lane.css | 8 +-
.../dashboard/app/components/LanguageSelector.css | 8 +-
packages/dashboard/app/components/MailboxModal.css | 62 ++++----
.../app/components/MergeAdvanceNotice.css | 2 +-
.../dashboard/app/components/MissionManager.css | 10 +-
.../app/components/MobileWorkflowGraphView.css | 2 +-
.../app/components/ModelOnboardingModal.css | 12 +-
.../app/components/OnboardingDisclosure.css | 4 +-
.../dashboard/app/components/PlanningModeModal.css | 2 +-
.../dashboard/app/components/PluginManager.css | 58 ++++----
.../components/PostOnboardingRecommendations.css | 4 +-
.../dashboard/app/components/PullRequestView.css | 32 ++--
packages/dashboard/app/components/QuickChatFAB.css | 4 +-
.../dashboard/app/components/QuickEntryBox.css | 6 +-
.../dashboard/app/components/ReliabilityView.css | 6 +-
packages/dashboard/app/components/ScriptsModal.css | 34 ++---
.../dashboard/app/components/SessionTerminal.css | 28 ++--
.../dashboard/app/components/SettingsModal.css | 6 +-
.../dashboard/app/components/SkillMultiselect.css | 2 +-
packages/dashboard/app/components/TaskCard.css | 24 +--
.../dashboard/app/components/TaskDocumentsTab.css | 8 +-
.../dashboard/app/components/TaskFieldsSection.css | 20 +--
.../dashboard/app/components/TerminalModal.css | 22 +--
.../app/components/WorkflowFieldsPanel.css | 6 +-
.../app/components/WorkflowNodeEditor.css | 30 ++--
.../dashboard/app/components/WorkspaceSelector.css | 2 +-
.../components/command-center/CommandCenter.css | 106 ++++++-------
.../components/command-center/DateRangePicker.css | 18 +--
.../command-center/MissionControlPanel.css | 14 +-
.../app/components/command-center/SdlcFunnel.css | 2 +-
.../command-center/areas/SystemStatsArea.css | 24 +--
.../app/components/command-center/areas/areas.css | 62 ++++----
.../components/command-center/charts/charts.css | 104 ++++++-------
packages/dashboard/vitest.config.ts | 1 +
53 files changed, 592 insertions(+), 423 deletions(-)
Fusion-Task-Id: FN-6693
Fusion-Task-Lineage: e9ccf3e6-fee9-47e0-9474-7b5580adbf31
2026-06-19 04:27:01 -07:00
gsxdsm
282b06949e
FN-6688: replace dashboard primary text alias
...
Replace undefined dashboard primary text aliases with the canonical theme-aware text token.
- Swap non-Command-Center CSS references from `--text-primary` to `--text` across dashboard components.
- Extend text token canonicalization tests to block future `--text-primary` usage and root alias definitions.
- Document the dashboard CSS token rule and add a patch changeset for the published CLI bundle.
Files changed:
.changeset/fn-6688-text-primary-cleanup.md | 5 +++++
docs/dashboard-guide.md | 2 ++
.../__tests__/text-token-canonicalization.test.ts | 18 ++++++++++++++++--
.../dashboard/app/components/ActiveAgentsPanel.css | 4 ++--
.../dashboard/app/components/CliBinaryPanel.css | 2 +-
.../app/components/ConversationHistory.css | 6 +++---
.../dashboard/app/components/DesktopLaunchGate.css | 2 +-
packages/dashboard/app/components/ErrorBoundary.css | 2 +-
.../dashboard/app/components/LanguageSelector.css | 2 +-
packages/dashboard/app/components/MobileNavBar.css | 4 ++--
packages/dashboard/app/components/QuickEntryBox.css | 6 +++---
packages/dashboard/app/components/ScriptsModal.css | 21 +++++++++++++--------
.../dashboard/app/components/SkillMultiselect.css | 2 +-
.../dashboard/app/components/TaskFieldsSection.css | 4 ++--
.../app/components/WorkflowFieldsPanel.css | 2 +-
packages/dashboard/app/styles.css | 2 +-
16 files changed, 55 insertions(+), 29 deletions(-)
Fusion-Task-Id: FN-6688
Fusion-Task-Lineage: 96e47af2-8bf5-4326-be24-2816530fd646
2026-06-19 01:33:13 -07:00
Fusion (runfusion.ai)
9eea9f48f0
feat(FN-5126): replace hardcoded rgba shadow with design token in DesktopLa
...
Replaced a hardcoded `rgba` shadow with the design token `var(--shadow-lg)` in `DesktopLaunchGate`, added a regression test to catch raw `rgba` usage in component CSS, and removed an accidental changeset since the fix is dashboard-internal and doesn't require a published release.
Fusion-Task-Id: FN-5126
2026-05-20 14:28:45 -07:00
gsxdsm
75a712771e
feat(desktop): Connection → Change Launch Mode menu item
...
Adds a "Connection" submenu with a "Change Launch Mode…" item that lets
users switch between Run Locally and Connect to Remote after the initial
chooser. The menu sends shell:reset-desktop-mode-request to the renderer;
the dashboard's DesktopLaunchGate listens, calls the new
shell:resetDesktopMode IPC (clears hasCompletedModeSelection, stops the
embedded runtime), strips the cached serverBaseUrl/shellMode query params,
and reloads so the gate re-prompts.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 22:16:27 -07:00
gsxdsm
b143f6c88b
feat(dashboard): desktop launch gate for run-local vs connect-remote
...
Wrap <App /> in a DesktopLaunchGate that runs only inside the Electron shell.
On first run it shows a chooser (Run Locally / Connect Remote). On "local"
it calls setDesktopMode("local") so main starts the embedded runtime, polls
shell:getState until localRuntime.state === "running", then reloads with
?serverBaseUrl=http://127.0.0.1 :<port> so the dashboard's API calls route
to the embedded server (file:// origins can't resolve relative /api). On
"remote" it opens the existing connection manager. Replaces the dead-end
"can't reach backend" landing in the packaged desktop app.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 22:10:58 -07:00