Skip to content

Proxy & signing reliability: event cache, request dedup, fresh-npub onboarding #82

Description

@DocNR

Verified still open against current source (build 102, 2026-08-10).

  • Oversized-push events fall through to a broken relay-fetch path. Payloads over the 3500B embed guard currently just log "too large... omitting embed" with no fallback delivery. Add an in-memory TTL+LRU cache on the proxy keyed by event id, plus a NIP-98-authed GET /event/:id endpoint, so NSE can fetch large events it couldn't get embedded. relay-proxy/proxy.js:521. Gate on evidence from the daily dashboard before building — don't build pre-emptively if this rarely fires in practice.
  • Multi-relay-publish clients trigger duplicate approval prompts. Clients like Nostur that publish the same NIP-46 request to multiple outbox relays can generate 3-4 separate sign_event approval prompts for one semantic user action. Existing dedup in LightSigner.swift:83-110 only catches literal re-delivery of the same event id, not semantic duplicates (same signer+client+method+params). Consider a short-TTL semantic dedup cache if this keeps showing up in the wild.
  • Fresh accounts have no NIP-65 relay list. New keys generated/imported into Clave never get a kind:10002 published, which causes some clients (observed with Coracle) to silently degrade — relay pool stays empty, signings fail with confusing errors. Consider an invisible one-time default kind:10002 publish on generateAccount()/addAccount(). Clave/AppState+AccountManager.swift.
  • Connected Clients list shows raw pubkeys instead of names. Bunker-paired clients that publish a kind:0 identity (e.g. clave.casa) never get looked up — there's no client-scoped profile fetch/cache, only the existing account-scoped one. Clave/AppState+ProfileFetcher.swift.

Source: internal backlog triage, 2026-08-10.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions