fix(kimi-web): full-width chat column and Ctrl+S save-dialog interception - #2369
fix(kimi-web): full-width chat column and Ctrl+S save-dialog interception#2369Tolik-Trek wants to merge 4 commits into
Conversation
The reading column was capped at 760px, leaving wide empty margins on large screens. Let it follow the pane width instead.
…dialog preventDefault ran only while a turn was running, so an idle Ctrl+S/Cmd+S fell through to the browser and opened the Save Page dialog. Always swallow the shortcut; steering still only fires when a turn is running.
🦋 Changeset detectedLatest commit: 0d9835e The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7e44ece315
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| --read-max: 760px; | ||
| /* The reading column follows the pane width — no fixed max-width cap, so | ||
| wide windows don't leave empty margins on both sides. */ | ||
| --read-max: 100%; |
There was a problem hiding this comment.
Keep regular chat content capped by the reading token
As committed, --read-max: 100% makes regular assistant prose and user bubbles expand to 94%/78% of whatever desktop pane width is available, while the web design-system view still defines --p-content-max as the chat reading-column max width and states that regular chat prose stays within that 760px column. On large monitors this regresses readability and also bypasses the tokenized layout contract; if full-width prose is intended, the design-system contract should be updated together, otherwise keep the normal stream capped and reserve wider growth for the existing table/content exceptions.
AGENTS.md reference: apps/kimi-web/AGENTS.md:L11-L11
Useful? React with 👍 / 👎.
With the reading column no longer capped at a fixed width, the outline rail's old anchor (the 760px column edge) left it floating in the middle of the widened content. Pin the rail to the pane's right edge inside the scrollbar gutter, reveal labels leftward over the content on hover, and measure the expanded fit in that direction.
…e Page The composer's keydown only fires while the composer is focused, so a Ctrl+S/Cmd+S pressed anywhere else still fell through to the browser's Save Page dialog. A capture-phase preventDefault in App.vue's global keydown now swallows the shortcut everywhere; steering stays in the composer's handler.
Related Issue
None — the problems are explained below.
Problem
Two annoyances in the browser web UI (
kimi web):preventDefault()while a turn is actually running. Pressing Ctrl+S / Cmd+S at any other time falls through to the browser, which opens its Save Page dialog.What changed
preventDefault()moved out of therunningcheck); steering into the running turn still only fires when a turn is actually running.Both changes are confined to
apps/kimi-web. Verified:typecheckclean,test653/653 passed,check:styleintroduces no new findings.Checklist
gen-changesetsskill, or this PR needs no changeset.gen-docsskill, or this PR needs no doc update.