Repository navigation
Conversation
…d is open With the keyboard open, the in-window anchored menu put Reanimated's FadeIn on the menu box itself. That box grows after mount, once Compose reports the inline menu's height. When that resize lands before the pending entering animation starts, Reanimated starts the animation with the new frame as both current and final, so Android's mounting layer never sends the layout update. The box stays at its first-commit size: the 24dp checkmark plus padding. Move the fade onto a fixed-size, touch-transparent wrapper so the menu box resizes normally. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — Moves the Android keyboard-open menu fade to a fixed-size wrapper so native content can resize without clipping. Existing menu actions and defaults remain unchanged, with device verification supporting the limited presentation risk. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
|
Note Written by Verified on Android emulator (API 35) against a real dev serverVerified head With Gboard open, long-pressing Steer showed both options and both descriptions above the keyboard. Queue accepted the draft with one tap and displayed Baseline menu file from Exact PR menu with both descriptions visible above Gboard: Recording of opening the menu and selecting Queue, followed by At the original verification head, no source changes were needed and GitCafe reported 29 successful checks. Not verified
merge conflict resolutionMerged current main Blacksmith The Android evidence above belongs to the original head. Native verification of the merged head remains unverified because device access is disabled in this environment. Browser verification cannot exercise this native Android/Compose menu. |
Dismissing prior approval to re-evaluate 5e998b3


Closes / Refs
Closes #29201
What's fixed
With the Android keyboard open, the follow-up menu could show only the first heading and checkmark, clipping both descriptions and the Queue option. The fade now runs on a fixed-size wrapper so the menu can grow when its native content finishes measuring. This is a focused fix for the existing menu's layout.
Evidence
POCO F4, Android 14, using T3 Code Dev with native fingerprint
971743703b097b8870b39ff842d130f50b115eeb. After captures usecca47d7f4d0fc08ba040c9f09a7e48beaaea99dc; the baseline is47f2c8d29e981c7723467efe137ee19e91df924e. Final head1d1c87c12b28015410639499c2b00980101f916cchanges only a code comment after these captures.Before: the menu is clipped while the keyboard is open.
After: both options and descriptions are fully visible with the keyboard open.
Android: open the menu with the keyboard visible and select Queue with one tap.
after-interaction.mp4
Follow-up verification on the final head
All recordings below ran on physical corex phones with the exact clean checkout
1d1c87c12b28015410639499c2b00980101f916c(treef0bf959fbfd8f0d7ce15d56d6383ce0ab7729b45), T3 Code Dev native fingerprint971743703b097b8870b39ff842d130f50b115eeb, and Metro serving this checkout. The isolated backend used the free Replay provider; no paid agent was needed.22021211RI), Android 14: Gboard, an alternate to the original Emoji&Font keyboard. Both headings and descriptions display above the open keyboard; selecting Queue accepts the draft on the first tap.f4-gboard.mp4
f4-constrained.mp4
M2103K19PI), Android 13: same head and native fingerprint, Gboard open. Both options and descriptions display; Steer now and Queue each accept a draft. The recording ends with two queued messages. This is the second Android version requested by evidence review.m3-android13.mp4
Local validation
Correction to the earlier report: there are six React Compiler checks total, comprising the changed menu's compile case and five broader checks. There were not six additional cross-file tests. No test was added for this visual fix; the captures prove it.
vp run check:changedpassed on the head and tree above. Its exact captured output follows (affected package typechecks reused passing Vite+ cache entries):check:changed command and passing output
The same six compiler checks were also run with verbose output on the clean final head. Exact command, all passing case names, and result:
Six React Compiler checks
Earlier F4 checks also covered outside dismissal preserving draft/keyboard across three openings and the keyboard-dismissed menu. This file runs only on Android: iOS uses a separate implementation, so the device router's general mobile iOS entry does not apply. Web, desktop, providers, and wire contracts are unchanged.
Unproven: other Android releases and keyboard apps beyond the two phones and keyboards above; real-provider steer interruption was not part of this layout check.
Implemented with Claude Opus 5.5 in T3 Code; verified and reviewed with GPT-6.1 Sol in the Codex harness.