Fusion Agent
e80fef3fe0
FN-040: fix chat source-link integrity and contrast
Harden chat source links across streaming providers while improving new-tab behavior and visual contrast.
- Preserve source-link metadata through streamed delta and event bridges.
- Open chat source links safely in new tabs across desktop and mobile surfaces.
- Improve source-link contrast and add regression coverage plus user-facing guidance.
Files changed:
.changeset/fn-040-chat-source-links.md | 7 +++
docs/dashboard-guide.md | 3 +
.../ui-bugs/chat-streamed-source-link-integrity.md | 53 ++++++++++++++++
packages/dashboard/app/components/ChatView.css | 24 ++++++++
.../app/components/StandardChatSurface.tsx | 8 ++-
.../components/__tests__/ChatView.core.test.tsx | 38 ++++++++++++
.../components/__tests__/ChatView.mobile.test.tsx | 70 ++++++++++++++++++++--
.../__tests__/ChatView.sessions-rooms.test.tsx | 49 +++++++++++++++
...andardChatSurface.nativeStructureEmbed.test.tsx | 52 +++++++++++++++-
.../__tests__/TaskPlannerChatTab.test.tsx | 48 +++++++++++++++
.../engine/src/__tests__/streaming-delta.test.ts | 36 +++++++++++
packages/engine/src/execution/streaming-delta.ts | 17 +++++-
.../src/__tests__/event-bridge.test.ts | 30 +++++++++-
packages/pi-claude-cli/src/event-bridge.ts | 14 +++--
.../src/__tests__/event-bridge.test.ts | 42 +++++++++++++
.../fusion-plugin-acp-runtime/src/event-bridge.ts | 8 ++-
.../src/__tests__/provider.test.ts | 34 +++++++++++
.../src/acp/event-bridge.ts | 8 ++-
.../src/__tests__/event-bridge.test.ts | 28 +++++++++
.../src/event-bridge.ts | 14 +++--
.../src/__tests__/provider.test.ts | 34 +++++++++++
.../src/acp/event-bridge.ts | 8 ++-
.../src/__tests__/runtime-adapter.test.ts | 34 +++++++++++
.../src/acp/event-bridge.ts | 8 ++-
24 files changed, 642 insertions(+), 25 deletions(-)
Fusion-Task-Id: FN-040
Fusion-Task-Lineage: 364ad678-df3e-4fb2-b19c-29eb44d8a429
Co-authored-by: Fusion <noreply@runfusion.ai>
2026-08-20 03:57:23 +00:00
..
2026-07-02 13:51:25 -07:00
2026-07-30 04:37:19 -07:00
2026-08-20 03:57:23 +00:00
2026-07-17 00:29:48 -07:00
2026-06-03 20:02:03 -07:00
2026-06-06 01:42:57 -07:00
2026-06-05 14:23:27 -07:00
2026-06-11 21:26:59 -07:00
2026-08-20 03:55:38 +00:00
2026-06-13 11:22:07 -07:00
2026-06-13 10:29:24 -07:00
2026-06-13 10:14:11 -07:00
2026-07-07 22:04:48 -07:00
2026-07-08 15:09:26 -07:00
2026-07-01 15:39:33 -07:00
2026-07-07 22:04:49 -07:00
2026-06-13 16:30:28 -07:00
2026-06-09 22:44:30 -07:00
2026-07-14 17:18:06 -07:00
2026-08-15 06:42:39 -07:00
2026-06-17 01:22:21 -07:00
2026-06-20 00:41:36 -07:00
2026-06-03 15:05:40 -07:00
2026-06-16 23:21:14 -07:00
2026-07-16 21:13:30 -07:00
2026-06-13 17:26:12 -07:00
2026-07-23 19:46:02 -07:00
2026-07-05 19:42:16 -07:00
2026-06-20 21:02:51 -07:00