A new chat shows the exchange instead of going blank

Fixkamo-internal
Shipped
August 30, 2026 at 6:42 PM 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.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing