Skip to content

Conversation

@austingray
Copy link

Summary

This PR fixes Firefox extension detection for dynamically detected wallet extensions by properly preserving the firefoxId property throughout the SDK.

The Problem:
When a browser extension responds to the SDK's ping message with a firefoxId in the sender object (indicating it's a Firefox extension), the SDK was not preserving this property. This caused the "Use Extension" button to fail on Firefox because the SDK couldn't identify the extension properly.

Changes:

  • beacon-types/Extension.ts: Added firefoxId optional property to the Extension interface
  • beacon-transport-postmessage/PostMessageTransport.ts: Capture firefoxId from pong responses in listenForExtensions()
  • beacon-ui/utils/wallets.ts: Updated mergeWallets() to use explicit firefoxId property from detected extensions
  • beacon-ui/hooks/useWallets.tsx: Pass through firefoxId for dynamically detected extensions
  • beacon-ui/hooks/useConnect.tsx: Fixed setInstallState() to show install screen for extension-only wallets

Test plan

  • Tested with a custom Firefox extension that provides firefoxId in pong response
  • Verified extension appears in wallet list with "Use Extension" button
  • Verified clicking "Use Extension" properly sends pairing request to extension
  • Verified backwards compatibility - extensions without firefoxId continue to work

@austingray austingray force-pushed the fix/firefox-extension-detection branch from b734cef to c37fac8 Compare December 9, 2025 09:56
@lukeisontheroad lukeisontheroad requested review from kaltra-muho and lukeisontheroad and removed request for lukeisontheroad December 10, 2025 16:09
@lukeisontheroad lukeisontheroad self-assigned this Dec 10, 2025
@lukeisontheroad
Copy link
Member

Thanks for the PR! We've actually already partially addressed this in our 5.0.0-beta branch - the UI layer already has firefoxId support for wallets in our static list.

However, you're right that we're missing the dynamic discovery piece (capturing firefoxId from the pong response in PostMessageTransport). We'll review your implementation and adopt the missing parts.

In the meantime, to get your wallet listed officially, please open a PR to our wallet registry: https://github.com/airgap-it/beacon-wallet-list

Is your extension already released? We'd be happy to test it if you can share a link or point us to where we can install it.

@austingray
Copy link
Author

austingray commented Dec 10, 2025

Hey, awesome news. My wallet isn't ready to be released and my number one priority is supporting firefox since there are no tezos firefox browser wallet extensions available. It's open-source and available for review here https://github.com/austingray/tm-wallet. Once I get it to a more publishable state I will most certainly be opening a PR for it to be added to the registry. Thank you so much.

@austingray austingray force-pushed the fix/firefox-extension-detection branch from a75d80c to 16643a8 Compare December 11, 2025 19:38
@austingray
Copy link
Author

did some cleanup and removed some hacking about with icons i was doing

@austingray austingray force-pushed the fix/firefox-extension-detection branch from 16643a8 to 2d4b37d Compare December 11, 2025 19:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants