Fusion (runfusion.ai)
46794e758b
fix(FN-5010): avoid template hex interpolation for chip color var
...
Fusion-Task-Id: FN-5010
Fusion-Task-Lineage: 0975200b-f771-4e8e-a851-8286c0309257
2026-05-18 05:10:44 -07:00
Fusion (runfusion.ai)
9170f78cd0
test(FN-5010): complete Step 3 — assert chip color variable wiring
...
Fusion-Task-Id: FN-5010
Fusion-Task-Lineage: 0975200b-f771-4e8e-a851-8286c0309257
2026-05-18 05:10:44 -07:00
Fusion (runfusion.ai)
c34e778a65
feat(FN-5010): complete Step 2 — tint chips via CSS var modifier
...
Fusion-Task-Id: FN-5010
Fusion-Task-Lineage: 0975200b-f771-4e8e-a851-8286c0309257
2026-05-18 05:10:44 -07:00
Fusion (runfusion.ai)
b58e65d587
feat(FN-5010): complete Step 1 — move label color to CSS custom property
...
Fusion-Task-Id: FN-5010
Fusion-Task-Lineage: 0975200b-f771-4e8e-a851-8286c0309257
2026-05-18 05:10:44 -07:00
Fusion (runfusion.ai)
0f6b0fb096
feat(FN-4984): complete Step 2 — add SecretsView sync passphrase panel
...
Fusion-Task-Id: FN-4984
Fusion-Task-Lineage: 8fdf7a19-b101-4b33-8e60-44fcbf402256
2026-05-18 04:46:56 -07:00
Fusion (runfusion.ai)
29cd4aab9b
feat(FN-4984): complete Step 1 — add sync passphrase routes
...
Fusion-Task-Id: FN-4984
Fusion-Task-Lineage: 8fdf7a19-b101-4b33-8e60-44fcbf402256
2026-05-18 04:46:56 -07:00
Fusion (runfusion.ai)
c97ebde1d3
test(FN-4981): complete Step 4 — enforce apiKey guard ordering
...
Fusion-Task-Id: FN-4981
Fusion-Task-Lineage: 0b3fae6a-a86b-44d5-94e8-4c94429d4767
2026-05-18 04:31:25 -07:00
Fusion (runfusion.ai)
765a6fed0a
test(FN-4981): complete Step 3 — add pull missing-apiKey coverage
...
Fusion-Task-Id: FN-4981
Fusion-Task-Lineage: 0b3fae6a-a86b-44d5-94e8-4c94429d4767
2026-05-18 04:31:25 -07:00
Fusion (runfusion.ai)
47775e9428
test(FN-4981): complete Step 2 — add push missing-apiKey coverage
...
Fusion-Task-Id: FN-4981
Fusion-Task-Lineage: 0b3fae6a-a86b-44d5-94e8-4c94429d4767
2026-05-18 04:31:25 -07:00
Fusion (runfusion.ai)
13e5775e17
test(FN-4985): complete Step 2 — add pull split height parity regression
...
Fusion-Task-Id: FN-4985
Fusion-Task-Lineage: aef36307-9d45-4246-97c2-33948a3c5a04
2026-05-18 04:12:31 -07:00
Fusion (runfusion.ai)
f13da3cc31
feat(FN-4985): complete Step 1 — equalize pull toggle height on desktop
...
Fusion-Task-Id: FN-4985
Fusion-Task-Lineage: aef36307-9d45-4246-97c2-33948a3c5a04
2026-05-18 04:12:31 -07:00
gsxdsm
0b6d1594ce
feat(FN-4983): merge fusion/fn-4983
2026-05-18 04:02:39 -07:00
gsxdsm
e33159e91b
feat(FN-4919): merge fusion/fn-4919
2026-05-18 04:01:51 -07:00
Fusion (runfusion.ai)
b5e674059b
test(FN-4980): cover sync-export auth rejection paths
...
- Add GET /api/secrets/sync-export coverage for missing, malformed, and invalid Authorization headers
- Assert 401 responses never echo bearer token material back in the response body
- Verify requests are rejected when the local node has no configured API key
Fusion-Task-Id: FN-4980
2026-05-18 03:47:30 -07:00
Fusion (runfusion.ai)
da9aedd1b1
fix(FN-4963): stabilize empty-state cache-failure coverage
...
Fusion-Task-Id: FN-4963
Fusion-Task-Lineage: 791f5e46-c630-4883-89de-942cc85c329b
2026-05-18 03:34:54 -07:00
Fusion (runfusion.ai)
e5d586acc7
test(FN-4963): complete Step 5 — add chat sessions cache hydration tests
...
Fusion-Task-Id: FN-4963
Fusion-Task-Lineage: 791f5e46-c630-4883-89de-942cc85c329b
2026-05-18 03:34:54 -07:00
Fusion (runfusion.ai)
7f36f56bb1
feat(FN-4963): complete Step 4 — clear chat sessions cache on version update
...
Fusion-Task-Id: FN-4963
Fusion-Task-Lineage: 791f5e46-c630-4883-89de-942cc85c329b
2026-05-18 03:34:54 -07:00
Fusion (runfusion.ai)
b7fcf439ae
feat(FN-4963): complete Step 3 — hydrate chat sessions from SWR cache
...
Fusion-Task-Id: FN-4963
Fusion-Task-Lineage: 791f5e46-c630-4883-89de-942cc85c329b
2026-05-18 03:34:54 -07:00
Fusion (runfusion.ai)
bca388af84
feat(FN-4963): complete Step 2 — add chat sessions cache key
...
Fusion-Task-Id: FN-4963
Fusion-Task-Lineage: 791f5e46-c630-4883-89de-942cc85c329b
2026-05-18 03:34:54 -07:00
gsxdsm
2fd96d51c1
feat(FN-4960): merge fusion/fn-4960
2026-05-18 03:17:02 -07:00
gsxdsm
1842a69e6c
test(FN-4951): stabilize clipboard fallback coverage
...
Fusion-Task-Id: FN-4951
Fusion-Task-Lineage: 25de66db-c8cf-463b-86f2-efff1bc22683
2026-05-18 03:10:52 -07:00
gsxdsm
b8f4042be4
test(FN-4951): complete Step 5 — cover clipboard fallback and toast paths
...
Fusion-Task-Id: FN-4951
Fusion-Task-Lineage: 25de66db-c8cf-463b-86f2-efff1bc22683
2026-05-18 03:10:52 -07:00
gsxdsm
21d17e4005
feat(FN-4951): complete Step 4 — wire onboarding copilot clipboard fallback
...
Fusion-Task-Id: FN-4951
Fusion-Task-Lineage: 25de66db-c8cf-463b-86f2-efff1bc22683
2026-05-18 03:10:52 -07:00
gsxdsm
6339ef0f45
feat(FN-4951): complete Step 3 — wire settings copilot clipboard fallback
...
Fusion-Task-Id: FN-4951
Fusion-Task-Lineage: 25de66db-c8cf-463b-86f2-efff1bc22683
2026-05-18 03:10:52 -07:00
gsxdsm
3986c09154
test(FN-4951): complete Step 2 — add clipboard utility tests
...
Fusion-Task-Id: FN-4951
Fusion-Task-Lineage: 25de66db-c8cf-463b-86f2-efff1bc22683
2026-05-18 03:10:52 -07:00
gsxdsm
c96a918591
feat(FN-4951): complete Step 1 — add shared clipboard utility
...
Fusion-Task-Id: FN-4951
Fusion-Task-Lineage: 25de66db-c8cf-463b-86f2-efff1bc22683
2026-05-18 03:10:52 -07:00
Fusion (runfusion.ai)
f9f8ca04b9
feat(FN-4950): reinforce recycleWorktrees opt-in default copy
...
Fusion-Task-Id: FN-4950
Fusion-Task-Lineage: ce37aa18-a5ff-4aef-a93b-768edd07978c
2026-05-18 02:32:16 -07:00
Fusion (runfusion.ai)
499f88f672
fix(FN-4943): complete Step 3 — preserve clear/new dismiss behavior
...
Fusion-Task-Id: FN-4943
Fusion-Task-Lineage: 67dd5c2b-0b44-43dd-a016-0bff858ec4b9
2026-05-18 02:06:32 -07:00
Fusion (runfusion.ai)
c6687bec09
feat(FN-4943): complete Step 2 — mirror stop flush behavior in useQuickChat
...
Fusion-Task-Id: FN-4943
Fusion-Task-Lineage: 67dd5c2b-0b44-43dd-a016-0bff858ec4b9
2026-05-18 02:06:32 -07:00
Fusion (runfusion.ai)
b3e9b8ca36
feat(FN-4943): complete Step 1 — auto-flush queued stop in useChat
...
Fusion-Task-Id: FN-4943
Fusion-Task-Lineage: 67dd5c2b-0b44-43dd-a016-0bff858ec4b9
2026-05-18 02:06:30 -07:00
Fusion (runfusion.ai)
5d6007ccb9
test(FN-5030): complete Step 7 - include modal test in quality gate
...
Fusion-Task-Id: FN-5030
Fusion-Task-Lineage: fdd10e2a-220a-47d3-9da0-075f5ba2695e
2026-05-18 01:56:59 -07:00
Fusion (runfusion.ai)
e70903ae75
test(FN-5030): complete Step 6 - cover auto-archived activity events
...
Fusion-Task-Id: FN-5030
Fusion-Task-Lineage: fdd10e2a-220a-47d3-9da0-075f5ba2695e
2026-05-18 01:56:59 -07:00
Fusion (runfusion.ai)
459a1444df
feat(FN-5030): complete Step 5 - use native DOM event types in import modal
...
Fusion-Task-Id: FN-5030
Fusion-Task-Lineage: fdd10e2a-220a-47d3-9da0-075f5ba2695e
2026-05-18 01:56:59 -07:00
Fusion (runfusion.ai)
a7ee74d340
feat(FN-5030): complete Step 3 - add auto-archived activity labels/icons
...
Fusion-Task-Id: FN-5030
Fusion-Task-Lineage: fdd10e2a-220a-47d3-9da0-075f5ba2695e
2026-05-18 01:56:59 -07:00
Fusion (runfusion.ai)
566936663b
feat(FN-5030): complete Step 2 - replace duplicate ActivityFeedEntry union
...
Fusion-Task-Id: FN-5030
Fusion-Task-Lineage: fdd10e2a-220a-47d3-9da0-075f5ba2695e
2026-05-18 01:56:58 -07:00
Fusion (runfusion.ai)
9f22bf3ca3
test(FN-4936): complete Step 4 — add resize handle behavior coverage
...
Fusion-Task-Id: FN-4936
Fusion-Task-Lineage: 6c860bad-2120-4a81-a399-02c1d45aa63e
2026-05-18 01:16:17 -07:00
Fusion (runfusion.ai)
b61270e480
feat(FN-4936): complete Step 3 — style resizable workspace divider
...
Fusion-Task-Id: FN-4936
Fusion-Task-Lineage: 6c860bad-2120-4a81-a399-02c1d45aa63e
2026-05-18 01:16:17 -07:00
Fusion (runfusion.ai)
2f8a634464
feat(FN-4936): complete Step 1 — add resizable pane state and handlers
...
Fusion-Task-Id: FN-4936
Fusion-Task-Lineage: 6c860bad-2120-4a81-a399-02c1d45aa63e
2026-05-18 01:16:17 -07:00
Fusion (runfusion.ai)
cad2434710
fix(FN-5017): restore dashboard build type safety in PR metadata generator
...
Fusion-Task-Id: FN-5017
Fusion-Task-Lineage: aeedc3f2-7df8-4467-94b1-77b13b6554e3
2026-05-18 00:47:08 -07:00
Fusion (runfusion.ai)
02065e43d5
test(FN-5017): complete Step 4 — cover create PR quick action behavior
...
Fusion-Task-Id: FN-5017
Fusion-Task-Lineage: aeedc3f2-7df8-4467-94b1-77b13b6554e3
2026-05-18 00:47:08 -07:00
Fusion (runfusion.ai)
ebb3ee2a2d
feat(FN-5017): complete Step 2 — add in-review create PR quick action
...
Fusion-Task-Id: FN-5017
Fusion-Task-Lineage: aeedc3f2-7df8-4467-94b1-77b13b6554e3
2026-05-18 00:47:08 -07:00
Fusion (runfusion.ai)
b624b14191
feat(FN-5017): complete Step 1 — plumb prAuthAvailable to TaskCard
...
Fusion-Task-Id: FN-5017
Fusion-Task-Lineage: aeedc3f2-7df8-4467-94b1-77b13b6554e3
2026-05-18 00:47:08 -07:00
Fusion (runfusion.ai)
48bd4d0b3e
test(FN-5012): tighten PrChecksList mobile selector regression
...
Fusion-Task-Id: FN-5012
Fusion-Task-Lineage: e83baffb-76ff-4317-8ff9-e576d5818a9c
2026-05-18 00:20:39 -07:00
Fusion (runfusion.ai)
770b7c8584
test(FN-5012): guard PR-flow CSS against mobile button overrides
...
Fusion-Task-Id: FN-5012
Fusion-Task-Lineage: e83baffb-76ff-4317-8ff9-e576d5818a9c
2026-05-18 00:20:39 -07:00
Fusion (runfusion.ai)
403a49138d
fix(FN-5012): drop mobile .btn override from PrChecksList
...
Fusion-Task-Id: FN-5012
Fusion-Task-Lineage: e83baffb-76ff-4317-8ff9-e576d5818a9c
2026-05-18 00:20:39 -07:00
Fusion (runfusion.ai)
09a18f81be
feat(FN-4991): add PR metadata generator helper
...
Added a PR metadata generator helper to the dashboard package (FN-4991), including test coverage for the new module.
Fusion-Task-Id: FN-4991
Fusion-Task-Lineage: 11bdb797-558e-4ae6-a265-4bcd91da2be6
2026-05-18 00:19:05 -07:00
Fusion (runfusion.ai)
e3c90d9f88
test(FN-5020): complete Step 2 — cover create-pr modal wiring
...
Fusion-Task-Id: FN-5020
Fusion-Task-Lineage: 9007731b-0171-4154-95e0-4fc4b67f0dbd
2026-05-18 00:02:23 -07:00
Fusion (runfusion.ai)
6d5cd9450b
feat(FN-5020): complete Step 1 — wire create-PR modal trigger
...
Fusion-Task-Id: FN-5020
Fusion-Task-Lineage: 9007731b-0171-4154-95e0-4fc4b67f0dbd
2026-05-18 00:02:23 -07:00
gsxdsm
8b50b754cd
chore(desktop): drop debug console.logs from launch-mode reset flow
...
The console.log breadcrumbs added while diagnosing the menu also
caused an uncaught "write EPIPE" when the parent terminal pipe was
already closed by the time the user clicked Change Launch Mode.
Now that the flow is verified working, remove the chatter and keep
only the actual error-path logging.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 23:32:10 -07:00
gsxdsm
aeee05ddc4
test: skip slow github copilot panel test and two flaky file-scope tests
...
- SettingsModal "renders github copilot device code panel" was the
single slowest dashboard test (~4s wall) due to userEvent + a 5s
waitFor. Skipping per request.
- merger-file-scope-invariant.test.ts "accepts declared scope as a
single changeset file" / "as a changeset glob" flake under
workspace-concurrent runs: the vi.mock of node:child_process
occasionally doesn't take effect, so execAsync("git diff --cached
--name-only") reaches the real git binary and reports unrelated
staged files. Same logic remains covered by the real-git fixture
tests in reliability-interactions/workflow-and-file-scope.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-17 23:25:26 -07:00