Commit Graph

3804 Commits

Author SHA1 Message Date
Fusion (runfusion.ai)
d1183ea741 test(FN-4862): add node settings sync auth backstops
- Add route coverage for push and pull requests when a remote node apiKey is empty
- Reject malformed and non-exact bearer headers for settings and auth receive endpoints
- Verify sourceNodeId never bypasses bearer validation while valid tokens still reach apply paths
- Assert 401 responses do not echo attempted bearer tokens

Fusion-Task-Id: FN-4862
2026-05-17 02:19:49 -07:00
Fusion (runfusion.ai)
41a8aca91c fix(FN-4782): add explicit index preload marker
Fusion-Task-Id: FN-4782
Fusion-Task-Lineage: 5d6b5632-a135-4d25-9382-57fa23e22484
2026-05-17 01:56:39 -07:00
Fusion (runfusion.ai)
aa105c9b80 feat(FN-4782): complete Step 3 — inject view chunk preload
Fusion-Task-Id: FN-4782
Fusion-Task-Lineage: 5d6b5632-a135-4d25-9382-57fa23e22484
2026-05-17 01:56:39 -07:00
Fusion (runfusion.ai)
6bb70dc805 feat(FN-4782): complete Step 2 — add view chunk manifest helper
Fusion-Task-Id: FN-4782
Fusion-Task-Lineage: 5d6b5632-a135-4d25-9382-57fa23e22484
2026-05-17 01:56:39 -07:00
Fusion (runfusion.ai)
24ad23bf6f feat(FN-4782): complete Step 1 — emit Vite manifest
Fusion-Task-Id: FN-4782
Fusion-Task-Lineage: 5d6b5632-a135-4d25-9382-57fa23e22484
2026-05-17 01:56:39 -07:00
Fusion (runfusion.ai)
7c14e16b80 test(FN-4857): update room send expectations for attachment opts
Fusion-Task-Id: FN-4857
Fusion-Task-Lineage: 52e7b1cd-ec8f-4b6c-abfc-08c91e321b9e
2026-05-17 01:37:41 -07:00
Fusion (runfusion.ai)
74f0bd9e8d feat(FN-4857): complete Step 6 — wire room send dispatch in ChatView
Fusion-Task-Id: FN-4857
Fusion-Task-Lineage: 52e7b1cd-ec8f-4b6c-abfc-08c91e321b9e
2026-05-17 01:37:40 -07:00
Fusion (runfusion.ai)
c7f98f8381 feat(FN-4857): complete Step 5 — enable room sends with attachments in QuickChat
Fusion-Task-Id: FN-4857
Fusion-Task-Lineage: 52e7b1cd-ec8f-4b6c-abfc-08c91e321b9e
2026-05-17 01:37:39 -07:00
Fusion (runfusion.ai)
a9e76bff81 feat(FN-4857): complete Step 4 — upload room attachments in useChatRooms
Fusion-Task-Id: FN-4857
Fusion-Task-Lineage: 52e7b1cd-ec8f-4b6c-abfc-08c91e321b9e
2026-05-17 01:37:38 -07:00
Fusion (runfusion.ai)
354dae2d54 feat(FN-4857): complete Step 3 — add room attachment API helpers
Fusion-Task-Id: FN-4857
Fusion-Task-Lineage: 52e7b1cd-ec8f-4b6c-abfc-08c91e321b9e
2026-05-17 01:37:38 -07:00
Fusion (runfusion.ai)
98aee61df8 feat(FN-4857): complete Step 2 — add room attachment upload routes
Fusion-Task-Id: FN-4857
Fusion-Task-Lineage: 52e7b1cd-ec8f-4b6c-abfc-08c91e321b9e
2026-05-17 01:37:38 -07:00
Fusion (runfusion.ai)
3221e57b09 feat(FN-4855): complete Step 2-3 — harden disable route and modal state
Fusion-Task-Id: FN-4855
Fusion-Task-Lineage: 47f093b7-dffc-4c1a-8dee-2fe01d0c9ed6
2026-05-17 01:08:50 -07:00
gsxdsm
7a6a3d0d22 feat(FN-4856): merge fusion/fn-4856 2026-05-17 01:08:01 -07:00
Fusion (runfusion.ai)
08bca99e55 test(FN-4853): add /api/agents pending-approval performance regression
Fusion-Task-Id: FN-4853
Fusion-Task-Lineage: aaad0ff7-714c-4c82-a1e7-c9a725db90cb
2026-05-17 01:01:53 -07:00
Fusion (runfusion.ai)
b8b97655b2 feat(FN-4853): complete Step 2 — aggregate pending approval counts
Fusion-Task-Id: FN-4853
Fusion-Task-Lineage: aaad0ff7-714c-4c82-a1e7-c9a725db90cb
2026-05-17 01:01:52 -07:00
Fusion (runfusion.ai)
4caee9be30 test(FN-4854): cover chat-room cache hydration and invalidation
Fusion-Task-Id: FN-4854
Fusion-Task-Lineage: 969ec04a-efe3-4dee-b183-2d4f2de6b388
2026-05-17 00:43:48 -07:00
Fusion (runfusion.ai)
4307d71c3a feat(FN-4854): complete Step 4 — hydrate chat rooms cache
Fusion-Task-Id: FN-4854
Fusion-Task-Lineage: 969ec04a-efe3-4dee-b183-2d4f2de6b388
2026-05-17 00:43:48 -07:00
Fusion (runfusion.ai)
8ca0cddfe7 feat(FN-4854): complete Step 3 — hydrate documents and todo list caches
Fusion-Task-Id: FN-4854
Fusion-Task-Lineage: 969ec04a-efe3-4dee-b183-2d4f2de6b388
2026-05-17 00:43:48 -07:00
Fusion (runfusion.ai)
9feb4ec870 test(FN-4854): add useAgents cache hydration coverage
Fusion-Task-Id: FN-4854
Fusion-Task-Lineage: 969ec04a-efe3-4dee-b183-2d4f2de6b388
2026-05-17 00:43:47 -07:00
Fusion (runfusion.ai)
0f9c08ace7 feat(FN-4854): complete Step 2 — hydrate agents cache
Fusion-Task-Id: FN-4854
Fusion-Task-Lineage: 969ec04a-efe3-4dee-b183-2d4f2de6b388
2026-05-17 00:43:47 -07:00
Fusion (runfusion.ai)
228daa8f35 feat(FN-4854): complete Step 1 — extend cache keys and diagnostics
Fusion-Task-Id: FN-4854
Fusion-Task-Lineage: 969ec04a-efe3-4dee-b183-2d4f2de6b388
2026-05-17 00:43:47 -07:00
Fusion (runfusion.ai)
384a6abe96 fix(FN-4849): include full room message shape in quick chat mapping
Fusion-Task-Id: FN-4849
Fusion-Task-Lineage: 624f86c4-0b0f-4543-90d2-381f890da401
2026-05-17 00:37:54 -07:00
Fusion (runfusion.ai)
b97709a3d4 feat(FN-4849): complete Step 2 — route room thread reads and sends
Fusion-Task-Id: FN-4849
Fusion-Task-Lineage: 624f86c4-0b0f-4543-90d2-381f890da401
2026-05-17 00:37:53 -07:00
gsxdsm
2adc9fa0da feat(FN-4841): merge fusion/fn-4841 2026-05-17 00:22:57 -07:00
Fusion (runfusion.ai)
25bc5d3a18 test(FN-4835): broaden chunk-boundary whitespace regressions
Fusion-Task-Id: FN-4835
Fusion-Task-Lineage: 09eb6339-a476-4cf1-b7e5-e60fa6c263ce
2026-05-17 00:14:59 -07:00
Fusion (runfusion.ai)
f8457d1130 test(FN-4835): cover streamed-text precedence in chat hooks
Fusion-Task-Id: FN-4835
Fusion-Task-Lineage: 09eb6339-a476-4cf1-b7e5-e60fa6c263ce
2026-05-17 00:14:58 -07:00
Fusion (runfusion.ai)
7351852a61 feat(FN-4835): complete Step 4 — prefer streamed accumulator on done
Fusion-Task-Id: FN-4835
Fusion-Task-Lineage: 09eb6339-a476-4cf1-b7e5-e60fa6c263ce
2026-05-17 00:14:58 -07:00
Fusion (runfusion.ai)
c491dac28f test(FN-4850): add active worktree rename and copy diff coverage
Fusion-Task-Id: FN-4850
Fusion-Task-Lineage: 903d8e4e-eba7-413e-86d8-94eae7318952
2026-05-17 00:06:26 -07:00
Fusion (runfusion.ai)
19b9ea4464 feat(FN-4850): complete Step 1 — deterministic rename detection
Fusion-Task-Id: FN-4850
Fusion-Task-Lineage: 903d8e4e-eba7-413e-86d8-94eae7318952
2026-05-17 00:06:25 -07:00
gsxdsm
6d6a0242f0 feat(FN-4846): merge fusion/fn-4846 2026-05-16 23:20:31 -07:00
gsxdsm
7988a48576 feat(FN-4844): merge fusion/fn-4844 2026-05-16 23:20:13 -07:00
Fusion (runfusion.ai)
a3e47645b6 test(FN-4833): add node sync auth ownership backstops
- Add node settings sync round-trip tests covering outbound push and pull flows
- Assert outbound node sync and auth routes send the target node Bearer apiKey
- Reject inbound requests authenticated with a remote node key and outbound requests targeting the local or missing node
- Verify auth-sync diagnostics stay redacted and do not leak credentials

Fusion-Task-Id: FN-4833
2026-05-16 22:59:37 -07:00
gsxdsm
df998cb54f feat(FN-4829): merge fusion/fn-4829 2026-05-16 22:26:42 -07:00
Fusion (runfusion.ai)
46a50c123f feat(FN-4824): forward task assignment events across remote runtime
Fusion-Task-Id: FN-4824
Fusion-Task-Lineage: 65f53a33-0939-4b6f-b62b-4a255ad14d9e
2026-05-16 21:53:18 -07:00
Fusion (runfusion.ai)
9845678953 test(FN-4804): add quick chat dropdown regression coverage
Fusion-Task-Id: FN-4804
Fusion-Task-Lineage: d2a98aa6-1c5c-427b-ba72-f5d229fdeeb9
2026-05-16 21:17:15 -07:00
Fusion (runfusion.ai)
f5540a2a33 feat(FN-4804): complete Step 1 — preserve explicit session picks
Fusion-Task-Id: FN-4804
Fusion-Task-Lineage: d2a98aa6-1c5c-427b-ba72-f5d229fdeeb9
2026-05-16 21:17:15 -07:00
gsxdsm
4d5e296049 feat(FN-4801): merge fusion/fn-4801 2026-05-16 20:13:30 -07:00
Fusion (runfusion.ai)
ec8d1f5246 test(FN-4812): assert mobile FileMentionPopup anchoring rule
Fusion-Task-Id: FN-4812
Fusion-Task-Lineage: 9877a784-5320-410c-82fa-3f6a6d9b5358
2026-05-16 19:16:48 -07:00
Fusion (runfusion.ai)
02713ee45e fix(FN-4812): anchor FileMentionPopup above input on mobile
Fusion-Task-Id: FN-4812
Fusion-Task-Lineage: 9877a784-5320-410c-82fa-3f6a6d9b5358
2026-05-16 19:16:47 -07:00
Fusion (runfusion.ai)
8405e1fce6 fix(FN-4786): align dashboard activity event typings
Fusion-Task-Id: FN-4786
Fusion-Task-Lineage: eb683ec8-8b9d-4e3d-852c-7076224afa6b
2026-05-16 18:40:05 -07:00
Fusion (runfusion.ai)
ec169bf347 test(FN-4786): complete Step 4 — add first-turn loading regressions
Fusion-Task-Id: FN-4786
Fusion-Task-Lineage: eb683ec8-8b9d-4e3d-852c-7076224afa6b
2026-05-16 18:40:04 -07:00
Fusion (runfusion.ai)
560e35708a fix(FN-4786): complete Step 3 — replay first-turn thinking catch-up
Fusion-Task-Id: FN-4786
Fusion-Task-Lineage: eb683ec8-8b9d-4e3d-852c-7076224afa6b
2026-05-16 18:40:03 -07:00
Fusion (runfusion.ai)
84f914884a feat(FN-4786): complete Step 2 — globalize spin utility
Fusion-Task-Id: FN-4786
Fusion-Task-Lineage: eb683ec8-8b9d-4e3d-852c-7076224afa6b
2026-05-16 18:40:03 -07:00
Fusion (runfusion.ai)
4691cbe199 fix(FN-4804): sync quick chat session and room selection
- Clear the active chat room when switching Quick Chat to a direct session
- Keep the hidden session dropdown value and initial-session state aligned with room selection changes
- Add dashboard regression coverage for switching from a room back to a direct chat and include a CLI patch changeset

