Skip to content

v0.2.7 — Chat duplicate submission + error surface

Choose a tag to compare

@hallelx2 hallelx2 released this 07 May 04:36
· 136 commits to main since this release

Patch on top of v0.2.6.

Fixes the "3 identical user messages, no AI reply" pattern when shift+clicking a mindmap node to send to chat.

Two bugs, one symptom

1. ChatPanel double-mount

NotebookView renders ChatPanel twice — once in the desktop layout (`md:flex`) and once in the mobile layout (`md:hidden`). Tailwind's `md:` prefix toggles visibility, not mounting, so on desktop both ChatPanels stayed in the React tree with their own `useChat()` instances.

Both received `externalPrompt={chatPrompt}` from the mindmap shift+click handler. Both fired `sendMessage` in parallel → two POSTs to the chat endpoint → two duplicated user messages persisted → race between the two streaming responses → the screenshot's "three identical user messages, no AI reply" pattern.

Fix: mobile ChatPanel no longer receives `externalPrompt`. Mindmap shift+click is a pointer gesture without a touch equivalent anyway, so the mobile path is moot.

2. Chat errors never surfaced

ChatPanel never read or rendered useChat's `error` field, so when the AI provider returned 4xx/5xx (or the chat endpoint was misconfigured in dev) the user just saw an empty assistant slot with no indication of what went wrong.

Fix: dedicated danger-toned error banner appears below the message list when the stream errors, with a hint pointing the user at Settings → Providers to re-test their chat credential.

Commits

```
$(git log -1 --format=%h) fix(chat): kill duplicate submission + surface chat errors — bump 0.2.7
```

Full diff: v0.2.6...v0.2.7