fix: prevent duplicate AI design stream reconnects

This commit is contained in:
brother7 committed 2026-08-19 00:31:04 +08:00
1 parent f8d82e6c19
commit 3a6d3888e8
3 files changed
+101 -1

No files matched your search

+14
View File
@@ -385,6 +385,20 @@ describe('AI design task event store', () => {
.toEqual(['继续优化海报', '已完成最新方向整理。']);
});
it('keeps the in-flight stream connection when reconciliation is requested', async () => {
const pendingSource = deferred<EventSource>();
openImageWorkspaceTaskEventsMock.mockReturnValue(pendingSource.promise);
await useImageWorkspaceStore.getState().load();
expect(useImageWorkspaceStore.getState().taskStreamState).toBe('connecting');
expect(openImageWorkspaceTaskEventsMock).toHaveBeenCalledOnce();
useImageWorkspaceStore.getState().markTaskStreamNeedsReconciliation();
useImageWorkspaceStore.getState().connectTaskStream();
expect(openImageWorkspaceTaskEventsMock).toHaveBeenCalledOnce();
});
it('recovers a committed generation task when the Agent Run fails afterward', async () => {
const source = new MockEventSource();
openImageWorkspaceTaskEventsMock.mockResolvedValue(source as unknown as EventSource);