block / block/buzz

channel-notify-prefs: oversized blob (NIP-44 65KB) pruning and recovery

Open
#3,236 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
32.7k
Forks
4.3k
Avg merge
1d 13h
Merged PRs (30d)
253

Description

Deferred finding (F9) from the adversarial review of #3233 (per-channel notification settings, #3160).

`channelNotifyPrefsSync` serializes and NIP-44-encrypts the whole prefs store with no size budget. NIP-44 payloads cap at 65,535 bytes; a store that accumulates enough customized channels, tombstones, and preserved unknown fields will cross the limit, after which every publish fails into a `console.warn` and preferences silently stay local-only.

Needed:
- A pruning strategy before publish (e.g. drop oldest default-level tombstones first, then compact entries for channels deleted from the roster).
- Surface persistent publish failure to the user instead of warn-and-drop.
- A regression test at/over the boundary.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.