Skip to content

v2.0.3

Choose a tag to compare

@jesuspirate jesuspirate released this 03 Jun 22:11
v2.0.3
3c77a1a

v2.0.3 — Fedi-first funding rail, fail-loud guard for old Fedi builds, one-tap Fedi funding panel

Compatible — no LOCK/escrow format change; drop-in over 2.0.2. Outside Fedi
the rails are unchanged (error reporting improves everywhere).

Funding rail — Fedi internal ecash is now the head of fundAndLock

  • The Fedi generateEcash branch moved to the top of fundAndLock: whenever
    window.fediInternal.generateEcash exists it wins over every requested
    method — now including onchain — so a Fedi lock can never detour onto a
    receive rail. Failures surface as "Fedi ecash funding failed: ".

Fail loud, never strand — Fedi runtime without generateEcash

  • New isFediMiniAppRuntime() probe (fediInternal injected, or Fedi user
    agent for builds that don't inject it). If we're in Fedi but generateEcash
    is unavailable, fundAndLock now returns lock-failed with explicit guidance
    ("Fedi wallet ecash funding is not available in this Fedi build. Chama did
    not create a Lightning invoice. Update Fedi, or use the Android APK/Tauri
    for this trade.") instead of falling through to a Lightning receive that
    old Fedi builds can't complete.

Fedi funding UX — one tap, no chooser

  • In the Fedi WebView, AtomicFundingModal replaces the method chooser with a
    FEDI WALLET FUNDING panel: a short explainer (ecash is requested from Fedi
    and locked directly — no Lightning invoice, no NWC), the trade amount, and
    a single "Use Fedi wallet · " button.
  • TradeDetail now hides the NwcStatusBanner in both the fund and claim
    sections when NWC is disabled (the 2.0.2 pass missed these two banners).

Error reporting — describeError() everywhere in funding

  • fundAndLock catch handles unknown errors: strings, Error messages, and
    JSON-stringified error objects now reach the user instead of a generic
    "Funding failed" when a provider throws a structured error.