W2-C2: Leap wallet "Install" CTA links to a dead 404 — Leap Wallet is being sunset #159

Closed
opened 2026-05-12 11:48:44 +00:00 by totdking · 14 comments
totdking commented 2026-05-12 11:48:44 +00:00 (Migrated from gitlab.com)
No description provided.
totdking commented 2026-05-12 12:04:38 +00:00 (Migrated from gitlab.com)

Issue Summary

In the Connect Wallet modal, clicking INSTALL next to the Leap wallet option redirects to leapwallet.io/download, which returns a 404 with the message "Leap Wallet is being sunset." The wallet is listed as a supported option with an active Install CTA, but the destination no longer exists. A user who clicks Install is sent to a dead page with no actionable path forward.


Reproduction Steps

  1. Open the app and click Connect Wallet in the header
  2. In the modal, locate the LEAP row — it shows EXTENSION, NOT INSTALLED, and an INSTALL button
  3. Click INSTALL
  4. Observe the new tab — leapwallet.io/download returns a 404: "Page not found. Leap Wallet is being sunset."

Expected Behavior

Either:

  • Leap is removed from the wallet list entirely since the wallet is being sunset and the install path is broken, or
  • The Install CTA is removed and the row is grayed out with a label such as "Leap is no longer supported"

In no case should a wallet option with an active Install CTA point to a dead URL.


Actual Behavior

The LEAP row is shown as a valid install target. Clicking INSTALL opens leapwallet.io/download which returns 404 with the sunset notice. The user has no path to install Leap and no explanation in the app that the wallet is no longer viable.


Environment Details

Field Value
OS macOS (Apple M1 Pro, 14-inch)
Browser Google Chrome (desktop)
Viewport ~375px mobile modal
Network localterra (local Docker)
Frontend VITE_NETWORK=local npm run dev

Screenshots

See attached screenshot showing leapwallet.io/download returning 404 with the message "Leap Wallet is being sunset."

image.png{width=900 height=544}


Severity / Impact

P2 Polish / Pre-launch requirement. No funds are at risk, but an Install CTA that dead-ends on a 404 is actively broken user-facing behaviour. Any user who attempts to onboard via Leap is sent to a dead page. Since Leap is being sunset, the correct fix is to remove it from the supported wallet list before launch. Found under W2-C2 (Wallet selection UX — Interactivity dimension).

cc: @PlasticDigits

### Issue Summary In the Connect Wallet modal, clicking **INSTALL** next to the Leap wallet option redirects to `leapwallet.io/download`, which returns a 404 with the message _"Leap Wallet is being sunset."_ The wallet is listed as a supported option with an active Install CTA, but the destination no longer exists. A user who clicks Install is sent to a dead page with no actionable path forward. --- ### Reproduction Steps 1. Open the app and click **Connect Wallet** in the header 2. In the modal, locate the **LEAP** row — it shows `EXTENSION`, `NOT INSTALLED`, and an `INSTALL` button 3. Click **INSTALL** 4. Observe the new tab — `leapwallet.io/download` returns a 404: _"Page not found. Leap Wallet is being sunset."_ --- ### Expected Behavior Either: - Leap is removed from the wallet list entirely since the wallet is being sunset and the install path is broken, **or** - The Install CTA is removed and the row is grayed out with a label such as _"Leap is no longer supported"_ In no case should a wallet option with an active Install CTA point to a dead URL. --- ### Actual Behavior The LEAP row is shown as a valid install target. Clicking INSTALL opens `leapwallet.io/download` which returns 404 with the sunset notice. The user has no path to install Leap and no explanation in the app that the wallet is no longer viable. --- ### Environment Details | Field | Value | |-------|-------| | OS | macOS (Apple M1 Pro, 14-inch) | | Browser | Google Chrome (desktop) | | Viewport | \~375px mobile modal | | Network | `localterra` (local Docker) | | Frontend | `VITE_NETWORK=local npm run dev` | --- ### Screenshots > See attached screenshot showing `leapwallet.io/download` returning 404 with the message "Leap Wallet is being sunset." ![image.png](/uploads/c639af6ee0d8f1989cc17af860ac347d/image.png){width=900 height=544} --- ### Severity / Impact **P2 Polish / Pre-launch requirement.** No funds are at risk, but an Install CTA that dead-ends on a 404 is actively broken user-facing behaviour. Any user who attempts to onboard via Leap is sent to a dead page. Since Leap is being sunset, the correct fix is to remove it from the supported wallet list before launch. Found under **W2-C2** (Wallet selection UX — Interactivity dimension). cc: @PlasticDigits
totdking commented 2026-05-12 12:55:20 +00:00 (Migrated from gitlab.com)

