Stream assistant answers token-by-token; mobile drawer + conversation pagination #39
Reference in New Issue
Block a user
Delete Branch "mobile-drawer-conversation-pagination"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Two changes on this branch:
Token-by-token answer streaming
The
/stream-querySSE endpoint previously emitted only tool-lifecycle events plus one final complete message, so the assistant's answer still appeared all at once. Now it handleson_chat_model_streamevents and emits incrementalcontentdeltas.blueprints/conversation/__init__.py): newcontentSSE event fromon_chat_model_stream, accumulated server-side as a persistence fallback for the final message.useChat.ts,conversationService.ts): consumecontentdeltas to build a live assistant bubble, reconciled with the authoritative persisted text on the terminalresponseevent. Newstreamingflag hides the redundant loading indicator once tokens start (ChatScreen.tsx)./queryendpoint left intact for compatibility.Mobile drawer + conversation pagination
Replaces the inline mobile menu with a slide-in drawer and paginates the conversation list.
Testing
.venv/bin/python -m pytest tests/)yarn build+tsc --noEmitclean🤖 Generated with Claude Code