Add Farcaster Mini App support #28

Merged
backmeupplz merged 1 commit from bdt-27-farcaster-mini-app into main 2026-05-26 04:05:42 +00:00
backmeupplz commented 2026-05-26 03:03:34 +00:00 (Migrated from github.com)

Summary

  • Add Farcaster Mini App manifest/embed metadata and dedicated PNG assets for tools.borodutch.com.
  • Add @farcaster/miniapp-sdk lifecycle support, including ready() for Mini App launches and compact Mini App mode that hides the X embed.
  • Add Farcaster EVM provider support for the $BORO lock flow while preserving EIP-6963/injected browser wallets.
  • Add Farcaster Solana provider support/fallback messaging for the $BORO claim signing flow.
  • Document the required manual Farcaster accountAssociation signing step for tools.borodutch.com.

Validation

  • bun --filter @borodutch-tools/frontend check
  • bun --filter @borodutch-tools/frontend test
  • bun --filter @borodutch-tools/backend check
  • bun --filter @borodutch-tools/backend test
  • bun run build
  • git diff --check
  • Local curl: /.well-known/farcaster.json, root fc:miniapp/fc:frame + OG/Twitter tags, and /farcaster/*.png assets return correctly.
  • Local CDP viewport QA at 424x695: no horizontal overflow, X embed hidden in ?miniApp=true mode, lock warning visible.

Known follow-up before full Farcaster production verification

The manifest is not Farcaster-verified until the owning Farcaster account signs and adds accountAssociation for tools.borodutch.com, or a hosted manifest redirect ID is created. The exact manual step is documented in docs/farcaster-mini-app.md.

## Summary - Add Farcaster Mini App manifest/embed metadata and dedicated PNG assets for tools.borodutch.com. - Add @farcaster/miniapp-sdk lifecycle support, including ready() for Mini App launches and compact Mini App mode that hides the X embed. - Add Farcaster EVM provider support for the $BORO lock flow while preserving EIP-6963/injected browser wallets. - Add Farcaster Solana provider support/fallback messaging for the $BORO claim signing flow. - Document the required manual Farcaster accountAssociation signing step for tools.borodutch.com. ## Validation - bun --filter @borodutch-tools/frontend check - bun --filter @borodutch-tools/frontend test - bun --filter @borodutch-tools/backend check - bun --filter @borodutch-tools/backend test - bun run build - git diff --check - Local curl: /.well-known/farcaster.json, root fc:miniapp/fc:frame + OG/Twitter tags, and /farcaster/*.png assets return correctly. - Local CDP viewport QA at 424x695: no horizontal overflow, X embed hidden in ?miniApp=true mode, lock warning visible. ## Known follow-up before full Farcaster production verification The manifest is not Farcaster-verified until the owning Farcaster account signs and adds accountAssociation for tools.borodutch.com, or a hosted manifest redirect ID is created. The exact manual step is documented in docs/farcaster-mini-app.md.
backmeupplz commented 2026-05-26 03:04:16 +00:00 (Migrated from github.com)

Ready for review/merge.

Validation passed:

  • bun --filter @borodutch-tools/frontend check
  • bun --filter @borodutch-tools/frontend test
  • bun --filter @borodutch-tools/backend check
  • bun --filter @borodutch-tools/backend test
  • bun run build
  • git diff --check

Local Farcaster checks passed for manifest/metadata/assets and 424x695 Mini App viewport. Full production Farcaster verification still needs the owning Farcaster account to sign accountAssociation for tools.borodutch.com, or to create a hosted manifest redirect ID.

Ready for review/merge. Validation passed: - bun --filter @borodutch-tools/frontend check - bun --filter @borodutch-tools/frontend test - bun --filter @borodutch-tools/backend check - bun --filter @borodutch-tools/backend test - bun run build - git diff --check Local Farcaster checks passed for manifest/metadata/assets and 424x695 Mini App viewport. Full production Farcaster verification still needs the owning Farcaster account to sign accountAssociation for tools.borodutch.com, or to create a hosted manifest redirect ID.
Sign in to join this conversation.
No description provided.