fix: mobile session header duplication, composer overflow, stuck mock state - #10
Merged
Merged
Conversation
… state - Session header: theme/settings/logout were rendered both in the mobile top bar and the session header; the copy here now only shows on lg+ (same pattern the session list page already uses). - Composer: the control row was all shrink-0, so on narrow screens the chips (model + thinking + primary button) exceeded the composer box and pushed the button out of it. The group is now elastic (min-w-0) and the model chip truncates instead; badge/thinking/button keep fixed width. - Mock host: clear the stream timer when the canned turn finishes, so get_state stops reporting isStreaming forever after the first prompt (that locked the UI into queue/stop mode after every reload); and send message_end for the echoed user message, which otherwise stayed streaming=true and kept "agent is working…" alive. - Regenerate chat/assistant/mobile-chat screenshots with the fixes (the old ones showed the broken header, overflow, and stuck state).
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.
Seen in the wild
Two visible bugs on a 390px viewport (plus one mock bug found while reproducing them):
Duplicated header actions. On narrow screens the theme/settings/logout buttons appeared twice — once in the mobile top bar, once in the session header. The session header now only renders them on
lg+(the session list page already followed this pattern; the session page didn't).Composer overflow. The composer's control row was entirely
shrink-0; on a phone the plus/mode/model/thinking/primary buttons summed wider than the box, so the row overflowed and the round send/stop button poked out of the composer border (bottom-right box in the report). The button group is now elastic: the model chip carriesmin-w-0and truncates its label as space gets tight, while the badge, thinking chip, and primary button keep fixed width. Verified at 390px in idle, queueing (stop), and after reload.Mock host lied about its state (found while reproducing).
get_statereportedisStreaming: trueforever after the first prompt — every reload locked the UI into "Queue a prompt + stop" mode.message_startbut nevermessage_end, so it stayedstreaming: trueand the transcript's "agent is working…" indicator never cleared.Screenshots
chat.png,assistant.png, andmobile-chat.pngare regenerated from the fixed build — the previous ones captured the broken header, the overflow, and the stuck state. Others are untouched.