diff --git a/internal/server/rewind_http_test.go b/internal/server/rewind_http_test.go index 6032350..3ddc8dc 100644 --- a/internal/server/rewind_http_test.go +++ b/internal/server/rewind_http_test.go @@ -86,7 +86,21 @@ func TestRewindFilesHTTPHappy(t *testing.T) { t.Fatal(err) } - code, out := doJSON(t, h, "POST", "/api/conversations/"+convID+"/rewind", map[string]any{"messageId": userMsgID}) + // run 行已终态与释放会话占用之间有个 settle 窗口(CI 慢机上会撞 409): + // 有界重试直到放行。 + var code int + var out map[string]any + deadline2 := time.Now().Add(3 * time.Second) + for { + code, out = doJSON(t, h, "POST", "/api/conversations/"+convID+"/rewind", map[string]any{"messageId": userMsgID}) + if code != http.StatusConflict { + break + } + if time.Now().After(deadline2) { + break + } + time.Sleep(15 * time.Millisecond) + } if code != http.StatusOK { t.Fatalf("rewind status %d: %v", code, out) }