Spaces:
Paused
Paused
Claw Web
fix: add retry with exponential backoff for 429 errors, revert default to MiMo-V2-Flash
b8ba5a3 |
Download debug-notes.md from drt2221143/claw-web: direct link, hf CLI and curl.
- Browser
- Download file 1.55 kB
-
https://huggingface.co/spaces/drt2221143/claw-web/resolve/main/debug-notes.md
- Command line
-
hf download hf://spaces/drt2221143/claw-web/debug-notes.md
-
curl -L -o debug-notes.md https://huggingface.co/spaces/drt2221143/claw-web/resolve/main/debug-notes.md
1.55 kB
| # Bug Analysis - Chat Message Flow | |
| ## Bug 1: Auth fails on /api/chat/stream (FIXED) | |
| - `getAuthUser()` in chat-endpoint.ts used SDK auth which requires JWT cookie | |
| - In dev mode, no cookie is set → returns null → 401 Unauthorized | |
| - Fix: Added dev-mode bypass matching tRPC context.ts | |
| ## Bug 2: Race condition in Home.tsx session creation | |
| - When user sends first message with no session: | |
| 1. `handleSend()` calls `createSession.mutate()` with inline `onSuccess` that calls `sendMessage(content, session.id)` | |
| 2. But `createSession` also has a global `onSuccess` that calls `clearMessages()` | |
| 3. Race: `sendMessage` adds user msg + assistant placeholder → `clearMessages()` wipes them | |
| - Fix: Remove `clearMessages()` from global createSession.onSuccess when it's triggered by handleSend | |
| ## Bug 3: sessionMessages useEffect overwrites optimistic state | |
| - When `currentSessionId` changes, `trpc.messages.list.useQuery` fires | |
| - The useEffect unconditionally calls `setMessages(mapped)` | |
| - This can overwrite the optimistic user message added by useChat before the DB message is visible | |
| - Fix: Don't overwrite messages during streaming | |
| ## Bug 4: "done" SSE event with empty data gets skipped | |
| - Line 123 in useChat.ts: `if (!dataStr || dataStr === "{}") continue;` | |
| - The "done" event sends `data: {}` which gets skipped - this is fine | |
| - But the "done" event should trigger cleanup | |
| ## Action items: | |
| 1. ✅ Fix auth bypass in chat-endpoint.ts | |
| 2. Fix race condition in Home.tsx | |
| 3. Guard sessionMessages effect during streaming | |
| 4. Test end-to-end | |