UX: Connect page unclear for Trust Wallet users; Keplr path works #4
Labels
No labels
bug
docs
documentation
duplicate
enhancement
frontend
good first issue
help wanted
invalid
missing-implementation
priority
medium
product
QA
question
testing
UX
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
code/ustr-cmm#4
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
A user reported they could not see how to connect Trust Wallet on the CMM connect page (UI did not seem to match their wallet). They eventually succeeded by using the Keplr option from inside Trust Wallet’s dApp browser.
Why the Keplr option works (technical)
The frontend treats Keplr as “whatever implements the Keplr-injected API”:
!!window.keplr(isKeplrInstalledinfrontend/src/services/wallet.ts).KeplrControllerfrom cosmes withWalletName.KEPLR.Trust Wallet (and several other mobile wallets) inject a Keplr-compatible provider for Cosmos chains, including Terra Classic. There is no separate Trust integration—the same code path as Keplr is correct.
Problem
Discoverability: the modal only shows “Keplr” with no hint that Trust Wallet (and similar wallets) should use that row in the in-app browser. Users assume they need a literal Keplr install or get stuck if the page looks EVM/BSC-oriented elsewhere in the product ecosystem.
Possible directions
connect(WalletName.KEPLR, WalletType.EXTENSION)whenwindow.keplris present (or always, with clear copy), to match user mental models.Scope
frontend/src/components/common/WalletButton.tsx(labels, descriptions, optional duplicate action).frontend/src/services/wallet.tsonly if we need distinct detection (usually unnecessary if Trust already setswindow.keplr).Labels
Consider:
frontend,ux,wallet(if they exist in the project).Investigated the connect modal in WalletButton.tsx. No Trust Wallet detection exists — relies entirely on Trust injecting window.keplr. Simplest fix: update Keplr description from 'Cosmos ecosystem' to 'Keplr, Trust Wallet & compatible'. No code path changes needed. Submitting MR.
mentioned in commit
cb378044c8mentioned in merge request !26
mentioned in commit
2da12f6c5bLow priority, but need to verify TW actually injects window.keplr, otherwise figure out whats going on if it doesnt
mentioned in issue #7
mentioned in merge request !36
Follow-up to the merged label-only !26 and the note about verifying
window.keplr:Trust’s own docs prefer
window.trustwallet.cosmos(Keplr-shaped) overwindow.keplr. Some Trust in-app sessions also aliaswindow.keplr(the original report). MR !36 handles both: detect either inject, alias Trust cosmos ontowindow.keplronly when it is missing, and show a Trust-labeled row that still callsconnect(WalletName.KEPLR).Docs/invariants:
docs/WALLETS.md+skills/frontend-keplr-compatible-wallets.Still needs a real Trust Wallet dApp-browser smoke test after deploy — not done in this MR.
mentioned in commit
59ae11c8f4Merge verification for !36 (merged into
masteras59ae11c, after resolving adocs/README.mdconflict with !35).Issue / MR test-plan items (code + unit tests): PASS.
keplrCompatible.test.ts10/10; combined frontend suite 80/80. Trust is a first-class row;window.trustwallet.cosmosis detected and aliased ontowindow.keplronly when Keplr is absent; docs/footer/skills/frontend-keplr-compatible-walletsare in place.Problems / leftover (not merge-blocking):
Tracked as a follow-up issue so this closed ticket does not hide the device QA.
mentioned in issue #18
marked as related to #18
Post-merge Trust Wallet device smoke test tracked in #18.