fix: restore native drawer layout after keyboard dismissal - #418
Merged
Merged
Conversation
Return undefined explicitly when viewport tracking is disabled to satisfy the type-aware consistent-return rule without changing effect behavior. Model: gpt-6
Clarify side-drawer keyboard ownership and explicit opt-outs, reconcile resize and overlay comments, and cover near-unit scales without enabling pinch-zoom offsets. Model: gpt-6
Bring in the upstream scoped-guidance split: components/AGENTS.md is now 6477 bytes, below the 8192-byte documentation gate. Preserve all keyboard layout changes. Validation: exact CI docs check passed; 13 drawer regression tests and targeted type-aware lint passed. Full pnpm check is blocked locally by uninitialized ACP submodules. Model: gpt-6
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.
Related issue
Same-repository fix based on a reported HarmonyOS/Zhuoyi keyboard dismissal problem; no linked issue.
Problem / pressure
After dismissing the keyboard in an Android-compatible native shell, the conversation composer can remain suspended above a blank area. Vaul can capture the already-shrunken drawer height and restore that stale height when the viewport expands.
Summary
Native non-iOS side drawers without snap points now preserve CSS sizing and compute the bottom inset from the current visual viewport. Window resize and visual viewport resize/scroll events update the inset even when the input retains focus. iOS, bottom sheets, and explicit repositioning opt-outs retain their existing behavior.
Before / after
Before: the regression fixture restores an 800px viewport but leaves a 480px drawer height. After: the drawer has no cached inline height and the bottom inset returns to zero.
Test plan
git diff --check, passed.pnpm checkwas not completed.Context handoff
Instructions for reviewing agents
Authoring context