fix: connection feedback and dropped session.list race - #6
Merged
Merged
Conversation
Major Features: - Add Markdown rendering support for chat messages with syntax highlighting - Add WebSocket auto-reconnect with exponential backoff - Add VPN support for network scanning (auto-detect all interfaces) - Add GitHub Actions workflow for automatic APK building UI Improvements: - Optimize tool call display with smart expand/collapse - Improve session card visual design with active status highlighting - Add collapsible advanced options in dialogs - Enhance message bubbles with better spacing and width - Add tool count indicator and better layout Bug Fixes: - Fix chat auto-scroll interfering with history viewing - Fix ChatViewModel thread safety issues with Mutex - Fix FileViewModel event processing logic - Fix ToolCallCard expand/collapse button logic - Remove unused SessionViewModel Performance: - Optimize network scan concurrency (32 -> 16) - Add real-time scan progress feedback - Improve scan result reporting Developer Experience: - Add comprehensive documentation (FIXES_SUMMARY.md, OPTIMIZATIONS_SUMMARY.md, etc.) - Add APK build guide - Add detailed commit history Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Add Prism4j dependency for syntax highlighting - Fix SyntaxHighlightPlugin API usage (requires Prism4j instance) - Add missing LogCollector import in BridgeViewModel - Add GrammarLocatorDef for Prism4j initialization Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Keep Prism4j dependency for syntax highlighting - Keep fixed MarkdownText implementation - Keep updated libs.versions.toml with all dependencies Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
GrammarLocatorDef doesn't exist in prism4j, use interface with null implementation Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Remove Prism4j and syntax highlighting dependencies to avoid compatibility issues. Use simple Markwon core for basic Markdown rendering (headings, lists, links, bold, italic, code blocks). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Remove the dependency reference that was not properly cleaned up by sed Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Root causes of 'connect does nothing': - Race: runtimes[hostId] was registered AFTER client.connect(), so a fast onOpen->listSessions() ran before the runtime existed and the session.list request was silently dropped (sessions never loaded). Now the runtime is registered before connecting. - No feedback: host.connected only flipped on onOpen, so a failing/hanging connection showed nothing. Added per-host ConnectionStatus (CONNECTING/CONNECTED/ERROR) with a 12s timeout. - Silent failures: surfaced as ERROR state with a Retry button. UI: status chip shows connecting spinner / failed label; connect button shows a progress spinner while connecting and 'Retry' after failure. Co-Authored-By: Claude Opus 4.8 <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.
修复"点击连接没反应"
根本原因
connectHost中runtimes[hostId]在client.connect()之后才注册。如果 socket 快速打开,onOpen触发的listSessions()会找不到 runtime,导致session.list请求被静默丢弃。现在改为先注册 runtime 再连接。host.connected只在onOpen时翻转为 true。连接失败或挂起时 UI 没有任何提示,按钮看起来像坏了。新增每主机ConnectionStatus(连接中/已连接/错误)和 12 秒超时。UI 改进
其他