Problem
Inside Warpcast, the Farcaster wallet does not auto-connect. Users see the "connect wallet" button and the RainbowKit modal (which doesn't list Farcaster). The wallet modal should never appear inside Warpcast — auto-connect should handle it.
Root Causes
1. Duplicate connector instances
lib/wagmi.ts line 50 creates a bare farcasterMiniApp() AND line 25 creates another inside connectorsForWallets. Two instances with the same type causes connector ID conflicts.
Fix: Remove the bare connector on line 50. Keep only the one inside walletConnectors:
// REMOVE this line:
const connectors = [farcasterMiniApp(), ...walletConnectors];
// REPLACE with:
const connectors = walletConnectors;
2. Auto-connect silently fails when isAuthorized() returns false
ConnectWallet.tsx lines 39-42 check isAuthorized() before calling connect(). Inside Warpcast, the Farcaster client manages auth — we should attempt connect() regardless.
Fix: In the auto-connect useEffect, call connect() directly when inside miniapp:
// Inside the inMiniApp useEffect:
const farcasterConnector = connectors.find((c) => c.type === "farcasterMiniApp");
if (!farcasterConnector) return;
connect({ connector: farcasterConnector });
// Remove the isAuthorized() gate
3. Outdated Farcaster packages
@farcaster/miniapp-wagmi-connector is at 1.1.1, latest is 2.0.0 (released 2026-04-01)
@farcaster/miniapp-sdk is at 0.2.3 — check for matching update
Fix: Update both packages to latest:
npm install @farcaster/miniapp-wagmi-connector@latest @farcaster/miniapp-sdk@latest
Note: v2.0.0 may have breaking API changes — check changelog/README and update imports if needed.
Acceptance Criteria
Branch
task/768-farcaster-autoconnect
Problem
Inside Warpcast, the Farcaster wallet does not auto-connect. Users see the "connect wallet" button and the RainbowKit modal (which doesn't list Farcaster). The wallet modal should never appear inside Warpcast — auto-connect should handle it.
Root Causes
1. Duplicate connector instances
lib/wagmi.tsline 50 creates a barefarcasterMiniApp()AND line 25 creates another insideconnectorsForWallets. Two instances with the sametypecauses connector ID conflicts.Fix: Remove the bare connector on line 50. Keep only the one inside
walletConnectors:2. Auto-connect silently fails when
isAuthorized()returns falseConnectWallet.tsxlines 39-42 checkisAuthorized()before callingconnect(). Inside Warpcast, the Farcaster client manages auth — we should attemptconnect()regardless.Fix: In the auto-connect useEffect, call
connect()directly when inside miniapp:3. Outdated Farcaster packages
@farcaster/miniapp-wagmi-connectoris at 1.1.1, latest is 2.0.0 (released 2026-04-01)@farcaster/miniapp-sdkis at 0.2.3 — check for matching updateFix: Update both packages to latest:
Note: v2.0.0 may have breaking API changes — check changelog/README and update imports if needed.
Acceptance Criteria
farcasterMiniApp()instance in wagmi configBranch
task/768-farcaster-autoconnect