fix(nostrrelay): populate size field for event storage accounting
Changes: - relay/event.py: Add `size: int = 0` field to NostrEvent model - relay/client_connection.py: Set `event.size = event.size_bytes` when creating events from WebSocket messages The size field has existed in the database schema since migration m001 but was never populated, causing: - Incorrect storage accounting (always 0) - Broken storage quota enforcement - Failed event pruning when storage limits reached The size field is internal relay metadata and is excluded from the nostr_dict() output, maintaining NIP-01 compliance. The size_bytes property calculates the actual byte size of the event's JSON representation. Fixes: Database constraint violation when inserting events without the required size column value. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
8d6f482de0
commit
b74af2628e
2 changed files with 3 additions and 0 deletions
|
|
@ -121,6 +121,8 @@ class NostrClientConnection:
|
|||
}
|
||||
|
||||
event = NostrEvent(**event_dict)
|
||||
# Set the size field from the size_bytes property
|
||||
event.size = event.size_bytes
|
||||
await self._handle_event(event)
|
||||
return []
|
||||
if message_type == NostrEventType.REQ:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue