mirror of
https://github.com/rowboatlabs/rowboat.git
synced 2026-07-12 21:02:17 +02:00
The chat stuck at 'Thinking…' with a completed turn on disk: the stores subscribed to the sessions:events feed in their constructors while cleanup was effect-managed, so React StrictMode's dev-mode mount -> cleanup -> mount cycle tore down the one subscription and never restored it. The renderer then loaded a mid-turn snapshot and was deaf to every event after (the backend turn completed fine). Feed attachment is now an effect-managed, idempotent connect() on both stores; hooks return its disconnect as the effect cleanup. New tests pin the bug: a StrictMode-style connect -> cleanup -> connect store test, and the hook tests now render under a StrictMode wrapper. Also removed the composer's runs:fetch model-freeze effect (the ENOENT noise): sessions carry model/permission per message, so the picker stays live for existing chats. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| apps | ||
| packages | ||
| patches | ||
| .gitignore | ||
| ANALYTICS.md | ||
| CODE_MODE_ENGINES_PLAN.md | ||
| eslint.config.mts | ||
| LIVE_NOTE.md | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| tsconfig.base.json | ||