fix(chat): make waiting visible and keep conversations readable - #5309
Open
huangruiteng wants to merge 2 commits into
Open
huangruiteng wants to merge 2 commits into
huangruiteng wants to merge 2 commits into
Conversation
Signed-off-by: huangruiteng <14976749+huangruiteng@users.noreply.github.com>
Collaborator
Author
Signed-off-by: huangruiteng <14976749+huangruiteng@users.noreply.github.com>
This branch has not been deployed
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.



Goal And Delivered Outcome
A message could appear submitted while executor startup showed no reply or progress. The overview receipt also hid activity and turn controls available in the full conversation. This change shows a receipt before session preparation, then observed activity and elapsed time, with cancellation before dispatch and existing exact-turn controls after acceptance.
The shared manager/Goal conversation also preserves upward reading during streaming, provides a return-to-latest action, expands multiline drafts, and removes the suggestion strip from an established conversation. The existing App conversation RFC records the research and observable acceptance boundaries.
Intended base:
main. Owner: the existing TypeScript conversation presentation and Chat transport; no new capability, provider, scheduler or backend decision owner.Scope And Continuation
Complete within this presentation slice. It does not claim to cure provider startup timeouts, implement completion notifications, persist browser elapsed time across restarts, or complete delegated work. CLI/Lark behavior is unchanged because the affected path is the App/browser conversation renderer and session-preparation fetch.
A real read-only goal-wording request succeeded after repairing an installed CLI selection. An earlier live request still timed out before executor turn acknowledgement; sustained startup/recovery remains part of the existing App conversation acceptance, not certified by this UI change.
Validation
aee78800c54de658e77f58113d1f8b58132cbdb5python scripts/chat_bundle.py build; source/delivery verification.conversation-startup: delayed connection, immediate receipt, cancellation without turn dispatch, retry and failure.conversation-activity: incremental SSE, stable elapsed across views, quiet wait, steering/interruption races, mobile/keyboard and preserved reading position.conversation-input: multiline draft growth, newline without submission, Goal/manager routing, explicit preview and retained drafts.Initial validation caught and corrected EOF whitespace, missing root TypeScript dependencies and a concurrent-edit guard. CI then exposed stale tests that used a suggestion button to infer turn completion after that button was removed from established conversations. The follow-up observes pending replies directly and opens configuration from the overview; the complete packaged browser suite now passes. The prior focused recovery evidence did not cover the final composer change and has been replaced above. Remote CI must rerun on the new head. Generated assets and live evidence remain outside Git.
Frontend / Visual Evidence
UI impact: changed. Synthetic screenshots are attached in the conversation: before startup receipt, after overview waiting, desktop conversation and narrow conversation. The before image uses the previously installed release renderer with a synthetic request; after images use the candidate packaged renderer and synthetic SSE.
Attention review: one observed activity line plus elapsed time; details expand on demand. Quiet waiting is explicit, not a fake percentage or changing phase. Controls remain scoped to the actual turn. Drafts grow within 120px, active conversations lose a redundant suggestion strip, and streaming no longer steals the reader's position.
Type of Change
LoopX Area
Boundary Checklist