Skip to content

fix: stabilize composer typing state - #31

Merged
ronak-guliani merged 6 commits into
mainfrom
upstream/chat-composer-performance
Jul 19, 2026
Merged

fix: stabilize composer typing state#31
ronak-guliani merged 6 commits into
mainfrom
upstream/chat-composer-performance

Conversation

@ronak-guliani

@ronak-guliani ronak-guliani commented Jul 17, 2026

Copy link
Copy Markdown
Owner

Summary

Polishes the chat composer with upstream editing fixes and an opt-in glass visual treatment.

  • Adds chip-aware selection painting, macOS Home/End navigation, and single-pass mention paste handling.
  • Improves trait menus with explicit blue selection checks and default badges.
  • Applies the translucent composer surface only when sidebar translucency is enabled and reduced motion is not requested.

Problem

Inline composer chips were omitted from native text-selection painting, macOS Home/End navigation could be inconsistent around decorator nodes, and copied mentions could fall through to plain-text paste behavior. The composer also lacked the upstream translucent surface and clearer trait selection treatment.

Solution

Port the isolated Lexical editor primitives and their regression coverage from upstream. Keep the glass surface performance-safe by preserving the opaque default and activating backdrop blur only for users who already opt into sidebar translucency and do not request reduced motion.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions github-actions Bot added size:S vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels Jul 17, 2026
@github-actions github-actions Bot added size:L and removed size:S labels Jul 17, 2026
@ronak-guliani
ronak-guliani marked this pull request as ready for review July 17, 2026 22:01
@ronak-guliani

Copy link
Copy Markdown
Owner Author

Review outcome: no high-confidence implementation defect was found, but validation and regression coverage are incomplete.

Please add a focused test for IME composition around the ComposerPromptEditor change, proving composition input is not interrupted or committed prematurely while typing state updates. Then rerun pnpm fmt:check, pnpm lint, pnpm typecheck, and pnpm test.

The Windows Smoke failure appears to be CI setup (pnpm unavailable), but the main CI run was cancelled/stale, so a completed validation run is still required before merge.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@ronak-guliani

Copy link
Copy Markdown
Owner Author

Added focused browser coverage for controlled IME input in ComposerPromptEditor. The test verifies that Enter during composition does not invoke command/submission handling, does not bubble, and preserves the composed draft through the controlled state update and composition end.

Validation completed:

  • pnpm fmt:check
  • pnpm lint
  • pnpm typecheck
  • pnpm test
  • focused Chromium browser test for ComposerPromptEditor.browser.tsx

@ronak-guliani
ronak-guliani merged commit 796fb8a into main Jul 19, 2026
5 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants