Skip to content

feat(wallet): add LOBSTR wallet support for mobile and desktop - #80

Open
tebney wants to merge 1 commit into
Kalebtron1:mainfrom
tebney:feat/lobstr-wallet-support-v2
Open

feat(wallet): add LOBSTR wallet support for mobile and desktop#80
tebney wants to merge 1 commit into
Kalebtron1:mainfrom
tebney:feat/lobstr-wallet-support-v2

Conversation

@tebney

@tebney tebney commented Jul 27, 2026

Copy link
Copy Markdown

Closes #75

What changed

LOBSTR is integrated as a named, documented wallet option throughout the wallet abstraction stack. The underlying LobstrModule was already registered in stellarWalletsKit.ts; this PR makes it a first-class citizen with proper ID exports, clear limitation documentation, and user-facing discovery UI.


Before

  • LOBSTR_ID was not exported — consumers had no stable constant to reference.
  • No UI surfaced LOBSTR as an option; users had to already know it appeared in the kit modal.
  • No documentation of LOBSTR-specific limitations (browser extension only; no mobile deep-link).
  • useWallet.tsx polling comment implied it only handled Freighter — no clarity for other providers.

After

  • LOBSTR_ID is exported from both stellarWalletsKit.ts and mobileWalletConnectors.ts.
  • mobileWalletConnectors.ts has a new JSDoc block listing all provider limitations:
    • freighter — desktop extension; supports silent address polling.
    • lobstr — desktop browser extension (Chrome/Brave); connects and signs via @lobstrco/signer-extension-api. No silent polling API. LOBSTR mobile app does not support deep-link signing in this flow.
    • albedo — web popup; works in any browser including mobile.
    • privy — managed embedded wallet via privyBridge.
  • useWallet.tsx now documents that Freighter-extension polling is skipped for LOBSTR (and all non-Freighter providers).
  • New src/components/WalletSetupModal.tsx: an informational dialog listing supported wallets (Freighter, LOBSTR, Albedo, xBull) with platform badges, external links, and a visible amber limitation notice for LOBSTR.
  • Login.tsx surfaces a "Freighter / LOBSTR / Albedo / xBull — which one to use?" info link that opens the modal.

LOBSTR support scope

Platform Supported Notes
Desktop Chrome/Brave extension Yes Full connect + sign via kit modal
Desktop other browsers Partial Extension must be installed
Mobile LOBSTR app No No deep-link signing; Albedo recommended for mobile

Files changed

File Change
src/lib/stellarWalletsKit.ts Export LOBSTR_ID
src/lib/mobileWalletConnectors.ts Re-export LOBSTR_ID; add provider limitations JSDoc
src/hooks/useWallet.tsx Document LOBSTR no-polling behavior; clarify Freighter guard
src/components/WalletSetupModal.tsx New — informational supported-wallets modal
src/pages/Login.tsx Add info link opening WalletSetupModal

src/wallet/WalletAdapter.ts requires no changes — it is a provider-agnostic interface contract.


Validation

  • npm run build — builds successfully (exit 0)
  • npm test — 24/24 tests pass
  • npm run lint — zero new violations (pre-existing issues are unrelated to this PR)
  • Existing providers (Freighter, Albedo, xBull, Privy) continue to work without modification

- Export LOBSTR_ID from stellarWalletsKit.ts alongside FREIGHTER_ID and ALBEDO_ID
- Re-export LOBSTR_ID from mobileWalletConnectors.ts for stable consumer imports
- Add provider-specific limitations JSDoc (LOBSTR: extension-only, no mobile deep-link)
- Update useWallet.tsx to skip Freighter-only extension polling for LOBSTR sessions
- Create WalletSetupModal.tsx: informational dialog listing supported wallets
  (Freighter, LOBSTR, Albedo, xBull) with platform badges and LOBSTR limitation notice
- Update Login.tsx: surface WalletSetupModal via info link in the wallet picker card

LOBSTR connects and signs through the existing Stellar Wallets Kit modal flow.
No changes required to WalletAdapter.ts (already provider-agnostic interface).
Existing providers (Freighter, Albedo, xBull, Privy) are unaffected.

Closes Kalebtron1#75
@vercel

vercel Bot commented Jul 27, 2026

Copy link
Copy Markdown

@tebney is attempting to deploy a commit to the alankcr1-6443's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jul 27, 2026

Copy link
Copy Markdown

@tebney Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

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.

Add LOBSTR wallet support for mobile and desktop

1 participant