You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Run the provided code sample (below) on any target platform.
Long-press on the text field to select a word on "Huge Line".
Grab the end selection handle and attempt to drag it downwards by a short distance (e.g., 40 pixels) to select "small line 1" and "small line 2".
Alternatively, place the cursor at the end of "Huge Line" and attempt to drag the cursor handle.
Expected results
Selection handles should render precisely at the bottom edge of the caret or text boundary.
Dragging the selection handle down should expand the selection to include the small lines as the finger crosses them.
Dragging the cursor handle should be responsive across its entire height.
Jetpack compose:
screen-20260701-111613-1782929749425.mp4
Actual results
Stuck Drag Selection: Dragging the selection handle down by 40px (which visually crosses multiple 10px-tall lines) does not expand the selection at all. The selection remains stuck on "Huge Line" because the gesture logic assumes every line has the height of the default style's preferredLineHeight (~80px).
Incorrect Handle Position: Selection handles render in incorrect vertical positions (floating too high inside tall lines or too low below small lines) because handle offsets assume a uniform line height.
Grab-Target Sizing Issue (iOS/Cupertino): When the selection is collapsed, the invisible touch container for the cursor handle is built with a height matching only the small default preferredLineHeight (~20px) instead of the actual tall line's height (~90px), meaning the user can only grab the bottom edge of the tall cursor.
Steps to reproduce
Expected results
Jetpack compose:
screen-20260701-111613-1782929749425.mp4
Actual results
preferredLineHeight(~80px).preferredLineHeight(~20px) instead of the actual tall line's height (~90px), meaning the user can only grab the bottom edge of the tall cursor.screen-20260701-112005-1782929980500.mp4
Code sample