fix(session): dedup SSE messages, add agent restart with rebootstrap, account merge UI#565
Merged
Conversation
Co-Authored-By: DeepSeek-V4-Flash <deepseek-ai@claude-code-best.win>
…stant parentID Co-Authored-By: DeepSeek-V4-Flash <deepseek-ai@claude-code-best.win>
…anually Co-Authored-By: DeepSeek-V4-Flash <deepseek-ai@claude-code-best.win>
Always keep autoScroll active so content appearing before status changes to "busy" is also followed, matching normal session view behavior. Co-Authored-By: DeepSeek-V4-Flash <deepseek-ai@claude-code-best.win>
Replace hardcoded hasScrollGesture with 250ms time-window gesture tracking, matching the normal session view pattern. This prevents programmatic scroll events from incorrectly setting userScrolled=true during auto-follow. Co-Authored-By: DeepSeek-V4-Flash <deepseek-ai@claude-code-best.win>
When the session is busy, pressing Enter queues messages instead of sending. Queued messages display as bubbles above the input with a "Queued" tag and individual remove button. On session idle transition, all queued messages are concatenated with \n\n and auto-submitted. Co-Authored-By: DeepSeek-V4-Flash <deepseek-ai@claude-code-best.win>
…rendering - Remove notification-channel-service and all wecom-bot notification dialogs - Rewrite notification-channels-section to render available channel types uniformly - Use /api/channels/available + /api/channels instead of /api/notification-channels - Update sidebar and menu registry to remove notification channel badge - Add dedicated wecom-bot card component with consistent layout Co-Authored-By: DeepSeek-V4-Flash <deepseek-ai@claude-code-best.win>
Add a fixed agent+version footer at the bottom of the workspace sidebar (sessions/files/diffs tabs). The version field is optional and only shown when the agent health endpoint returns it. - store agentInfo (name + optional version) from agent health response - render fixed footer line with agent name and version in sidebar - both desktop (workspace-content-layout) and mobile (session-list) views Co-Authored-By: DeepSeek-V4-Flash <deepseek-ai@claude-code-best.win>
…arch bar Co-Authored-By: DeepSeek-V4-Flash <deepseek-ai@claude-code-best.win>
… mapping Replace hardcoded TYPE_LABELS/TYPE_META maps with i18n lookups via channels.type.* keys. Add wecom-bot icon to TYPE_ICON in all store channel components for consistent rendering. Co-Authored-By: DeepSeek-V4-Flash <deepseek-ai@claude-code-best.win>
…wn dialog Add a global 401 response interceptor that debounces multiple concurrent 401s and shows a countdown dialog (30s) asking the user to re-login. Only triggers on AuthGuard-protected routes, derived from GUARDED_ROUTES in route config. Co-Authored-By: DeepSeek-V4-Flash <deepseek-ai@claude-code-best.win>
…tries by parentID+timestamp Co-Authored-By: DeepSeek-V4-Flash <deepseek-ai@claude-code-best.win>
… restart UI overlay Co-Authored-By: DeepSeek-V4-Flash <deepseek-ai@claude-code-best.win>
…flow Co-Authored-By: DeepSeek-V4-Flash <deepseek-ai@claude-code-best.win>
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
Three changes on the
fix/session-scroll-stickbranch:fix(device-session): Dedup buffered messages that match already-streamed SSE entries by parentID+timestamp proximity, preventing duplicate assistant messages in the session list.
feat(workspace):
agent.version()API call for decoupled version fetchingscheduleStreamRestartwith fullrebootstrap()for stream reconnects and SSE-drivenagent.runtime.restartedeventsRestartStatesignalfeat(console): Account merge conflict dialog — detects
bind=conflictURL param, decodes merge_token, and provides confirm/cancel flow withconfirmMerge/cancelMergeAPI functions.Test plan
agent.runtime.restartedtriggers rebootstrap for all workspacesbind=conflict&merge_token=...🤖 Generated with CoStrict CSC