changed title from Call To Action of `wallet connect` button has 2 inconsistencies: installation of leap wallet leads to a error 404 and cosmostation row is crammed together to W2-C2: Leap wallet "Install" CTA links to a dead 404 — Leap Wallet is being sunset

<p>changed title from <code class="idiff"><span class="idiff left right deletion">Call To Action of `wallet connect` button has 2 inconsistencies: installation of leap wallet leads to a error 404 and cosmostation row is crammed together</span></code> to <code class="idiff"><span class="idiff left right addition">W2-C2: Leap wallet &quot;Install&quot; CTA links to a dead 404 — Leap Wallet is being sunset</span></code></p>
totdking commented 2026-05-12 12:55:20 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
PlasticDigits commented 2026-05-13 05:24:27 +00:00 (Migrated from gitlab.com)

mentioned in commit 0b801ba0dd

mentioned in commit 0b801ba0dd15148c2e56afe6307e2b73fa550375
PlasticDigits commented 2026-05-13 05:25:00 +00:00 (Migrated from gitlab.com)

Update (implementation merged to `main`)

Leap Wallet has been removed from the supported wallet surface (`0b801ba`) so we no longer show a row or Install CTA that pointed at a dead vendor URL (GitLab #159).

What changed

  • UI: `WalletModal` — no Leap row.
  • Connect stack: `wallet.ts` — no `LeapController`; `TerraWalletBackend` type excludes `leap`; `experimentalSuggestChain` path for Keplr-like extensions is Keplr + Cosmostation only.
  • Detection / install links: `keplrLikeExtension.ts`, `walletExtensionInstall.ts`, `useWalletExtensionInstallSnapshot.ts` — no Leap branch or `leapwallet.io` URL; docblock invariants note Leap must stay out of the product while sunset.
  • Persistence: `useWallet.ts` — if `localStorage` still has a saved Leap session, it is cleared on load (no reconnect loop).
  • Docs / QA / agent playbooks: `docs/frontend.md` (merged with #160 modal copy), `QA_TEMPLATE.md`, `QA_PASS_2026-03-13.md`, `skills/AGENTS_* ` cross-links including `AGENTS_FRONTEND_WALLET_CONNECT_MODAL.md`.

Verification checklist for QA

  • Open Connect Wallet: confirm no Leap row and no Leap Install link.
  • Station / Keplr / Cosmostation rows still show Ready vs dimmed row + Install as in #160.
  • Connect Keplr and Cosmostation on testnet or mainnet smoke path (chain suggest still runs for those).
  • With a devtools-injected `localStorage` key `cl8y_wallet_connection` set to `{"walletName":"leap","walletType":"EXTENSION"}`, reload: storage should be removed and no crash.
  • `npm run test:unit` and `npm run build` in `frontend-dapp/` pass on your machine.

@totdking could you confirm on your side when you have a moment? Leaving #159 open until you sign off.

## Update (implementation merged to \`main\`) Leap Wallet has been **removed** from the supported wallet surface ([\`0b801ba\`](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/commit/0b801ba)) so we no longer show a row or **Install** CTA that pointed at a dead vendor URL (GitLab **#159**). ### What changed - **UI:** \`WalletModal\` — no Leap row. - **Connect stack:** \`wallet.ts\` — no \`LeapController\`; \`TerraWalletBackend\` type excludes \`leap\`; \`experimentalSuggestChain\` path for Keplr-like extensions is Keplr + Cosmostation only. - **Detection / install links:** \`keplrLikeExtension.ts\`, \`walletExtensionInstall.ts\`, \`useWalletExtensionInstallSnapshot.ts\` — no Leap branch or \`leapwallet.io\` URL; docblock invariants note Leap must stay **out** of the product while sunset. - **Persistence:** \`useWallet.ts\` — if \`localStorage\` still has a saved Leap session, it is cleared on load (no reconnect loop). - **Docs / QA / agent playbooks:** \`docs/frontend.md\` (merged with #160 modal copy), \`QA_TEMPLATE.md\`, \`QA_PASS_2026-03-13.md\`, \`skills/AGENTS_* \` cross-links including \`AGENTS_FRONTEND_WALLET_CONNECT_MODAL.md\`. ### Verification checklist for QA - [ ] Open **Connect Wallet**: confirm **no Leap** row and no Leap **Install** link. - [ ] Station / Keplr / Cosmostation rows still show **Ready** vs dimmed row + **Install** as in #160. - [ ] Connect **Keplr** and **Cosmostation** on testnet or mainnet smoke path (chain suggest still runs for those). - [ ] With a devtools-injected \`localStorage\` key \`cl8y_wallet_connection\` set to \`{\"walletName\":\"leap\",\"walletType\":\"EXTENSION\"}\`, reload: storage should be **removed** and no crash. - [ ] \`npm run test:unit\` and \`npm run build\` in \`frontend-dapp/\` pass on your machine. @totdking could you confirm on your side when you have a moment? Leaving **#159** open until you sign off.
PlasticDigits commented 2026-05-27 05:15:39 +00:00 (Migrated from gitlab.com)

mentioned in commit 1e66925b52

mentioned in commit 1e66925b528792485c2db67761b0404749bc2332
PlasticDigits commented 2026-05-27 05:15:50 +00:00 (Migrated from gitlab.com)

QA verification (signed off)

Verified on local stack (LocalTerra healthy, host Postgres :5432, indexer :3001, frontend :3000, bot swarm 30/30).

Checklist

  • Connect Wallet: no Leap row; no leapwallet.io install link (browser: Station / Keplr / Cosmostation Install → setup.money, keplr.app/download, wallet.cosmostation.io).
  • #160 UX: extension rows show Ready when detected vs dimmed row + Install when not (browser + existing WalletModal tests).
  • Keplr / Cosmostation chain suggest: code path unchanged (getKeplrLikeExtension + suggestChainToExtension); full extension connect not exercised here (no extensions installed in browser).
  • Persisted Leap session: injected cl8y_wallet_connection with walletName: leap; after reload storage cleared, no crash, header shows Connect Wallet.
  • npm run test:unit — 599 passed (+ new #159 regression tests).
  • npm run build — success.

Code

  • Product fix already on main (0b801ba — Leap removed from modal, controllers, install URLs).
  • Added regression tests in 1e66925: modal has no Leap, no Leap install URL, Leap localStorage purged on load.

Closing as verified.

## QA verification (signed off) Verified on local stack (LocalTerra healthy, host Postgres :5432, indexer :3001, frontend :3000, bot swarm 30/30). ### Checklist - [x] **Connect Wallet:** no Leap row; no `leapwallet.io` install link (browser: Station / Keplr / Cosmostation Install → `setup.money`, `keplr.app/download`, `wallet.cosmostation.io`). - [x] **#160 UX:** extension rows show **Ready** when detected vs dimmed row + **Install** when not (browser + existing `WalletModal` tests). - [x] **Keplr / Cosmostation chain suggest:** code path unchanged (`getKeplrLikeExtension` + `suggestChainToExtension`); full extension connect not exercised here (no extensions installed in browser). - [x] **Persisted Leap session:** injected `cl8y_wallet_connection` with `walletName: leap`; after reload storage cleared, no crash, header shows **Connect Wallet**. - [x] **`npm run test:unit`** — 599 passed (+ new #159 regression tests). - [x] **`npm run build`** — success. ### Code - Product fix already on `main` (`0b801ba` — Leap removed from modal, controllers, install URLs). - Added regression tests in `1e66925`: modal has no Leap, no Leap install URL, Leap localStorage purged on load. Closing as verified.
PlasticDigits (Migrated from gitlab.com) closed this issue 2026-05-27 05:15:51 +00:00
PlasticDigits commented 2026-06-07 12:14:13 +00:00 (Migrated from gitlab.com)

mentioned in issue #337

mentioned in issue #337
PlasticDigits commented 2026-07-14 11:12:37 +00:00 (Migrated from gitlab.com)

mentioned in issue #490

mentioned in issue #490
PlasticDigits commented 2026-08-18 15:21:51 +00:00 (Migrated from gitlab.com)

mentioned in issue PlasticDigits2/ustr-cmm#17

mentioned in issue PlasticDigits2/ustr-cmm#17
PlasticDigits commented 2026-08-18 15:22:40 +00:00 (Migrated from gitlab.com)

mentioned in issue #566

mentioned in issue #566
PlasticDigits commented 2026-08-18 15:22:40 +00:00 (Migrated from gitlab.com)

marked as related to #566

marked as related to #566
PlasticDigits commented 2026-08-19 00:54:11 +00:00 (Migrated from gitlab.com)

mentioned in merge request !1087

mentioned in merge request !1087
PlasticDigits commented 2026-08-26 04:08:01 +00:00 (Migrated from gitlab.com)

mentioned in issue #658

mentioned in issue #658
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-dex-terraclassic#159
No description provided.