gsxdsm
7d2bd9794e
FN-7337: make planner chats lazy and archive-scoped
Task planner chats now stay out of global chat history until a user interacts and are retained until task archive.
- Load task planner chat tabs with lookup-only resume before any user send.
- Show task-planner sessions in global Chat only after messages exist, including SSE refresh handling.
- Keep interacted planner chats for done tasks while deleting task-scoped planner sessions on archive.
- Cover chat store deletion, planner tab behavior, route filtering, and chat-list refresh with regression tests.
Files changed:
.changeset/fn-7337-planner-chat-retention.md | 7 ++
docs/dashboard-guide.md | 4 +-
packages/core/src/__tests__/chat-store.test.ts | 44 +++++++++
packages/core/src/chat-store.ts | 22 +++++
packages/dashboard/app/api/legacy.ts | 35 ++++++-
.../app/components/TaskPlannerChatTab.tsx | 13 ++-
.../__tests__/TaskPlannerChatTab.test.tsx | 91 +++++++++++++-----
.../dashboard/app/hooks/__tests__/useChat.test.ts | 41 ++++++++
packages/dashboard/app/hooks/useChat.ts | 15 ++-
.../dashboard/src/__tests__/chat-routes.test.ts | 105 +++++++++++++++++++++
.../dashboard/src/routes/register-chat-routes.ts | 17 +++-
packages/dashboard/src/server.ts | 10 +-
packages/engine/src/runtimes/in-process-runtime.ts | 8 ++
13 files changed, 378 insertions(+), 34 deletions(-)
Fusion-Task-Id: FN-7337
Fusion-Task-Lineage: 7ef9ed8f-af2e-4fa9-a2b6-0e8c8a805d5e
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-06-30 23:45:01 -07:00
..
2026-06-30 23:45:01 -07:00
2026-06-30 23:45:01 -07:00
2026-06-26 00:28:31 -07:00
2026-06-22 03:34:14 -07:00
2026-06-26 17:38:41 -07:00
2026-06-26 17:38:41 -07:00
2026-06-26 17:38:41 -07:00
2026-05-12 19:38:39 -07:00
2026-06-16 22:20:49 -07:00
2026-05-16 22:26:42 -07:00
2026-06-04 23:39:07 -07:00
2026-06-28 16:51:49 -07:00
2026-06-04 22:54:49 -07:00
2026-06-30 19:15:11 -07:00
2026-06-05 02:38:38 -07:00
2026-04-29 22:37:52 -07:00
2026-06-05 03:56:29 -07:00
2026-06-15 02:30:41 -07:00
2026-06-05 03:41:54 -07:00
2026-06-27 17:46:17 -07:00
2026-06-21 13:25:41 -07:00
2026-05-05 00:31:36 -07:00
2026-05-05 00:21:21 -07:00
2026-05-07 17:24:11 -07:00
2026-05-14 04:42:32 -07:00
2026-06-29 23:17:49 -07:00
2026-06-30 00:03:37 -07:00
2026-05-11 16:33:16 -07:00
2026-06-10 10:34:36 -07:00
2026-05-20 04:41:04 -07:00
2026-05-16 12:56:31 -07:00
2026-05-18 04:01:51 -07:00
2026-06-18 19:12:58 -07:00
2026-06-10 10:34:36 -07:00
2026-06-01 08:13:36 -07:00
2026-06-24 23:32:51 -07:00
2026-06-16 15:08:24 -07:00
2026-06-30 01:23:09 -07:00
2026-05-18 14:46:20 -07:00
2026-06-26 17:38:41 -07:00
2026-06-15 20:34:52 -07:00
2026-06-15 20:34:52 -07:00
2026-05-04 10:18:38 -07:00
2026-06-30 00:09:36 -07:00
2026-06-30 00:09:36 -07:00
2026-06-25 08:35:44 -07:00
2026-06-16 15:11:09 -07:00
2026-06-16 15:11:09 -07:00
2026-06-16 05:56:11 -07:00
2026-06-27 12:25:53 -07:00
2026-06-30 00:09:36 -07:00
2026-06-09 04:27:53 -07:00
2026-06-26 16:14:44 -07:00
2026-06-28 01:17:22 -07:00
2026-06-16 15:08:24 -07:00
2026-06-27 21:39:40 -07:00
2026-06-09 04:27:53 -07:00
2026-05-17 23:21:34 -07:00
2026-04-30 20:10:52 -07:00
2026-05-06 18:40:52 -07:00
2026-05-11 06:47:43 -07:00
2026-05-11 06:47:43 -07:00
2026-06-30 13:20:27 -07:00
2026-05-07 04:17:52 -07:00
2026-06-30 23:45:01 -07:00
2026-06-26 00:28:31 -07:00
2026-06-22 11:49:52 -07:00
2026-06-27 22:15:53 -07:00
2026-06-26 17:38:41 -07:00
2026-06-30 18:51:41 -07:00
2026-06-30 00:03:37 -07:00
2026-06-09 20:08:18 -07:00
2026-06-26 17:38:41 -07:00
2026-06-13 16:30:28 -07:00
2026-06-03 07:51:38 -07:00
2026-06-21 20:28:33 -07:00