Skip to content

feat(web): explain empty profiles and prompt linking CLI deploy wallet - #376

Merged
blockchain-maxis merged 2 commits into
blockchain-maxis:mainfrom
kelvinokwudili52-stack:feat/no-deploy-wallet-prompt
Sep 3, 2026
Merged

feat(web): explain empty profiles and prompt linking CLI deploy wallet#376
blockchain-maxis merged 2 commits into
blockchain-maxis:mainfrom
kelvinokwudili52-stack:feat/no-deploy-wallet-prompt

Conversation

@kelvinokwudili52-stack

Copy link
Copy Markdown
Contributor

Summary

When a developer claims a handle using a browser wallet (like Freighter), that wallet is rarely the keystore identity used for \stellar contract deploy. As a result, the profile and dashboard render with empty activity and no explanation.

This PR adds an empty state prompt explaining why the profile is empty and provides the exact command (
px @signet/cli link) to link CLI deploy wallets.

Changes

  • Added \LinkDeployWalletPrompt\ component on dashboard overview (/app) and wallets (/app/wallets) when no secondary deploy wallet is linked.
  • Updated public profile (/p/[handle]) empty operations list to explain deploy wallet linking and show
    px @signet/cli link.
  • Gated prompts so they automatically disappear once a deploy wallet is linked.

Verification


  • px pnpm --filter @signet/web run typecheck\ passed cleanly.

  • px pnpm --filter @signet/web run lint\ passed.

  • px pnpm test\ passed (all 207 tests passing).

closes #287

@drips-wave

drips-wave Bot commented Aug 31, 2026

Copy link
Copy Markdown

@kelvinokwudili52-stack 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

@vercel

vercel Bot commented Aug 31, 2026

Copy link
Copy Markdown

@kelvinokwudili52-stack is attempting to deploy a commit to the blockchainmaxis-8449's projects Team on Vercel.

A member of the Team first needs to authorize it.

@netlify

netlify Bot commented Aug 31, 2026

Copy link
Copy Markdown

Deploy Preview for stellar-signet ready!

Name Link
🔨 Latest commit adb1a04
🔍 Latest deploy log https://app.netlify.com/projects/stellar-signet/deploys/6a995e20e7d90b000816b19e
😎 Deploy Preview https://deploy-preview-376--stellar-signet.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@blockchain-maxis blockchain-maxis left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

The empty state this adds is the right one — it names the actual cause (the claiming wallet is rarely the deploy key), gives the exact command, and gating on "handle claimed but no deploy wallet" means it disappears on its own once one is linked, with no dismiss state to manage. That's #287's acceptance, and putting it on the dashboard, the wallets page and the profile operations list covers the three places a developer would hit the confusion.

Two things to fix before I can merge.

1. The branch is stale and conflicts. It's based on 8216232 ("feat: report nonce and rate-limit store status in /health (#309)"), and both pages it edits have moved since:

CONFLICT (content): Merge conflict in apps/web/app/(dashboard)/app/page.tsx
CONFLICT (content): Merge conflict in apps/web/app/(dashboard)/app/wallets/page.tsx

Relevant commits on main: #333 (unlink from the dashboard), #337 (rewrote the very wallets-page paragraph this PR replaces), #362 (the indexing… badge), #329 (Wallet.source). Please rebase onto main. Note that #337 already reworded the "To link an additional wallet…" copy, so re-check whether your replacement paragraph is still saying something main doesn't.

2. Use source, not !isPrimary, to detect a deploy wallet. wallets.some((w) => !w.isPrimary) treats any non-primary wallet as a deploy wallet. Since #329, getAccountWallets returns a validated source of 'curated' | 'onchain' | 'cli' (apps/web/lib/server/account.ts:136), and the thing #287 is asking about is specifically a CLI-linked one:

const hasDeployWallet = wallets.some((w) => w.source === 'cli');

As written, a second onchain wallet claimed through the registry would suppress the prompt even though no deploy wallet exists — exactly the case the issue is about. #378 is open against Wallet.source rendering on this same page, so the two should agree on the signal.

Everything else — the component, its doc comment, the copy — I'd take as-is.

@blockchain-maxis
blockchain-maxis merged commit 9d247dd into blockchain-maxis:main Sep 3, 2026
10 of 11 checks passed
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.

Profiles with no linked deploy wallet give no path to fix it

2 participants