mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-11-09 14:22:53 +00:00
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]>