Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[Docs] Mini App wallet provider migration guide needed: Base App in-app browser (post-April 2026)

Aperta
#1,420 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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:

  1. How to detect Base App in-app browser vs. true Farcaster embed (Warpcast)
  2. How to fall back to injected EIP-1193 provider (window.ethereum / coinbaseWalletExtension) in Base App
  3. 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:

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di base/docs

Tutte le issue di base/docs

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.