mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-10-31 18:02:27 +00:00
Strict relays (primal) reject a whole REQ with "uneven size input to from_hex" when any ids/authors/#e/#p/#q entry isn't 64-char hex — silently dropping that subscription's results. One malformed value anywhere in a filter poisoned the request. Sanitize at the universal pool choke point (normalizeFilterList, used by both the shimmed pool.sub and pool.list): lowercase/trim and drop non- 64-hex entries from the hex-only fields; if a once-populated hex field ends up empty, drop that filter rather than silently broadening the query. Non-hex fields (#a/#d/#t/kinds/…) are untouched. Dev-logs what it strips (with the filter's kinds) so the malformed source can be traced. Also records pre-launch TODO items: NIP-71 inbound ingest is now live (Phase 2, incl. the resolve-posted-at history-fetch fix), and a new launch-blocker — channel-profile walls fetch only kind-30078 so a creator's NIP-71 videos don't show on their profile. Tests: filter-hex-sanitize (strip/keep/lowercase/drop-empty/leave-non-hex); mutation-verified. 1244/1245 unit (known UploadModal flake). Co-Authored-By: Claude Opus 4.8 <[email protected]>