follow-up(!11): post-merge tasks after Keplr mobile Open-in-Keplr (#9) #10

Closed
opened 2026-08-18 15:00:41 +00:00 by PlasticDigits · 12 comments
PlasticDigits commented 2026-08-18 15:00:41 +00:00 (Migrated from gitlab.com)

Context

Shipped in !29 (closes #9): Terra Classic /sign/terra-classic shows Open in Keplr + Copy link when window.keplr is missing, instead of dead-ending on Keplr extension not found.

These items remain after merge.

Remaining work

  • Manual QA (was unchecked on #9 / !29): Android 16 Chrome against staging/prod: Open in Keplr → in-app signArbitrary → signed_latest: true, then allowlisted redirect_uri return.
  • Manual QA: desktop Chrome + Keplr extension regression (issue #1 path still signs).
  • UX bug: after missing-Keplr, Connect & sign stays disabled. web/src/signShell.ts sets busy = true on click and only clears it in catch. Terra onSign now returns early instead of throwing (web/src/pages/terra.ts), so busy never resets. Open in Keplr still works; the button should re-enable. Reset busy after onSign completes (including non-throwing early return).
  • Product (still out of scope of !29): WalletConnect / Keplr Mobile signArbitrary so Chrome can complete T&C without switching to the in-app browser. DEX/bridge connect bugs remain on those repos (cl8y-dex-terraclassic#554, cl8y-bridge-monorepo#137) — not this repo.

Not in this issue

  • Wildcard CORS (#7) — separate.
  • CI ci_quota_exceeded on !29 pipelines — GitLab minutes/quota, not a code defect.
## Context Shipped in [!29](https://gitlab.com/PlasticDigits/cl8y-ecosystem-legal/-/merge_requests/11) (closes [#9](https://gitlab.com/PlasticDigits/cl8y-ecosystem-legal/-/issues/9)): Terra Classic `/sign/terra-classic` shows **Open in Keplr** + **Copy link** when `window.keplr` is missing, instead of dead-ending on `Keplr extension not found`. These items remain after merge. ## Remaining work - [ ] **Manual QA (was unchecked on #9 / !29):** Android 16 Chrome against staging/prod: Open in Keplr → in-app `signArbitrary` → `signed_latest: true`, then allowlisted `redirect_uri` return. - [ ] **Manual QA:** desktop Chrome + Keplr extension regression (issue #1 path still signs). - [ ] **UX bug:** after missing-Keplr, Connect & sign stays disabled. `web/src/signShell.ts` sets `busy = true` on click and only clears it in `catch`. Terra `onSign` now **returns early** instead of throwing (`web/src/pages/terra.ts`), so `busy` never resets. Open in Keplr still works; the button should re-enable. Reset `busy` after `onSign` completes (including non-throwing early return). - [ ] **Product (still out of scope of !29):** WalletConnect / Keplr Mobile `signArbitrary` so Chrome can complete T&C without switching to the in-app browser. DEX/bridge **connect** bugs remain on those repos (`cl8y-dex-terraclassic#554`, `cl8y-bridge-monorepo#137`) — not this repo. ## Not in this issue - Wildcard CORS (`#7`) — separate. - CI `ci_quota_exceeded` on !29 pipelines — GitLab minutes/quota, not a code defect.
PlasticDigits commented 2026-08-18 15:00:42 +00:00 (Migrated from gitlab.com)

marked as related to #9

marked as related to #9
PlasticDigits commented 2026-08-18 15:00:51 +00:00 (Migrated from gitlab.com)

mentioned in issue #9

mentioned in issue #9
PlasticDigits commented 2026-08-18 15:16:13 +00:00 (Migrated from gitlab.com)

mentioned in issue #11

mentioned in issue #11
PlasticDigits commented 2026-08-18 15:16:13 +00:00 (Migrated from gitlab.com)

marked as related to #11

marked as related to #11
PlasticDigits commented 2026-08-26 01:43:08 +00:00 (Migrated from gitlab.com)

mentioned in issue #13

mentioned in issue #13
PlasticDigits commented 2026-08-26 01:43:08 +00:00 (Migrated from gitlab.com)

marked as related to #13

marked as related to #13
PlasticDigits commented 2026-08-26 01:59:38 +00:00 (Migrated from gitlab.com)

Agentic ops — 2026-08-26

Reviewed #9 / !29, #13 / !31, skills/terra-classic-adr036, skills/portal-sign-disclosure.

Done in this workspace (not merged yet)

UX leftover — busy stuck after Terra onSign early return. web/src/signShell.ts now clears busy in finally so Connect & sign re-enables when Terra returns without throwing (no wallet / missing extension). Tests: web/src/signShell.test.ts (early return + throw); Playwright missing-Keplr case now asserts the button is enabled again.

Local verify: cd web && npm test -- src/signShell.test.ts (9/9).

Still this issue (needs a person)

  • Manual QA — Android 16 Chrome against prod Terra sign: Open in Keplr → in-app signArbitrary → signed_latest: true → allowlisted redirect_uri return.
  • Manual QA — desktop Chrome + Keplr extension: same URL, Connect & sign → signed_latest: true (issue #1 path).
  • Stay-in-Chrome WC / Keplr Mobile signArbitrary: shipped for LUNC Dash in !31. Galaxy Station WC v2 is still off on prod until Legal-owned VITE_WC_PROJECT_ID is set — see #13.

DEX/bridge connect bugs stay on those repos (cl8y-dex-terraclassic#554, cl8y-bridge-monorepo#137).

## Agentic ops — 2026-08-26 Reviewed #9 / !29, #13 / !31, [`skills/terra-classic-adr036`](https://gitlab.com/PlasticDigits/cl8y-ecosystem-legal/-/blob/main/skills/terra-classic-adr036/SKILL.md), [`skills/portal-sign-disclosure`](https://gitlab.com/PlasticDigits/cl8y-ecosystem-legal/-/blob/main/skills/portal-sign-disclosure/SKILL.md). ### Done in this workspace (not merged yet) **UX leftover — `busy` stuck after Terra `onSign` early return.** `web/src/signShell.ts` now clears `busy` in `finally` so Connect & sign re-enables when Terra returns without throwing (no wallet / missing extension). Tests: `web/src/signShell.test.ts` (early return + throw); Playwright missing-Keplr case now asserts the button is enabled again. Local verify: `cd web && npm test -- src/signShell.test.ts` (9/9). ### Still this issue (needs a person) - [ ] **Manual QA — Android 16 Chrome** against [prod Terra sign](https://terms.cl8y.com/sign/terra-classic?property=ust1cmm.com): Open in Keplr → in-app `signArbitrary` → `signed_latest: true` → allowlisted `redirect_uri` return. - [ ] **Manual QA — desktop Chrome + Keplr extension:** same URL, Connect & sign → `signed_latest: true` (issue #1 path). - [ ] **Stay-in-Chrome WC / Keplr Mobile `signArbitrary`:** shipped for LUNC Dash in !31. Galaxy Station WC v2 is still **off on prod** until Legal-owned `VITE_WC_PROJECT_ID` is set — see #13. DEX/bridge **connect** bugs stay on those repos (`cl8y-dex-terraclassic#554`, `cl8y-bridge-monorepo#137`).
PlasticDigits commented 2026-08-29 11:21:11 +00:00 (Migrated from gitlab.com)

mentioned in issue #14

mentioned in issue #14
PlasticDigits commented 2026-08-31 04:58:07 +00:00 (Migrated from gitlab.com)

mentioned in issue #16

mentioned in issue #16
PlasticDigits commented 2026-08-31 04:58:23 +00:00 (Migrated from gitlab.com)

mentioned in issue #18

mentioned in issue #18
PlasticDigits commented 2026-08-31 09:23:18 +00:00 (Migrated from gitlab.com)

Verify — 2026-08-31

Re-checked leftover #10 items against main (4f29049).

Code (UX busy flag)

  • web/src/signShell.ts clears busy in finally so Connect & sign re-enables when Terra onSign returns early (no throw)
  • web/src/signShell.test.ts — early return + throw both re-enable the button
  • Playwright terra-sign missing-Keplr case: Open in Keplr visible; Connect & sign enabled again after click (43/43 e2e, workers=5)

This leftover is already on main (not a new patch in this pass).

Still needs a person — leaving open

  • Manual QA — Android 16 Chrome against prod Terra sign: Open in Keplr → in-app signArbitrary → signed_latest: true → allowlisted redirect_uri
  • Manual QA — desktop Chrome + Keplr extension: same URL, Connect & sign → signed_latest: true
  • Stay-in-Chrome WC / Keplr Mobile signArbitrary: still a product leftover. LUNC Dash WC v1 is in the portal; Galaxy Station WC v2 stays off until Legal-owned VITE_WC_PROJECT_ID (see #13). DEX/bridge connect bugs stay on those repos.

Prod spot-check (automation browser, no Keplr): wallet matrix + Open in Keplr + Copy link are live. Cannot complete real-extension / Android in-app sign from here.

## Verify — 2026-08-31 Re-checked leftover #10 items against `main` (`4f29049`). ### Code (UX busy flag) - [x] `web/src/signShell.ts` clears `busy` in `finally` so Connect & sign re-enables when Terra `onSign` returns early (no throw) - [x] `web/src/signShell.test.ts` — early return + throw both re-enable the button - [x] Playwright `terra-sign` missing-Keplr case: Open in Keplr visible; Connect & sign enabled again after click (`43/43` e2e, workers=5) This leftover is already on `main` (not a new patch in this pass). ### Still needs a person — leaving open - [ ] **Manual QA — Android 16 Chrome** against [prod Terra sign](https://terms.cl8y.com/sign/terra-classic?property=ust1cmm.com): Open in Keplr → in-app `signArbitrary` → `signed_latest: true` → allowlisted `redirect_uri` - [ ] **Manual QA — desktop Chrome + Keplr extension:** same URL, Connect & sign → `signed_latest: true` - [ ] **Stay-in-Chrome WC / Keplr Mobile `signArbitrary`:** still a product leftover. LUNC Dash WC v1 is in the portal; Galaxy Station WC v2 stays off until Legal-owned `VITE_WC_PROJECT_ID` (see #13). DEX/bridge connect bugs stay on those repos. Prod spot-check (automation browser, no Keplr): wallet matrix + **Open in Keplr** + **Copy link** are live. Cannot complete real-extension / Android in-app sign from here.
PlasticDigits commented 2026-08-31 11:18:04 +00:00 (Migrated from gitlab.com)

Closing after API + web redeploy check.

Remaining real-wallet / integrator smoke is pending a user reopening report if something still fails in the wild.

Closing after API + web redeploy check. Remaining real-wallet / integrator smoke is pending a user reopening report if something still fails in the wild.
PlasticDigits (Migrated from gitlab.com) closed this issue 2026-08-31 11:18:05 +00:00
Sign in to join this conversation.
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-ecosystem-legal#10
No description provided.