fix(frontend): keep token pickers inside visual viewport (#632) #1144

Merged
PlasticDigits merged 2 commits from fix/632-keplr-token-picker into main 2026-08-25 06:26:40 +00:00
PlasticDigits commented 2026-08-25 06:07:51 +00:00 (Migrated from gitlab.com)

Summary

  • Portaled token/pair menus now size against visualViewport plus DEX tab bar, IME occlusion, optional in-app chrome, and a 44px finger gap so last options no longer sit on Keplr’s URL bar.
  • Coarse + narrow viewports browse from a button combobox; search lives inside the menu so opening You Pay / You Receive does not raise Gboard.
  • Invariants V632-1–V632-8 in docs/frontend.md and skills/AGENTS_FRONTEND_PORTAL_LISTBOX_VIEWPORT.md. Verify: make verify-issue-632.

Test plan

  • make verify-issue-632 (unit + docs; retested)
  • Vitest: portal geometry, TokenSearchSelect #481/#350/#498/#632, Mint TokenSelect, detectWalletInAppBrowser
  • Playwright e2e-smoke (5 workers): #498 CLS, #632 pay/receive clearance + last-option click, Trade pair CLS + phone clearance
  • Manual: Android Keplr in-app compact + large — 10 fast picks on You Pay and You Receive (Playwright cannot drive wallet chrome)
  • Manual: Android Chrome + IME on amount, then open token menu — list not under Gboard
  • Desktop Chrome + Keplr extension: typeahead / #350 Enter unchanged

Closes #632

Closes #632

## Summary - Portaled token/pair menus now size against `visualViewport` plus DEX tab bar, IME occlusion, optional in-app chrome, and a 44px finger gap so last options no longer sit on Keplr’s URL bar. - Coarse + narrow viewports browse from a button combobox; search lives inside the menu so opening You Pay / You Receive does not raise Gboard. - Invariants **V632-1–V632-8** in `docs/frontend.md` and `skills/AGENTS_FRONTEND_PORTAL_LISTBOX_VIEWPORT.md`. Verify: `make verify-issue-632`. ## Test plan - [x] `make verify-issue-632` (unit + docs; retested) - [x] Vitest: portal geometry, TokenSearchSelect #481/#350/#498/#632, Mint TokenSelect, `detectWalletInAppBrowser` - [x] Playwright `e2e-smoke` (5 workers): `#498` CLS, `#632` pay/receive clearance + last-option click, Trade pair CLS + phone clearance - [ ] Manual: Android Keplr in-app compact + large — 10 fast picks on You Pay and You Receive (Playwright cannot drive wallet chrome) - [ ] Manual: Android Chrome + IME on amount, then open token menu — list not under Gboard - [ ] Desktop Chrome + Keplr extension: typeahead / #350 Enter unchanged Closes #632 Closes #632
PlasticDigits commented 2026-08-25 06:07:55 +00:00 (Migrated from gitlab.com)

marked this merge request as ready

marked this merge request as **ready**
PlasticDigits commented 2026-08-25 06:26:32 +00:00 (Migrated from gitlab.com)

added 18 commits

  • 74be1075...1ae62ca3 - 17 commits from branch main
  • e3e18e89 - merge origin/main into fix/632-keplr-token-picker

Compare with previous version

added 18 commits <ul><li>74be1075...1ae62ca3 - 17 commits from branch <code>main</code></li><li>e3e18e89 - merge origin/main into fix/632-keplr-token-picker</li></ul> [Compare with previous version](/PlasticDigits/cl8y-dex-terraclassic/-/merge_requests/426/diffs?diff_id=1981426998&start_sha=74be1075df5395b5acb6f86c049a51aa6d4b4268)
PlasticDigits commented 2026-08-25 06:26:41 +00:00 (Migrated from gitlab.com)

mentioned in commit 6af8261cfd

mentioned in commit 6af8261cfdbd8417bdac1f1a6afdee298538e672
PlasticDigits (Migrated from gitlab.com) merged commit 6af8261cfd into main 2026-08-25 06:26:41 +00:00
PlasticDigits commented 2026-08-25 06:29:19 +00:00 (Migrated from gitlab.com)

mentioned in issue #629

mentioned in issue #629
PlasticDigits commented 2026-08-25 06:29:22 +00:00 (Migrated from gitlab.com)

mentioned in issue #632

mentioned in issue #632
PlasticDigits commented 2026-08-25 06:29:44 +00:00 (Migrated from gitlab.com)

mentioned in issue #638

mentioned in issue #638
PlasticDigits commented 2026-08-25 06:29:55 +00:00 (Migrated from gitlab.com)

mentioned in issue #630

mentioned in issue #630
PlasticDigits commented 2026-08-25 06:29:57 +00:00 (Migrated from gitlab.com)

mentioned in issue #631

mentioned in issue #631
PlasticDigits commented 2026-08-25 06:30:01 +00:00 (Migrated from gitlab.com)

mentioned in issue #627

mentioned in issue #627
PlasticDigits commented 2026-08-25 06:30:02 +00:00 (Migrated from gitlab.com)

mentioned in issue #526

mentioned in issue #526
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
code/cl8y-dex-terraclassic!1144
No description provided.