Touch only: tap a sticker/GIF once to preview, again to send #147

Closed
opened 2026-09-17 16:51:59 -04:00 by jared · 1 comment
Owner

Fat-finger guard on phones. In the emoji board's sticker tab and the GIF picker, on touch devices only (pointer: coarse): first tap selects and shows a small preview + "Send" affordance; second tap (or the button) sends; tapping elsewhere clears. Desktop mouse behaviour unchanged. Verify the emoji tab is untouched (single tap inserts as today) and that keyboard/screen-reader activation still sends in one step.

Fat-finger guard on phones. In the emoji board's sticker tab and the GIF picker, on touch devices only (`pointer: coarse`): first tap selects and shows a small preview + "Send" affordance; second tap (or the button) sends; tapping elsewhere clears. Desktop mouse behaviour unchanged. Verify the emoji tab is untouched (single tap inserts as today) and that keyboard/screen-reader activation still sends in one step.
jared added this to the Features 2026-Q4 milestone 2026-09-17 16:51:59 -04:00
jared added the enhancementpriority: lowuxarea: mobile labels 2026-09-17 16:51:59 -04:00
jared self-assigned this 2026-09-17 16:51:59 -04:00
Author
Owner

Done in 8d11a62e.

Touch devices only (pointer: coarse): first tap on a sticker or GIF parks it in a bar (thumbnail · name · Send · ×); second tap on the same item or Send sends; tapping another item switches the preview; tapping empty picker space / × clears.

Verified headless (Pixel 7 emulation, real touch events via CDP; desktop with mouse):

case result
sticker, touch, 1st tap bar shown, nothing sent, board stays open
tap a different sticker preview switches, nothing sent
2nd tap same sticker sent, board closes
Send button sent
× then keyboard Enter on a sticker cleared; Enter sends in one step (SR/keyboard path unchanged)
emoji tab, single tap inserts as today
sticker, mouse click (desktop) sent in one step
GIF, touch 1st / other / 2nd tap bar → switch → sent (Giphy API mocked)
GIF, mouse click sent in one step

Found and fixed along the way: in the compact composer the GIF picker opened mostly off-screen (end-aligned to a button near the left of the overflow row, x≈−95 px); it now anchors to the row.

sticker
gif

Done in 8d11a62e. Touch devices only (`pointer: coarse`): first tap on a sticker or GIF parks it in a bar (thumbnail · name · **Send** · ×); second tap on the same item or **Send** sends; tapping another item switches the preview; tapping empty picker space / × clears. Verified headless (Pixel 7 emulation, real touch events via CDP; desktop with mouse): | case | result | |---|---| | sticker, touch, 1st tap | bar shown, nothing sent, board stays open | | tap a different sticker | preview switches, nothing sent | | 2nd tap same sticker | sent, board closes | | **Send** button | sent | | × then keyboard Enter on a sticker | cleared; Enter sends in one step (SR/keyboard path unchanged) | | emoji tab, single tap | inserts as today | | sticker, mouse click (desktop) | sent in one step | | GIF, touch 1st / other / 2nd tap | bar → switch → sent (Giphy API mocked) | | GIF, mouse click | sent in one step | Found and fixed along the way: in the compact composer the GIF picker opened mostly **off-screen** (end-aligned to a button near the left of the overflow row, x≈−95 px); it now anchors to the row. ![sticker](https://code.lotusguild.org/attachments/9f606e6b-b6e8-4580-aba0-7fabf73d3d81) ![gif](https://code.lotusguild.org/attachments/b8ad99f2-9adb-40c7-b62e-a307c03e8da0)
jared closed this issue 2026-09-20 00:15:14 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: LotusGuild/cinny#147