[Docs] Mini App wallet provider migration guide needed: Base App in-app browser (post-April 2026)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 62/100
- Tipo di issue
- Documentazione
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- javascript
- Ambito
- documentation
Direzione di ricerca
Individua la documentazione del wallet della mini-app e passa innanzitutto in rassegna le indicazioni esistenti su provider e SDK. Usa il comportamento fornito di Base App e Warpcast, i pattern di timeout, l’upstream issue e il reference commit per aggiungere la sezione sulla migrazione; il lavoro è completato quando la documentazione spiega il rilevamento, il fallback dell’injected-provider e la gestione sicura delle chiamate SDK che rimangono bloccate.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
Base App's April 2026 update changed how mini-apps are launched: they now open in a standard in-app WebView instead of a Farcaster mini-app host. This is a breaking change for any mini-app that uses @farcaster/miniapp-sdk for wallet access.
The current docs don't cover:
- How to detect Base App in-app browser vs. true Farcaster embed (Warpcast)
- How to fall back to injected EIP-1193 provider (
window.ethereum/coinbaseWalletExtension) in Base App - The
sdk.actions.ready()/sdk.wallet.getEthereumProvider()hang issue specific to Base WebView
This causes mini-apps to silently hang on transactions — no error, no timeout, just an indefinite loading state.
Suggested Addition
A "Wallet Provider Migration for Base App 2026" section in the mini-app docs covering:
Detection pattern
// Base App (post-April 2026) does NOT act as Farcaster mini-app host.
// sdk.isInMiniApp() returns false — use injected EIP-1193 instead.
async function getProvider(sdk) {
const isEmbed = await Promise.race([
sdk.isInMiniApp(),
new Promise(resolve => setTimeout(() => resolve(false), 1000))
]);
if (isEmbed) {
return sdk.wallet.getEthereumProvider(); // Warpcast / true Farcaster host
}
// Base App or regular browser: use injected wallet
return window.coinbaseWalletExtension
?? window.ethereum
?? null;
}
ready() timeout pattern
// In Base App, ready() never resolves — wrap with timeout:
await Promise.race([
sdk.actions.ready(),
new Promise((_, reject) => setTimeout(() => reject(), 5000))
]).catch(() => { /* continue, Base App doesn't need ready() ack */ });
Working Reference Implementation
This exact pattern was implemented and verified on Base mainnet in a real mini-app:
- Commit: https://github.com/schoolkamsergj/base-invaders/commit/64fb7b2b5b9f4e142d5d85642353fd4e62512cca
- Live app: https://base-invaders-nine.vercel.app
- What was fixed: daily check-in and leaderboard transactions hanging indefinitely in Base App, working correctly in Warpcast
Impact
Any mini-app using @farcaster/miniapp-sdk for wallet transactions that:
- Was built before April 2026
- Relies on
getEthereumProvider()from the SDK - Is listed in Base App discovery
...will silently break for all Base App users without this migration.
Related SDK Issue
Filed upstream: farcasterxyz/miniapps#608
Happy to contribute a PR with the docs addition if that would help.
- Lingua principale
- JavaScript
- Stelle
- 337
- Fork
- 798
- Merge medio
- 19h 12m
- PR unite (30g)
- 60
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di base/docs
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 95/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 95/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 95/100
I maintainer di solito rispondono entro 1 giorno
Issue simili
-
Complexity: Small P-Feature: Projects page ready for merge team role: back end/devOps role: front end size: 0.25pt
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 67/100
bellingcat/toolkit#905 ·
-
self-care self-care:docs-build-time-investigator
Difficoltà 2/5 Mezza giornata Idoneità per principianti 76/100
githubnext/gh-aw-cao#14191 ·
I maintainer di solito rispondono entro 1 giorno
-
effort:low impact:medium RAG status: auto-triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
mastra-ai/mastra#25229 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
sugarlabs/musicblocks#8984 ·
I maintainer di solito rispondono entro 1 giorno