Commit Graph

10 Commits

Author SHA1 Message Date
gsxdsm
3af54418cf FN-9191: add the Iceberg dashboard theme
Add a persisted Iceberg palette across dashboard and desktop theme surfaces.

- Define coordinated dark and light Iceberg color tokens and selector swatches.
- Register Iceberg in shared persistence, theme selectors, and first-paint validation.
- Add registry coverage, documentation, visual references, and a release changeset.

Files changed:
 .changeset/fn-9191-iceberg-theme.md                |   6 ++
 docs/dashboard-guide.md                            |   5 +-
 docs/settings-reference.md                         |   4 +-
 packages/core/src/types/ui/execution-and-ui.ts     |   2 +
 .../dashboard/app/__tests__/iceberg-theme.test.ts  | 102 +++++++++++++++++++++
 .../dashboard/app/components/ThemeSelector.css     |  15 +++
 .../components/__tests__/ThemeDropdown.test.tsx    |   3 +-
 .../components/__tests__/ThemeSelector.test.tsx    |   3 +-
 .../__tests__/CommandCenterControls.test.tsx       |   3 +-
 packages/dashboard/app/components/themeOptions.ts  |   2 +
 packages/dashboard/app/index.html                  |   3 +-
 packages/dashboard/app/public/theme-data.css       |  85 +++++++++++++++++
 packages/desktop/src/renderer/index.html           |   2 +
 screenshots/fn-9191-iceberg-theme-dark.png         |   3 +
 screenshots/fn-9191-iceberg-theme-light.png        |   3 +
 15 files changed, 234 insertions(+), 7 deletions(-)

Fusion-Task-Id: FN-9191

Fusion-Task-Lineage: a8b441c6-763a-4c38-a682-bffab1fdd293

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-08-22 19:43:45 -07:00
gsxdsm
a96f0dd932 fix: ship git-lfs in the Docker image
The repo keeps binary assets as Git LFS objects, but the runner stage
installed plain git. Without git-lfs, checkout writes ~130-byte pointer files
in place of the real content and reports a clean tree, so an agent reads a
text stub where an image should be and any `git lfs` subcommand fails. That
is silent corruption of a working checkout, not a visibly missing tool, which
is why it goes in beside git rather than with the optional tooling.

Confirmed in the running container: screenshots/fn-061-medieval-desktop.png
was a `version https://git-lfs.github.com/spec/v1` stub — 129 tracked files
in that state — and became a valid 753KB PNG (signature and IEND intact)
after installing git-lfs and running `git lfs pull`.

The Dockerfile manifest guard now asserts the package so it cannot be dropped.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 21:42:30 -07:00
Fusion Agent
b5e366da62 FN-099: match task Chat model menu width to Direct Chat
Match the task Chat model selector to Direct Chat sizing so provider and model names remain readable across desktop and mobile.

- Apply the shared readable, viewport-clamped dropdown width to Task Chat.
- Add regression coverage and desktop/mobile screenshots.
- Document the behavior and publish a patch changeset.

Files changed:
 .changeset/fn-099-task-chat-model-menu-width.md    |   7 ++
 docs/dashboard-guide.md                            |   2 +-
 .../app/components/TaskPlannerChatTab.tsx          |   5 ++
 .../ChatThinkingLevelControl.portal.test.tsx       |   3 +-
 .../__tests__/TaskPlannerChatTab.test.tsx           |  92 ++++++++++++++++++++-
 .../fn-099-task-chat-model-menu-desktop.png         | Bin 0 -> 9534 bytes
 screenshots/fn-099-task-chat-model-menu-mobile.png  | Bin 0 -> 7240 bytes
 7 files changed, 105 insertions(+), 4 deletions(-)

Fusion-Task-Id: FN-099

Fusion-Task-Lineage: fec67d58-9ca9-4878-8a0a-ac83984a3766

Co-authored-by: Fusion <noreply@runfusion.ai>
2026-08-21 04:34:43 +00:00
Fusion Agent
3903d3c383 FN-096: add New Chat to active conversation headers
Expose the shared New Chat action wherever an active conversation is open.

- Keep New Chat available in list and selected-detail headers across Chat hosts.
- Reset room launches to a persisted Direct session and preserve existing navigation behavior.
- Update responsive styling, documentation, regression coverage, screenshots, and release metadata.

Files changed:
 .changeset/fn-096-chat-header-new-chat.md          |   7 +++
 docs/dashboard-guide.md                            |   6 +--
 packages/dashboard/app/components/ChatView.css     |   3 ++
 packages/dashboard/app/components/ChatView.tsx     |  23 +++++----
 .../components/__tests__/ChatView.mobile.test.tsx  |  15 +++++-
 .../__tests__/ChatView.new-chat-default.test.tsx   |  53 +++++++++++++++++++--
 .../__tests__/ChatView.sessions-rooms.test.tsx     |  36 +++++++++++---
 screenshots/fn-096-chat-header-new-desktop.png      | Bin 0 -> 7476 bytes
 screenshots/fn-096-chat-header-new-mobile.png       | Bin 0 -> 4881 bytes
 9 files changed, 120 insertions(+), 23 deletions(-)

Fusion-Task-Id: FN-096

Fusion-Task-Lineage: b63ddd12-87bb-470e-9cc9-a80817270257

Co-authored-by: Fusion <noreply@runfusion.ai>
2026-08-21 04:34:43 +00:00
gsxdsm
7ae238cc67 fix(FN-061): store medieval theme screenshots as Git LFS pointers
These four screenshots/*.png were committed as raw blobs despite the
screenshots/**/*.png LFS rule, so git reported them as files that should
have been pointers. Re-add them through the LFS clean filter.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 21:04:55 -07:00
Fusion Agent
07125886b7 FN-061: refine medieval theme typography
Refine the medieval dashboard theme so its typography and responsive presentation are more balanced.

- Reduce oversized theme typography and tune responsive layout styling.
- Load Pixelify Sans and update theme tokens, documentation, and changesets.
- Expand theme and hook coverage with desktop and mobile visual references.

Files changed:
 .changeset/fn-058-medieval-theme.md                |   2 +-
 .changeset/fn-061-medieval-theme-refinement.md     |   7 +
 docs/dashboard-guide.md                            |   4 +-
 docs/settings-reference.md                         |   2 +-
 .../dashboard/app/__tests__/medieval-theme.test.ts | 172 +++++++++++++++++++--
 .../dashboard/app/hooks/__tests__/useTheme.test.ts |  14 ++
 packages/dashboard/app/main.tsx                    |   2 +-
 packages/dashboard/app/public/theme-data.css       |  22 ++-
 packages/dashboard/app/styles.css                  |  46 +++++-
 packages/dashboard/package.json                    |   2 +-
 pnpm-lock.yaml                                     |   8 +-
 screenshots/fn-061-medieval-desktop.png            | Bin 0 -> 753177 bytes
 screenshots/fn-061-medieval-mobile.png             | Bin 0 -> 208805 bytes
 13 files changed, 244 insertions(+), 37 deletions(-)

Fusion-Task-Id: FN-061

Fusion-Task-Lineage: fe95f1d1-7db4-4098-965f-f4c0aa8860e0

Co-authored-by: Fusion <noreply@runfusion.ai>
2026-08-20 03:57:23 +00:00
Fusion Agent
2c16a7e9ba FN-058: add Medieval appearance theme
Add a bundled pixel-font Medieval theme with parchment and wood visual styling across dashboard and desktop surfaces.

