Repository navigation
Conversation
- New Rust command gemini_stream: posts the streamed interaction to the same fixed endpoint, with the key read from the keychain as before, and passes the server-sent events to the web view line by line through a Tauri channel; a lone "\n" marks the end. No total timeout: a read timeout of 90 s, like the idle limit of the web view. - Lines are cut at newline bytes, so a network chunk that splits an accented letter still decodes (Rust test). - The SSE parsing moves to serverSentEventParser in gemini.ts, fed in pieces by both the browser and the desktop transports, so bare JSON errors under load are handled the same way. - The desktop transport gains stream(); the provider therefore streams with reasoning summaries on desktop as well. Tests cover events, non-2xx answers, an error event that cancels the request, abort and Rust errors. - Guide: reasoning on web and desktop, usually in English; local models keep the elapsed time and the 5 minute limit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The desktop app now shows Gemini's reasoning while waiting, as the web version does.
gemini_streamcommand. It posts the streamed interaction to the same fixed endpoint, reads the key from the keychain asgemini_requestdoes, and passes the server-sent events to the web view line by line through a TauriChannel. A lone"\n"marks the end. There is no total timeout, only a 90 s read timeout, which matches the idle limit of the web view. The key, URL and body still never reach the web view or error strings.serverSentEventParserinsrc/llm/gemini.ts. Both transports feed it, so the bare JSON error Google sends under load is handled the same way on desktop.tauriGeminiTransport.stream()makes the provider stream with reasoning summaries on desktop too.Based on
feature/document-extraction(#6). Merge it after #5 and #6.Verification
npm test: 136 passed, including the new desktop transport tests (events in order, non-2xx answer, an error event cancels the request, abort, Rust errors).cargo testpassed,cargo clippyis clean, and the assistant, guide, export, knowledge and local model smoke scripts passed.npm run tauri dev.License: AGPL-3.0-or-later.
🤖 Generated with Claude Code