Greg Heartsfield
af453548ee
feat: allow author and event id prefix search
...
This is an experimental non-NIP feature that allows a subscription
filter to include a prefix for authors and events.
2022-01-25 18:23:08 -06:00
Greg Heartsfield
2d28a95ff7
feat: allow arbitrary tag queries
...
This is an experimental feature, outside of any NIP, that demonstrates
generic tag queries.
Instead of limiting subscription filters to just querying only "e" or
"p" tags (via `#e` or `#p` attributes), any tag can be queried.
As an example, consider an event which uses a tag "url". With this
modification, a subscription filter could add a top-level field
"#url", with an array of strings as the key. Exact matches would be
returned.
A NIP is forthcoming to formalize this.
2022-01-22 21:29:15 -06:00
Greg Heartsfield
6f166433b5
fix: test failures
2022-01-16 08:36:52 -06:00
Raj
5c8390bbe0
fix: fix some test failures
2022-01-14 14:27:12 -06:00
Greg Heartsfield
7037555516
improvement: add indexed tag queries
2022-01-05 17:33:53 -05:00
Greg Heartsfield
6673fcfd11
feat: implement multi-valued filter searching
...
NIP-01 now uses arrays instead of scalars.
Fixes https://todo.sr.ht/~gheartsfield/nostr-rs-relay/17
2022-01-01 18:38:52 -06:00
Greg Heartsfield
100f890284
feat: add until
for request filters
...
This implements an additional filter criteria for selecting events
prior to some timestamp.
See https://github.com/fiatjaf/nostr/issues/39x
2021-12-23 21:38:32 -06:00
Greg Heartsfield
7933abaa48
fix: allow unknown fields, like author
2021-12-19 16:18:03 -06:00
Greg Heartsfield
5b6a20dfa6
feat: remove author
from subscriptions (NIP-01 Spec)
...
The `authors` field is sufficient to represent all queries that
`author` could have been used in. See
https://github.com/fiatjaf/nostr/issues/34 for the discussion leading
to this removal.
2021-12-16 18:53:53 -06:00
Greg Heartsfield
49598b2c9e
fix: subscription event filtering bugs
...
Subscriptions properly filter using the authors tag. Petname/keys are
correctly filtered (previously the event tags were incorrectly used).
2021-12-14 21:38:26 -06:00
Greg Heartsfield
e732f918f9
refactor: clippy suggestions
2021-12-11 21:56:52 -06:00
Greg Heartsfield
ca0f01c94b
docs: add rustdoc comments
2021-12-11 21:43:41 -06:00
Greg Heartsfield
65969a4121
feat: store events in SQLite and allow querying
...
Events are persisted in a local database, and can be queried through
subscriptions.
2021-12-11 15:48:59 -06:00
Greg Heartsfield
e7d0ab1aca
feat: parse subscriptions from websockets
...
Parses subscription requests (REQ, but not CLOSE). Performs no
subscription state management yet.
2021-12-05 17:15:50 -06:00