A kind-5 request could only name events by `e` tag. Worse, one that carried `a` tags and no `e` tags built a filter with an empty id list, which matched every event by that author and marked them all deleted. Handle `a` tags per NIP-09: parse `kind:pubkey:d` (the `d` value may contain ':'), require the pubkey to be the request author and the kind to be replaceable or addressable, and remove only versions up to the request's `created_at` so a later re-publication survives. An empty `d` addresses a replaceable kind. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013Tbyw6FwjhEJg3gHfPHxWt (cherry picked from commit e695f9c66881d3d520d40f0cd3e9c95d9435938c) |
||
|---|---|---|
| .. | ||
| fixture | ||
| __init__.py | ||
| conftest.py | ||
| helpers.py | ||
| test_clients.py | ||
| test_events.py | ||
| test_init.py | ||
| test_nip09.py | ||
| test_nip17.py | ||
| test_notify.py | ||
| test_req_filters.py | ||