17 Commits

Author SHA1 Message Date
bf712d3216 refactor, clean up, and document subscription and tag 2025-04-08 09:56:10 -01:06
fe74a31c5a document ratel, remove count
count is just stupid, and nobody uses it anyway. for now just commented out but eventually it should be cleared out
2025-04-06 04:59:47 -01:06
41f613da2d clean up some names and complete doc comments for event 2025-03-30 13:23:22 -01:06
7389d58e7e add nuke method, integrate counter index, add full-id index
it is now simple to upgrade to the new version, export the db, then nuke, and import again and voila, all indexes now are generated
2025-03-12 17:44:17 -01:06
501cb33fad revising aliases ratel 2025-02-08 16:34:47 -01:06
757e65f984 expiration timestamp implemented, some small DoS mitigations
- expiration is implemented purely as deleting when fetched after expiration, not an active garbage collector

- mitigations include ignoring filters that are at most only since/until or less in the filter, capping the indexes that will be gathered to max 5000 for a query
2025-01-25 09:16:55 -01:06
51d59d609e move prefixes where we meant them to be 2024-12-15 08:40:30 +00:00
e8dc7e6482 separate indexes and ratel's index key spec 2024-12-15 08:35:03 +00:00
4d8c83493f add compact database encoding and compression options 2024-12-09 09:58:41 +00:00
5699562396 converge all json marshal and unmarshal to less wordy
also changes the interface of unmarshal to not return an error, which is something that should really belong elsewhere, both a thing to forget and a thing to have divergences in, not the right way to do it
2024-12-07 15:57:36 +00:00
e49cf89689 refactor aliases to not be experted 2024-12-01 22:51:44 +00:00
ad4dce648f fuck binary encoding 2024-11-20 16:48:25 +00:00
99018aaab6 actually implement replacing events in queries
made note todo for replacing events in counts
2024-10-29 11:14:01 +00:00
ce8f4add85 fix maxlimit to appear in nip-11 and be properly enforced
add flatten flag for store so it flattens on request at shutdown if an import has taken place

import runs GC every 10000 events to limit fragmentation of tables

implement a specific count function that only decodes the event if there is an extra filter (which should be the minority of cases)

change search to use maps for indexes to automatically deduplicate in case of multiple queries matching the same field

improve logging to show origins of request/events in relay accept req/event

count now returns an aproximate flag for the case of extrafilters finding replaceable events
2024-10-29 09:52:03 +00:00
64611433bc query forever loop found and removed 2024-10-27 06:33:02 +00:00
1983aaa549 changing to new domain 2024-09-16 19:21:34 +01:00
ef54f43122 woikos 2024-09-16 19:00:32 +01:00