Skip to content

@toon-protocol/client@0.14.11

Choose a tag to compare

@toon-backlog-bot toon-backlog-bot released this 28 Jun 20:35
· 22 commits to main since this release
9895f33

Patch Changes

  • b243c10: Fix the wallet falsely showing "No channels open yet" on funded channels, and
    make rendered TOON views render-first with no preflight ceremony.

    • GET /channels 500 → wallet "No channels open yet". getChannels()
      called apex.client.getSettleableAt(channelId), but ToonClient never got the
      public passthrough when it was added to ChannelManager (#181) — it only used
      this.channelManager.getSettleableAt internally. The wallet atom renders the
      failed fetch as empty, so funded, actively-paying channels showed as none.
      Added the passthrough, plus a compile-time conformance guard
      (toon-client-conformance.ts) asserting ToonClient satisfies the daemon's
      ToonClientLike surface — the channel-tool tests use a mock client, which is
      why this gap shipped green.
    • Resumed channels showed 0 deposit / 0 available. Persisted channel state
      omits the on-chain deposit, so after a daemon restart depositTotal was 0
      and the wallet showed 0 spendable on a funded channel. The daemon now re-reads
      the participant's on-chain deposit (new participants accessor on the
      TokenNetwork ABI + ToonClient.rehydrateChannelDeposit) when resuming an EVM
      apex channel, so available = deposit − cumulative is correct again.
    • Render-first, zero ceremony. The server instructions and the
      toon_status / toon_identity tool descriptions now state that a read-only
      render goes straight toon_atomstoon_render — no status/identity/balance
      preflight, no tool-call narration. SKILL.md's "always start with toon_status"
      is reframed to lazy/render-first.
  • b243c10: Wallet balance correctness (#199/#200), async funding, UI auto-refresh, and media posts.

    • Balances: fast-fail with correct error attribution instead of a 35s control-plane hang; always emit wrapped structuredContent; the views seam validates the wire contract (no silent blank); read the settlement chain (not the preset-first chain) and from an identity-level client (works with no apex).
    • Funding: async submit+poll fund-wallet with a toon_fund_status tool, a generous background faucet timeout, and a distinct timeout status so a slow-but-successful drip isn't reported as a failure.
    • UI: rendered views auto-refresh after any write action; the Fund button resets once the balance updates.
    • Media posts: captioned media uploader (compose → caption → publish) and an optional media/file attach on the default post composer (kind:1 with NIP-92 imeta, rendered inline); the dedicated uploader remains for upload-only.