Fusion-Task-Id: FN-4804
2026-05-16 17:47:48 -07:00
Fusion (runfusion.ai)
c3dd34f070 feat(FN-4816): add integration tests for node settings sync API routes
Adds integration tests for node settings sync API routes (`routes-nodes-sync.test.ts`), covering the settings push/pull and sync-status endpoints across the dashboard node management API.

Fusion-Task-Id: FN-4816

Fusion-Task-Lineage: 01f1bec6-f1c3-43bc-8854-5c4739f0e736
2026-05-16 17:44:25 -07:00
Fusion (runfusion.ai)
b81bfacf07 fix(FN-4813): avoid isolation transition double-write in project route
Fusion-Task-Id: FN-4813
Fusion-Task-Lineage: 846893a5-2afa-4817-8f64-8c444d2fd713
2026-05-16 17:31:09 -07:00
Fusion (runfusion.ai)
63adddadf9 feat(FN-4813): complete Step 5 — add isolation transition runtime restart path
Fusion-Task-Id: FN-4813
Fusion-Task-Lineage: 846893a5-2afa-4817-8f64-8c444d2fd713
2026-05-16 17:31:09 -07:00
gsxdsm
4180816e01 feat(FN-4805): merge fusion/fn-4805 2026-05-16 16:03:09 -07:00
Fusion (runfusion.ai)
5204177c2b test(FN-4803): complete Step 3 — cover github dedup toggle behavior
Fusion-Task-Id: FN-4803
Fusion-Task-Lineage: cbfa10fd-33a6-469c-9cb4-3a647bc47b84
2026-05-16 14:56:56 -07:00
Fusion (runfusion.ai)
371b1be7f7 feat(FN-4803): complete Step 1 — add dedup toggle in settings modal
Fusion-Task-Id: FN-4803
Fusion-Task-Lineage: cbfa10fd-33a6-469c-9cb4-3a647bc47b84
2026-05-16 14:56:56 -07:00