Files
bitvid/js/nostr
thePR0M3TH3ANandClaude Opus 4.8 265b7813f2 fix(nostr): unblock the signer handshake (priority + decrypt timeouts)
Real-env console (2026-06-15) showed [signer-ready] taking ~48s and every
list decrypt timing out before AND after it. Root mechanism: a priority
inversion on the 2-slot NIP-07 request queue.

- List decrypts run at NIP07_PRIORITY.HIGH; the readiness gate's
  permission/enable handshake ran at NORMAL. So a flood of HIGH-priority
  decrypts jumped ahead of the gate and starved it — the channel never got
  warmed, so the decrypts kept failing. Fix: add NIP07_PRIORITY.CRITICAL
  (above HIGH) and run the permission/enable handshake at CRITICAL so it
  always wins queue ordering.
- Login-time decrypt timeouts were 12-15s even though a healthy
  nip04/nip44 decrypt is local crypto (~1s); the long window was only to
  tolerate a first-grant prompt, which the gate already pre-grants. A 15s
  timeout just monopolizes one of the two queue slots on a doomed call,
  blocking the gate for 15s at a time. Cut blocks/hashtags/subscriptions
  login decrypt timeouts to 6s so slots cycle ~2.5x faster (and the circuit
  breaker trips in ~18s instead of ~45s). Service-level 15s wrappers stay
  as a backstop (now strictly longer than the nip07 layer).

Part of KNOWN_BUGS #0 ("cut the burst, then add a safety net"). Full unit
suite green.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-15 09:24:21 -04:00
..
…
2026-02-21 19:59:47 -05:00
…