You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[BUG] NIP-56 report ingestion: dead rows, WoT-rebuild blocking, target truncation, no transaction #785
A kind-1984 event with no valid p/e target still inserts a reports row with nothing to act on (src/utils/nip56.ts, src/handlers/event-strategies/report-event-strategy.ts).
The first report accepted after a worker restart blocks on WotGraphService's full graph rebuild via getDistance() -> ensureBuilt(), a one-time latency spike on the event-accept path.
extractReportTargets only reads the first p and first e tag -- a report naming many pubkeys silently records just one, with no cap or log line.
The event insert and target-row insert(s) in ReportEventStrategy aren't wrapped in a transaction -- a partial failure leaves some rows missing, and the existing per-event duplicate guard means a re-sent report never retries, so the loss is silent beyond a log line.
Expected behavior
No-target reports are skipped, not stored.
Report ingestion doesn't block on a cold-start WoT graph rebuild.
All p/e targets on a report event are recorded (or the single-target limit is documented).
The event and its report row(s) are inserted atomically.
Activity