channel-notify-prefs: oversized blob (NIP-44 65KB) pruning and recovery
- 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
Assessment
This issue has not been assessed yet.