WIP: Draft: fix(frontend): abort cancelled Terra connect and keep header above wallet backdrops (GL-137) #161

Closed
PlasticDigits wants to merge 0 commits from 137-bug-frontend-android-chrome-cannot-activate-connect-terra-wallet-connect-tc- into main
PlasticDigits commented 2026-09-01 07:29:06 +00:00 (Migrated from gitlab.com)

Summary

  • Follow-up to merged !159 for #137. Core Android Chrome connect path is already on main; this hardens remaining completion-path and overlay gaps.
  • Cancel abort: cancelConnection / disconnect bumps a connect epoch so a late connectTerraWallet success cannot set connected. Ghost sessions are disconnected. ConnectionCancelledError is not shown as connectionError.
  • Header-safe backdrops: connected-wallet fixed inset-0 menus (Terra / EVM / Solana) portal to document.body at z-40 (WalletMenuBackdrop) and close on route change (useDismissOnNavigate), so they cannot stack inside the header and cover Connect.
  • Tests: hydrate reset, Cancel-vs-late-WC, pairing Cancel, Simulated wallet hidden when DEV_MODE is false, in-app banner, Android Chrome UA e2e, History navigation dismisses backdrop.
  • Invariants INV-FE-WC-MOBILE-1, docs/frontend.md, QA template 3.11/3.15, and skills/agent-frontend-terra-wallet-mobile.md updated and crosslinked.

Related #137 (kept open until Android 16 Chrome device QA passes)

Test plan

  • Unit tests for Cancel abort, hydrate reset, backdrop portal, pairing Cancel, Simulated hidden in production mock, in-app banner (npm run test:unit on changed files — 27 passed; retested)
  • Typecheck (npx tsc --noEmit)
  • ESLint on changed TS
  • Playwright E2E_UI_ONLY=1 npx playwright test e2e/wallet-connect.spec.ts --workers=5 — 9 passed (retested after backdrop portal)
  • Tested on desktop (device: ___) — desktop extension path unchanged; please confirm Keplr extension
  • Tested on mobile (device: Android 16 Chrome) — still needs device QA (tap CTA → modal → Lunc Dash / Galaxy Station Open+Copy)
  • Wallet tested: ___
  • Screenshots attached (if UI change) — overlay stacking screenshot still useful from a real Android 16 Chrome session

Checklist

  • Only touches packages/frontend/ plus docs/skills/QA for invariants
  • No hardcoded secrets, keys, or addresses
  • Lint passes
  • Unit tests pass (changed files)

Closes #137

## Summary - Follow-up to merged !159 for [#137](https://gitlab.com/PlasticDigits/cl8y-bridge-monorepo/-/issues/137). Core Android Chrome connect path is already on `main`; this hardens remaining completion-path and overlay gaps. - **Cancel abort:** `cancelConnection` / disconnect bumps a connect epoch so a late `connectTerraWallet` success cannot set `connected`. Ghost sessions are disconnected. `ConnectionCancelledError` is not shown as `connectionError`. - **Header-safe backdrops:** connected-wallet `fixed inset-0` menus (Terra / EVM / Solana) portal to `document.body` at `z-40` (`WalletMenuBackdrop`) and close on route change (`useDismissOnNavigate`), so they cannot stack inside the header and cover Connect. - Tests: hydrate reset, Cancel-vs-late-WC, pairing Cancel, Simulated wallet hidden when `DEV_MODE` is false, in-app banner, Android Chrome UA e2e, History navigation dismisses backdrop. - Invariants **INV-FE-WC-MOBILE-1**, `docs/frontend.md`, QA template 3.11/3.15, and `skills/agent-frontend-terra-wallet-mobile.md` updated and crosslinked. Related #137 (kept open until Android 16 Chrome device QA passes) ## Test plan - [x] Unit tests for Cancel abort, hydrate reset, backdrop portal, pairing Cancel, Simulated hidden in production mock, in-app banner (`npm run test:unit` on changed files — 27 passed; retested) - [x] Typecheck (`npx tsc --noEmit`) - [x] ESLint on changed TS - [x] Playwright `E2E_UI_ONLY=1 npx playwright test e2e/wallet-connect.spec.ts --workers=5` — 9 passed (retested after backdrop portal) - [ ] Tested on desktop (device: ___) — desktop extension path unchanged; please confirm Keplr extension - [ ] Tested on mobile (device: Android 16 Chrome) — still needs device QA (tap CTA → modal → Lunc Dash / Galaxy Station Open+Copy) - [ ] Wallet tested: ___ - [ ] Screenshots attached (if UI change) — overlay stacking screenshot still useful from a real Android 16 Chrome session ## Checklist - [x] Only touches `packages/frontend/` plus docs/skills/QA for invariants - [x] No hardcoded secrets, keys, or addresses - [x] Lint passes - [x] Unit tests pass (changed files) Closes #137
PlasticDigits (Migrated from gitlab.com) closed this pull request 2026-09-01 07:29:43 +00:00

Pull request closed

Sign in to join this conversation.
No description provided.