Skip to content

Conversation

@bitgamma
Copy link

@bitgamma bitgamma commented Oct 16, 2025

Description

This PR adds Keycard Shell to the list of supported QR hardware wallets. We have performed extensive tests between Keycard Shell and MetaMask and can confirm full compatibility.

Open in GitHub Codespaces

Changelog

CHANGELOG entry: Added Keycard Shell to the list of QR-based hardware wallets

Related issues

Fixes: N/A

Manual testing steps

  1. Add hardware wallet account
  2. Select QR-based
  3. See Keycard Shell in the list of wallets

Screenshots/Recordings

Before

After

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Adds Keycard Shell as a supported QR hardware wallet with UI option, constants/links, i18n strings, and issue template entry.

  • UI:
    • In ui/pages/create-account/connect-hardware/select-hardware.js, adds Keycard Shell QR wallet option with Buy/Tutorial buttons, link opens, and marketing event tracking (QrHardwareDeviceNames.KShell).
  • Shared constants:
    • In shared/constants/hardware-wallets.ts, adds KShell to QrHardwareDeviceNames, HardwareAffiliateLinks, and HardwareAffiliateTutorialLinks with URLs.
  • Internationalization:
    • Adds keycardShell message to multiple locale files (e.g., app/_locales/en/messages.json, .../de, .../es, etc.).
  • GitHub templates:
    • Updates .github/ISSUE_TEMPLATE/bug-report.yml to include Keycard Shell in hardware wallet options.

Written by Cursor Bugbot for commit 2a80dad. This will update automatically on new commits. Configure here.

@github-actions
Copy link
Contributor

github-actions bot commented Oct 16, 2025

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamaskbot metamaskbot added external-contributor INVALID-PR-TEMPLATE PR's body doesn't match template labels Oct 16, 2025
@bitgamma
Copy link
Author

I have read the CLA Document and I hereby sign the CLA

@metamaskbot metamaskbot removed the INVALID-PR-TEMPLATE PR's body doesn't match template label Oct 16, 2025
@bitgamma bitgamma marked this pull request as ready for review October 16, 2025 03:23
cursor[bot]

This comment was marked as outdated.

Akaryatrh
Akaryatrh previously approved these changes Nov 21, 2025
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Missing Keycard Shell in QrHardwareDeviceNames enum

The QrHardwareDeviceNames enum is missing a Keycard Shell entry, while the new code in select-hardware.js references it. All other QR wallet implementations use an entry from this enum for tracking, but Keycard Shell doesn't have a corresponding entry, creating an inconsistency in how device names are managed across QR hardware wallets.

shared/constants/hardware-wallets.ts#L59-L67

export enum QrHardwareDeviceNames {
Keystone = 'Keystone',
AirGap = 'AirGap Vault',
CoolWallet = 'CoolWallet',
DCent = 'DCent',
Ngrave = 'Ngrave',
ImToken = 'imToken',
}

Fix in Cursor Fix in Web


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants