- Shipped
- August 26, 2026 at 8:37 AM UTC
- Author
- kamo
- Commit
- cda1d4f
AI chat was the only tool deriving "maximized" from a ResizeObserver threshold instead of reading the flag every other tool reads, and the only one switching conversations inside a single window instead of opening one per conversation. Both go: AiChatTool now passes the real maximized flag through, and AiChatWindow reads it directly instead of guessing from rendered size. The bespoke **************** trio is deleted with it. Folder data and endpoints are untouched in AIService; GET /api/ai/sessions already returns foldered sessions, so nothing that worked is lost. The sidebar's own session search never worked: the Next.js BFF has no /api/ai/sessions/search route, so it fell through to the [guid] dynamic handler as guid === 'search', and forwardToAiService drops the query string, so `q` never reached AIService's otherwise-correct search endpoint. New chat now lives in the shared ConversationsPane's ai-chat bucket action. AiChatHeader's **************** props (and their dead btnBase style) are gone too — the header declared them but never rendered a control bound to any of them. Click-to-edit title is untouched. Also fixes a previously invisible bug: AiChatWindow initialised its title to the literal 'New Chat' and only ever changed it via the now-deleted new-chat handler or a manual rename, so reopening an existing session always showed "New Chat" regardless of the session's real title. Now it fetches GET /api/ai/sessions/{guid} on session change and sets the title from the response, guarded against a stale response from a previous session clobbering the current one.