gsxdsm
51e28fb7ca
fix(desktop): re-show hidden window on dock/Finder activate + log gate flow
...
The close handler hides the BrowserWindow instead of destroying it, so
once closed, subsequent dock or Finder activations were no-ops because
the activate handler only created a new window when mainWindow === null.
Show + focus the existing window if it's hidden so relaunch behaves as
expected. Also add console.log breadcrumbs in DesktopLaunchGate so we
can diagnose why the chooser sometimes appears not to render.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 22:24:40 -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
Fusion (runfusion.ai)
53e0372bc9
test(FN-4986): complete Step 3 — update footer cluster alignment assertions
...
Fusion-Task-Id: FN-4986
Fusion-Task-Lineage: d7a2c969-f3ea-4f93-bcdb-f86521845fce
2026-05-17 21:34:06 -07:00
Fusion (runfusion.ai)
10d00423a4
feat(FN-4986): complete Step 2 — align footer chip cluster via first-chip anchor
...
Fusion-Task-Id: FN-4986
Fusion-Task-Lineage: d7a2c969-f3ea-4f93-bcdb-f86521845fce
2026-05-17 21:34:06 -07:00
Fusion (runfusion.ai)
24076970b1
feat(FN-4926): add fn_task_list regression tests
...
Adds regression tests for `fn_task_list` in the pi-extensions test suite and updates an existing planning-board-tools test, both scoped to FN-4926 coverage.
Fusion-Task-Id: FN-4926
Fusion-Task-Lineage: 9a6a82cb-4b17-4471-a386-7c4b7d275c40
2026-05-17 20:09:36 -07:00
gsxdsm
f9cf3f1bde
feat(FN-4921): merge fusion/fn-4921
2026-05-17 19:11:59 -07:00
gsxdsm
bf0e9a3e37
feat(FN-4766): merge fusion/fn-4766
2026-05-17 19:11:40 -07:00
Fusion (runfusion.ai)
9475639a48
test(FN-4942): align route task tests with hook-based tracking
...
Fusion-Task-Id: FN-4942
Fusion-Task-Lineage: 20865705-e5ec-4261-932c-4d47c2d8dc12
2026-05-17 19:04:18 -07:00
Fusion (runfusion.ai)
8ef7fe2b18
feat(FN-4942): complete Step 2 — route tracking creation via hook
...
Fusion-Task-Id: FN-4942
Fusion-Task-Lineage: 20865705-e5ec-4261-932c-4d47c2d8dc12
2026-05-17 19:04:18 -07:00
Fusion (runfusion.ai)
f5cd0dd472
feat(FN-4971): add PrInfo regression test
...
Adds a regression test for the PrInfo endpoint to guard against FN-4971, covering the legacy PR info API path in the dashboard package.
Fusion-Task-Id: FN-4971
2026-05-17 19:03:51 -07:00
gsxdsm
22729135e8
fix(dashboard): use queueMicrotask instead of setTimeout for iOS scroll reset in ChatView focus handler
2026-05-17 18:21:00 -07:00
gsxdsm
4dc281f5c3
feat(FN-4977): merge fusion/fn-4977
2026-05-17 17:42:04 -07:00
Fusion (runfusion.ai)
d13ee7f526
feat(FN-4962): complete Step 4 — dashboard fallback and reliability coverage
...
Fusion-Task-Id: FN-4962
Fusion-Task-Lineage: de4ce54b-c5e4-40f9-a048-677adac3e1a0
2026-05-17 15:55:18 -07:00
Fusion (runfusion.ai)
235754a766
test(FN-4945): complete Step 3 — add secrets route regression tests
...
Fusion-Task-Id: FN-4945
Fusion-Task-Lineage: f3049b2a-26de-4d48-be99-eb90e4780a9e
2026-05-17 15:17:22 -07:00
Fusion (runfusion.ai)
bce62834f1
feat(FN-4945): complete Step 2 — harden secrets route guards
...
Fusion-Task-Id: FN-4945
Fusion-Task-Lineage: f3049b2a-26de-4d48-be99-eb90e4780a9e
2026-05-17 15:17:22 -07:00
gsxdsm
91ac073f8e
feat(FN-4940): merge fusion/fn-4940
2026-05-17 15:11:48 -07:00
Fusion (runfusion.ai)
b60f359088
test(FN-4937): complete Step 2 — cover matching import and linked issue permutations
...
Fusion-Task-Id: FN-4937
Fusion-Task-Lineage: 1eceb69d-b6b2-4256-9629-3841a03b68e9
2026-05-17 15:10:00 -07:00
Fusion (runfusion.ai)
b96298d11d
feat(FN-4937): complete Step 1 — merge github footer indicator logic
...
Fusion-Task-Id: FN-4937
Fusion-Task-Lineage: 1eceb69d-b6b2-4256-9629-3841a03b68e9
2026-05-17 15:10:00 -07:00
Fusion (runfusion.ai)
ae740bdb24
fix(FN-4764): add dismissible structured PR error blocks and styles
...
Fusion-Task-Id: FN-4764
Fusion-Task-Lineage: 14809ad5-8463-4e16-a934-1414225f17ae
2026-05-17 14:48:31 -07:00
Fusion (runfusion.ai)
26c3d330d3
feat(FN-4764): complete Step 2-4 — surface structured gh errors in API UI CLI
...
Fusion-Task-Id: FN-4764
Fusion-Task-Lineage: 14809ad5-8463-4e16-a934-1414225f17ae
2026-05-17 14:48:31 -07:00
Fusion (runfusion.ai)
abd4fad929
test(FN-4925): complete Step 6 — add mobile layout regression coverage
...
Fusion-Task-Id: FN-4925
Fusion-Task-Lineage: 31fe1419-89df-4d8b-b7fe-7a872801c665
2026-05-17 14:03:16 -07:00
Fusion (runfusion.ai)
f25c83a37b
feat(FN-4925): complete Step 4 — fix mobile dev server layout overlap
...
Fusion-Task-Id: FN-4925
Fusion-Task-Lineage: 31fe1419-89df-4d8b-b7fe-7a872801c665
2026-05-17 14:03:15 -07:00
Fusion (runfusion.ai)
abb0f63aae
feat(FN-4915): complete Step 2-3 — add secret audit emitters and approval audits
...
Fusion-Task-Id: FN-4915
Fusion-Task-Lineage: d5c49dae-6069-4998-b632-aca52cc312dc
2026-05-17 13:54:32 -07:00
Fusion (runfusion.ai)
bba945c8be
feat(FN-4763): complete Step 7 — finalize reclaim wiring and docs
...
Fusion-Task-Id: FN-4763
Fusion-Task-Lineage: b3628e63-682b-4a39-9a7d-2c96278c5366
2026-05-17 13:46:24 -07:00
Fusion (runfusion.ai)
412ee29a24
fix(FN-4763): align PrInfo typing with mergeable conflict state
...
Fusion-Task-Id: FN-4763
Fusion-Task-Lineage: b3628e63-682b-4a39-9a7d-2c96278c5366
2026-05-17 13:46:24 -07:00
Fusion (runfusion.ai)
f8c20e1b96
feat(FN-4763): complete Step 5 — surface PR conflict reclaim in panel
...
Fusion-Task-Id: FN-4763
Fusion-Task-Lineage: b3628e63-682b-4a39-9a7d-2c96278c5366
2026-05-17 13:46:24 -07:00
Fusion (runfusion.ai)
76b1ba8178
feat(FN-4763): complete Step 4 — add conflict reclaim route test coverage
...
Fusion-Task-Id: FN-4763
Fusion-Task-Lineage: b3628e63-682b-4a39-9a7d-2c96278c5366
2026-05-17 13:46:23 -07:00
Fusion (runfusion.ai)
b0a34d70c1
fix(FN-4763): export PrConflictState and expand mapping tests
...
Fusion-Task-Id: FN-4763
Fusion-Task-Lineage: b3628e63-682b-4a39-9a7d-2c96278c5366
2026-05-17 13:46:23 -07:00
Fusion (runfusion.ai)
9d5d310fdc
feat(FN-4763): complete Step 1 — capture PR mergeable state
...
Fusion-Task-Id: FN-4763
Fusion-Task-Lineage: b3628e63-682b-4a39-9a7d-2c96278c5366
2026-05-17 13:46:21 -07:00
Fusion (runfusion.ai)
b99298d559
test(FN-4923): complete Step 2 — add tracking chip alignment regressions
...
Fusion-Task-Id: FN-4923
Fusion-Task-Lineage: 2ea94680-edd7-40a9-92a6-9774b97a75f4
2026-05-17 13:07:54 -07:00
Fusion (runfusion.ai)
171df2ad2b
feat(FN-4923): complete Step 1 — broaden chipFarRight timer-column guard
...
Fusion-Task-Id: FN-4923
Fusion-Task-Lineage: 2ea94680-edd7-40a9-92a6-9774b97a75f4
2026-05-17 13:07:54 -07:00
Fusion (runfusion.ai)
cb184910c7
fix(FN-4913): complete Step 9 — resolve quality gate failures
...
Fusion-Task-Id: FN-4913
Fusion-Task-Lineage: 2fa1fe49-a2a9-405d-833b-cb34d41ef19a
2026-05-17 12:58:02 -07:00
Fusion (runfusion.ai)
cca96a7604
test(FN-4913): complete Step 7 — add secrets sync contract coverage
...
Fusion-Task-Id: FN-4913
Fusion-Task-Lineage: 2fa1fe49-a2a9-405d-833b-cb34d41ef19a
2026-05-17 12:58:01 -07:00
Fusion (runfusion.ai)
22f8893db8
feat(FN-4913): complete Step 6 — wire secrets sync route registrars
...
Fusion-Task-Id: FN-4913
Fusion-Task-Lineage: 2fa1fe49-a2a9-405d-833b-cb34d41ef19a
2026-05-17 12:58:01 -07:00
Fusion (runfusion.ai)
eef8db102f
fix(FN-4913): ensure inbound secrets sync always closes central core
...
Fusion-Task-Id: FN-4913
Fusion-Task-Lineage: 2fa1fe49-a2a9-405d-833b-cb34d41ef19a
2026-05-17 12:58:01 -07:00
Fusion (runfusion.ai)
cd7e29e4ef
feat(FN-4913): complete Step 4 — add inbound secrets sync routes
...
Fusion-Task-Id: FN-4913
Fusion-Task-Lineage: 2fa1fe49-a2a9-405d-833b-cb34d41ef19a
2026-05-17 12:58:01 -07:00
Fusion (runfusion.ai)
db7eddd79c
feat(FN-4913): complete Step 3 — add outbound secrets sync routes
...
Fusion-Task-Id: FN-4913
Fusion-Task-Lineage: 2fa1fe49-a2a9-405d-833b-cb34d41ef19a
2026-05-17 12:58:01 -07:00
Fusion (runfusion.ai)
9dfefc551b
feat(FN-4941): close or delete GitHub issues when tasks are deleted
...
Fixed GitHub issue close and delete behavior when tasks are deleted in the dashboard's GitHub tracking state module, with test coverage added for both delete and state tracking scenarios.
Fusion-Task-Id: FN-4941
2026-05-17 12:56:38 -07:00
Fusion (runfusion.ai)
3ba9e13f75
feat(FN-4924): complete Step 2-3 — tighten tasks hydration and failed-refresh cache clearing
...
Fusion-Task-Id: FN-4924
Fusion-Task-Lineage: a5f882e1-8348-4f9d-89be-15994adc148c
2026-05-17 12:41:21 -07:00
Fusion (runfusion.ai)
13bcb8ed85
feat(FN-4924): complete Step 1 — add tasks TTL constant
...
Fusion-Task-Id: FN-4924
Fusion-Task-Lineage: a5f882e1-8348-4f9d-89be-15994adc148c
2026-05-17 12:41:21 -07:00
Fusion (runfusion.ai)
01caeb6d88
feat(FN-4762): merge fusion/fn-4762
...
Commits merged:
- merge fusion/fn-4762
Files changed:
AGENTS.md | 25 ++++++++++++++++++++++---
docs/README.md | 6 ++++++
packages/core/src/store.ts | 4 ++--
packages/dashboard/app/App.tsx | 10 ++++++++--
packages/dashboard/src/__tests__/github.test.ts | 3 ++-
5 files changed, 40 insertions(+), 8 deletions(-)
Fusion-Task-Id: FN-4762
Fusion-Task-Lineage: 5c7ef3b8-fefc-4cc2-a703-634124d77cde
2026-05-17 12:24:45 -07:00
Fusion (runfusion.ai)
1543df69a4
fix(FN-4762): address review feedback for PR panel merge controls
...
Fusion-Task-Id: FN-4762
Fusion-Task-Lineage: 5c7ef3b8-fefc-4cc2-a703-634124d77cde
2026-05-17 12:11:51 -07:00
Fusion (runfusion.ai)
73454fae5c
feat(FN-4762): complete Step 3 — PR merge routes and dashboard controls
...
Fusion-Task-Id: FN-4762
Fusion-Task-Lineage: 5c7ef3b8-fefc-4cc2-a703-634124d77cde
2026-05-17 12:11:51 -07:00
Fusion (runfusion.ai)
102893cba3
feat(FN-4762): complete Step 1 — core PR merge transition support
...
Fusion-Task-Id: FN-4762
Fusion-Task-Lineage: 5c7ef3b8-fefc-4cc2-a703-634124d77cde
2026-05-17 12:11:51 -07:00
gsxdsm
3c2bbf36c5
fix: add missing lastReviewDecision to legacy PrInfo type
...
PrPanel.tsx references prInfo.lastReviewDecision but the local
PrInfo interface in legacy.ts was missing this field, breaking
typecheck on main.
2026-05-17 12:10:14 -07:00
Fusion (runfusion.ai)
329b102eb2
fix(FN-4939): stabilize desktop test mocks and restore lint/type safety
...
Fusion-Task-Id: FN-4939
Fusion-Task-Lineage: b2a00edb-5245-4223-97e4-0a16dd2c3289
2026-05-17 11:49:09 -07:00
Fusion (runfusion.ai)
9a462388b5
feat(FN-4928): complete Step 2 — fix prompt-sizes SQL and add real DB regression test
...
Fusion-Task-Id: FN-4939
Fusion-Task-Lineage: b2a00edb-5245-4223-97e4-0a16dd2c3289
2026-05-17 11:49:08 -07:00
Fusion (runfusion.ai)
439716165b
test(FN-4761): complete Step 5 — add review transition regression coverage
...
Fusion-Task-Id: FN-4761
Fusion-Task-Lineage: b6b1ed73-c396-4dd2-b97f-366272d05c7f
2026-05-17 11:39:19 -07:00
Fusion (runfusion.ai)
3d7e737fbe
feat(FN-4761): finalize review auto-move docs and release note
...
Fusion-Task-Id: FN-4761
Fusion-Task-Lineage: b6b1ed73-c396-4dd2-b97f-366272d05c7f
2026-05-17 11:39:19 -07:00