Skip to content

Commit fdb7549

Browse files
mcintyre94claude
andcommitted
Fix test: add UUIDs to events so stream2 correctly deduplicates stream1 events
The mergesTextAcrossRetryIterations test was missing uuid fields on its events. Without UUIDs, textLine1 in stream2 isn't recognised as already- processed and gets replayed again, producing "Hello Hello world". Real log events always carry UUIDs — add them to the test fixtures so the deduplication path that the fix in applyReplayBuffer depends on actually fires. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 834846d commit fdb7549

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

WispTests/ChatViewModelTests.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -912,10 +912,10 @@ struct ChatViewModelTests {
912912
vm.messages.append(assistantMsg)
913913
vm.setCurrentAssistantMessage(assistantMsg)
914914

915-
let systemLine = #"{"type":"system","session_id":"s1","model":"claude-sonnet-4-20250514"}"# + "\n"
916-
let textLine1 = #"{"type":"assistant","message":{"role":"assistant","content":[{"type":"text","text":"Hello "}]}}"# + "\n"
917-
let textLine2 = #"{"type":"assistant","message":{"role":"assistant","content":[{"type":"text","text":"world"}]}}"# + "\n"
918-
let resultLine = #"{"type":"result","session_id":"s1","subtype":"success"}"# + "\n"
915+
let systemLine = #"{"type":"system","session_id":"s1","model":"claude-sonnet-4-20250514","uuid":"uuid-sys"}"# + "\n"
916+
let textLine1 = #"{"type":"assistant","message":{"role":"assistant","content":[{"type":"text","text":"Hello "}]},"uuid":"uuid-text1"}"# + "\n"
917+
let textLine2 = #"{"type":"assistant","message":{"role":"assistant","content":[{"type":"text","text":"world"}]},"uuid":"uuid-text2"}"# + "\n"
918+
let resultLine = #"{"type":"result","session_id":"s1","subtype":"success","uuid":"uuid-result"}"# + "\n"
919919

920920
// Stream 1: partial text, no result (triggers one-retry path)
921921
let stream1 = AsyncThrowingStream<ServiceLogEvent, Error> { continuation in

0 commit comments

Comments
 (0)