Commit ce51eb7
fix(workspace, transport): invokes can no longer freeze a pane silently — deadlines + receipt logging land
The search frontend froze "with no recourse" (gh #58 recurrence): a lost
invoke had NO client-side timeout anywhere, so the pane spun forever.
Two of the issue's four named probes ship:
- transport.ts: default per-invoke deadline — 120s for normal
capabilities, 660s (dispatch ceiling + headroom) for crawl/scan/pack
shapes. On expiry the pending entry clears, any queued copy is dropped,
and the caller gets a retryable error naming the capability. The
eternal spinner is structurally impossible now.
- ws.ts: invoke_received / invoke_result_sent / invoke_result_stashed
logs (capability + invoke id) — "the frame never reached the server"
becomes one grep instead of an inference.
Post-instrumentation reproduction: the full 🔍 path works (search.fire
received → dispatched → 10 searxng results rendered, full connector
palette) after the workspace rebuild + fresh page — confirming the
freeze is intermittent, tied to long-degraded sessions. When it recurs,
the logs decide client-vs-server in seconds and the UI errors instead of
freezing.
Also observed in the operator's logs and reported: the Anthropic API
account is OUT OF CREDITS (all crawls failing 400) and didi_session had
expired (didi_id null on every connect; id-didi-sh itself is healthy).
Refs #58.
Files changed:
- packages/workspace/src/transport.ts
- services/workspace/src/ws.ts
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RW28dw3kQAKXr2ZNefCukE1 parent c0d82d4 commit ce51eb7
2 files changed
Lines changed: 31 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
185 | 185 | | |
186 | 186 | | |
187 | 187 | | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
188 | 198 | | |
189 | 199 | | |
190 | 200 | | |
191 | 201 | | |
192 | | - | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
193 | 217 | | |
194 | 218 | | |
195 | 219 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
201 | 201 | | |
202 | 202 | | |
203 | 203 | | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
204 | 207 | | |
205 | 208 | | |
206 | 209 | | |
| |||
223 | 226 | | |
224 | 227 | | |
225 | 228 | | |
| 229 | + | |
226 | 230 | | |
227 | 231 | | |
| 232 | + | |
228 | 233 | | |
229 | 234 | | |
230 | 235 | | |
| 236 | + | |
231 | 237 | | |
232 | 238 | | |
233 | 239 | | |
| |||
0 commit comments