- Add Medieval theme tokens, swatches, first-paint persistence, and selector integration.\n- Bundle Press Start 2P typography with responsive modal styling and documentation.\n- Add theme behavior tests, screenshots, and a published-package changeset.\n\nFiles changed:\n .changeset/fn-058-medieval-theme.md                |   7 ++\n docs/dashboard-guide.md                            |   5 +-\n docs/settings-reference.md                         |   2 +-\n packages/core/src/types/ui/execution-and-ui.ts     |   5 ++\n .../dashboard/app/__tests__/medieval-theme.test.ts |  71 +++++++++++++++++\n .../dashboard/app/components/ThemeSelector.css     |  15 +++\n .../components/__tests__/ThemeDropdown.test.tsx    |   2 +-\n .../components/__tests__/ThemeSelector.test.tsx    |  14 ++--\n .../__tests__/CommandCenterControls.test.tsx       |  10 ++-\n packages/dashboard/app/components/themeOptions.ts  |   1 +\n .../dashboard/app/hooks/__tests__/useTheme.test.ts |  28 +++++++\n packages/dashboard/app/index.html                  |   4 +-\n packages/dashboard/app/main.tsx                    |   1 +\n packages/dashboard/app/public/theme-data.css       |  86 +++++++++++++++++++++\n packages/dashboard/app/styles.css                  |  24 ++++++\n packages/dashboard/package.json                    |   1 +\n packages/desktop/src/renderer/index.html           |   3 +-\n pnpm-lock.yaml                                     |   8 ++\n screenshots/fn-058-medieval-theme-desktop.png      | Bin 0 -> 19898 bytes\n screenshots/fn-058-medieval-theme-mobile.png       | Bin 0 -> 14996 bytes\n 20 files changed, 269 insertions(+), 18 deletions(-)

Fusion-Task-Id: FN-058

Fusion-Task-Lineage: b7ce1b83-59ba-4516-8073-c1e8c46bb181

Co-authored-by: Fusion <noreply@runfusion.ai>
2026-08-20 03:57:23 +00:00
gsxdsm
34ed2d1ffb FN-8750: redesign resolved GitHub issues table
Improve the resolved GitHub issues table across desktop, tablet, and mobile layouts.

- Add responsive table styling with semantic links and readable metadata.
- Add table hooks and regression coverage for layout and token use.
- Capture desktop and mobile layout smoke screenshots.

Files changed:
 ...mmand-center-css-token-canonicalization.test.ts |  15 ++
 .../components/command-center/areas/GithubArea.tsx |  37 +++--
 .../areas/__tests__/areas.github-signals.test.tsx  |  27 ++--
 .../app/components/command-center/areas/areas.css  | 151 +++++++++++++++++++++
 .../dashboard/scripts/browser-layout-smoke.mjs     | 120 +++++++++++++++-
 screenshots/fn-8750-resolved-github-desktop.png    |   3 +
 screenshots/fn-8750-resolved-github-mobile.png     |   3 +
 7 files changed, 333 insertions(+), 23 deletions(-)

Fusion-Task-Id: FN-8750

Fusion-Task-Lineage: b229bad6-7d32-4a04-9681-c4184c46c015

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-08-02 21:50:26 -07:00
gsxdsm
bf4a4de347 chore: route doc/demo PNG screenshots through Git LFS
Extend the LFS track-forward policy from GIFs to documentation and marketing
PNG screenshots (docs/screenshots, demo, top-level screenshots). Scoped to
doc/demo dirs only; app-runtime/build images (PWA icons, Electron tray icons,
the served Nerd Font) stay as real blobs so LFS-less build envs never embed a
pointer stub. No history rewrite / force-push. Stacks on the GIF LFS change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 13:23:17 -07:00
Timothy Laurent
17c9da0732 feat(insights): model selector with favorites, provider filtering, and configured-providers-only API
- Wire up CustomModelDropdown in InsightsView with favorites support:
  favoriteProviders, favoriteModels, and toggle callbacks
- Auto-promote resolved planning provider as implicit favorite when
  no explicit favorites are set
- Filter /models API to only return providers with credentials in
  Fusion's own auth stores (primary + legacy .pi + models.json),
  excluding supplemental stores (Codex CLI, Claude Code, env vars)
  that surface unconfigured providers
- Still allow enabled extension providers (Claude CLI, Droid CLI,
  llama.cpp) when their settings toggles are on

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-07 14:10:45 -07:00