- Shipped
- 30 Agosti 2026, 18:42 UTC
- Author
- Kamo
- Commit
- 43feda5
Open a new AI chat, type a message, and the thinking bullets appeared and then nothing — no sent message, no reply, just the empty-conversation panel over a transcript that was safely in the database the whole time. The handlers that append to the transcript are registered in an effect keyed on `[subscribe]`, and `subscribe` never changes identity, so the handlers from the first render were the only ones there would ever be. Since the transcript moved into the kept-alive `useCachedMessageList`, `setMessages` is keyed by session and deliberately no-ops while that key is undefined. A new chat mounts with no session guid — the launcher, the nav and the command palette all open one that way — and creates its session a moment later, so every append kept going through the mount-time no-op for the life of the window. The bullets showed because they are plain local state. Depend on `setMessages` too, so the handlers are re-registered against the session once it arrives. A conversation opened from the switcher already had its guid in props at mount, which is why only new chats broke; the other three windows on this cache already carry their key in the same deps.