Keep existing chat thread messages visible while reconnecting to streamed assistant responses. - Hydrate or reload prior session messages before attaching an in-flight stream in full chat. - Add QuickChat session-specific message loading so resumed streams do not hide earlier turns. - Cover full chat and QuickChat streaming attach behavior with regression tests. - Add the required patch changeset and quarantine unrelated flaky dashboard tests observed during verification. Files changed: .changeset/fn-6496-chat-stream-prior-thread.md | 5 + .../dashboard/app/hooks/__tests__/useChat.test.ts | 286 ++++++++++++++++++++- .../app/hooks/__tests__/useQuickChat.test.ts | 147 ++++++++++- packages/dashboard/app/hooks/useChat.ts | 17 +- packages/dashboard/app/hooks/useQuickChat.ts | 62 ++--- packages/dashboard/vitest.config.ts | 13 +- scripts/lib/test-quarantine.json | 13 +- 7 files changed, 502 insertions(+), 41 deletions(-) Fusion-Task-Id: FN-6496 Fusion-Task-Lineage: eb371b39-9810-48b7-a395-30066c9bc3be
16 lines
2.0 KiB
JSON
16 lines
2.0 KiB
JSON
{
|
|
"$comment": "Flaky-test quarantine ledger (deletion ratchet — see AGENTS.md 'Flaky tests: quarantine on sight' and docs/testing.md 'Quarantine ledger and the deletion ratchet'). A test observed failing without a corresponding real bug is quarantined ON SIGHT: add an entry here AND a matching one-line `exclude` entry in that package's vitest config, in the same commit. Every entry needs a non-empty `reason` (link the failing run) and a `quarantinedAt` date — the entry expires 14 days later, at which point the test file is DELETED unless someone rescues it with evidence it catches real regressions plus a root-cause fix (never appeasement). There is deliberately no loader module and no automation around this file: it is a dated record, the vitest config exclude is the mechanism, and the sweep is policy executed by whoever touches the suite.",
|
|
"entries": [
|
|
{
|
|
"file": "packages/dashboard/app/components/__tests__/QuickEntryBox.test.tsx",
|
|
"reason": "FN-6496 verification: pnpm test failed in QuickEntryBox expanded-mode tests (expected aria-expanded=false, received true) while FN-6496 only changed chat streaming hooks; direct isolated rerun of this file passed, so classify as unrelated flaky state leakage. Failing command: pnpm test; confirming command: pnpm --filter @fusion/dashboard exec vitest run app/components/__tests__/QuickEntryBox.test.tsx --reporter=dot --silent=passed-only.",
|
|
"quarantinedAt": "2026-06-16"
|
|
},
|
|
{
|
|
"file": "packages/dashboard/src/__tests__/github-tracking-hook.test.ts",
|
|
"reason": "FN-6496 merge verification: pnpm test failed in dashboard-api-quality-backfill with ENOTEMPTY while removing a temp task directory; isolated rerun of the file passed, so classify as unrelated cleanup flake. Failing command: pnpm test; confirming command: pnpm --filter @fusion/dashboard exec vitest run src/__tests__/github-tracking-hook.test.ts --reporter=dot --silent=passed-only.",
|
|
"quarantinedAt": "2026-06-16"
|
|
}
|
|
]
|
|
}
|