Skip to content

fix(webapp): vercel deploy follow-ups (SPA routing, faucets, ignore file)#76

Merged
dev-jodee merged 6 commits intomainfrom
fix/webapp-vercel-followups
Apr 30, 2026
Merged

fix(webapp): vercel deploy follow-ups (SPA routing, faucets, ignore file)#76
dev-jodee merged 6 commits intomainfrom
fix/webapp-vercel-followups

Conversation

@dev-jodee
Copy link
Copy Markdown
Collaborator

Summary

  • Add .vercelignore so monorepo deploys from repo root stay under the 15k file cap (excludes target/, node_modules/, .git/, .claude/, audits/, runbooks/)
  • webapp/vercel.json: SPA fallback rewrite — /(.*)/index.html. Direct visits to /faucet, /plans, etc. were 404'ing on Vercel because the static handler had no fallback to the SPA entrypoint.
  • USDC faucet card: in PROD on devnet, drop the amount/recipient/preset inputs (api-mint authority isn't available) and render an inline faucet.circle.com link, mirroring the existing SOL devnet fallback.
  • DEV behavior unchanged — local mint/api flow stays.

Test Plan

  • pnpm --filter webapp build succeeds
  • just lint-check and just fmt-check pass
  • Vercel prod deploy: https://solana-multi-delegator-program.vercel.app
    • Refresh /faucet, /plans, /marketplace → no 404
    • Faucet route on devnet → SOL card and USDC card both show the external-link fallback
    • DEV (pnpm --filter webapp dev) on localnet → setup wizard, mint USDC button, etc. still work

excludes target/, node_modules/, .git/, .claude/, audits/, runbooks/
so vercel deploy from repo root stays under file count limit.
direct visits to /faucet, /plans etc. were 404'ing on vercel because
the static handler had no fallback to the SPA entrypoint.
local mint authority isn't available on Vercel, so swap the mint button
for an anchor to https://faucet.circle.com/ when not in DEV.
Drop amount/recipient inputs and preset buttons in favor of a single
inline link to faucet.circle.com, mirroring the existing SOL devnet
fallback.
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 30, 2026

Compute Unit Report

Instruction Samples Min CUs Max CUs Avg CUs Est Cost (Low) [SOL] Est Cost (Med) [SOL] Est Cost (High) [SOL]
cancel_subscription 11 1805 2118 2003 0.000005000 0.000005080 0.000006001
close_subscription_authority 7 1881 1916 1886 0.000005000 0.000005075 0.000005943
create_fixed_delegation 38 3621 17121 4795 0.000005001 0.000005191 0.000007397
create_plan 84 3540 11040 4686 0.000005001 0.000005187 0.000007343
create_recurring_delegation 27 3645 8145 4369 0.000005001 0.000005174 0.000007184
delete_plan 8 416 416 416 0.000005000 0.000005016 0.000005208
init_subscription_authority 142 7431 21351 12353 0.000005003 0.000005494 0.000011176
revoke_delegation 19 318 585 420 0.000005000 0.000005016 0.000005210
subscribe 21 6666 17166 8533 0.000005002 0.000005341 0.000009266
transfer_fixed 6 10105 13105 11354 0.000005003 0.000005454 0.000010677
transfer_recurring 17 10212 14803 11748 0.000005003 0.000005469 0.000010874
transfer_subscription 10 10446 13495 11100 0.000005003 0.000005444 0.000010550
update_plan 21 424 500 474 0.000005000 0.000005018 0.000005237

Generated: 2026-04-30

Hardcoded TOKEN_2022_PROGRAM_ADDRESS broke txs against classic-Token
mints (e.g. Circle USDC on devnet/mainnet). ATA CreateIdempotent was
invoking Token-2022 GetAccountDataSize on a classic mint and bouncing
with IncorrectProgramId.

Add a small lib helper (resolveTokenProgram) that fetches the mint
account once and caches its owner per (rpc, mint). Use it in
useSubscriptionsMutations and plan-card init flow so each mutation
plumbs the correct token program through to findAssociatedTokenPda,
getCreateAssociatedTokenIdempotentInstruction, and the overlay builders.
added by vercel CLI on link.
@dev-jodee dev-jodee merged commit 5885fea into main Apr 30, 2026
8 checks passed
@dev-jodee dev-jodee deleted the fix/webapp-vercel-followups branch April 30, 2026 20:04
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.

1 participant