Commit Graph

55 Commits

Author SHA1 Message Date
fiatjaf 96fcff7908 mmm: drop mmap on .Close() call. 2025-10-13 21:26:42 +00:00
fiatjaf 4d1774264a mmm: add debug helpers for fixing an inconsistent db. 2025-10-12 13:55:44 +00:00
Jon Staab 113657314e Use ID in nip86.IDReason 2025-09-26 09:41:25 -03:00
fiatjaf 3c540e726e boltdb: fix reusing index key that has less capacity than necessary. 2025-09-23 19:34:59 -03:00
fiatjaf 79f1a9c636 fix sqlite mention. 2025-09-23 19:02:09 -03:00
fiatjaf fd9f956a3d update readmes so they're less outdated. 2025-09-22 17:05:17 -03:00
fiatjaf 9480fc1de6 eventstore: deletion safety tests. 2025-09-10 09:58:13 -03:00
fiatjaf 4754518278 mmm: querying by ids is restricted to the layer it was initiated. 2025-09-06 21:28:22 -03:00
fiatjaf cd398b94b5 get rid of badger everywhere, including as an sdk/hints backend. 2025-09-04 00:35:17 -03:00
fiatjaf 43d6814daf betterbinary: finally fix (well, a very hackish fix but should be ok) decoding events with way too many tags. 2025-08-27 01:19:08 -03:00
fiatjaf 72b5aa5051 lmdb: fix id logging when decoding fails. 2025-08-25 18:47:38 -03:00
fiatjaf d345bb3529 betterbinary: prevent binary index overflow by casting the numbers to int (from uint16). 2025-08-25 18:01:34 -03:00
fiatjaf b88edca786 eventstore: fix lmdb storing the same event a million times. 2025-08-22 18:02:19 -03:00
fiatjaf 6737398375 eventstore: cli "count" command. 2025-08-22 14:08:24 -03:00
fiatjaf 0f8a586593 lmdb: do the initial pull immediately, no need for a secondary loop. 2025-08-12 14:42:24 -03:00
fiatjaf 24b10ba2a5 eventstore: up limit to 10 on ReplaceEvent() 2025-08-06 00:28:21 -03:00
fiatjaf 92f6f75388 eventstore: fix yield() usage on ReplaceEvent() 2025-08-05 23:58:13 -03:00
fiatjaf 4c459d70ba eventstore: add basic ReplaceEvent() test. 2025-08-05 23:57:38 -03:00
fiatjaf 4a7e893b80 eventstore: add boltdb support to cli. 2025-08-05 23:40:23 -03:00
fiatjaf 414e836eaa eventstore: more fuzz test false alarms. 2025-08-05 23:02:04 -03:00
fiatjaf 030cad168d eventstore: fuzz testing found us a bug! 2025-08-05 22:56:55 -03:00
fiatjaf 47ca205e9e boltdb: it works! 2025-08-05 16:25:55 -03:00
fiatjaf 144f4a4740 eventstore: fix migrations annoyingly rerunning. 2025-08-05 13:09:50 -03:00
fiatjaf d79793c0f4 eventstore: boltdb (copied from lmdb) 2025-08-05 13:02:07 -03:00
fiatjaf 34225e5dfe mmm: run it on the eventstore/test suite and fix id query logic. 2025-08-05 07:36:20 -03:00
fiatjaf 17c3d19a98 eventstore: remove useless sanity checking since event fields are already typed. 2025-08-05 00:04:27 -03:00
fiatjaf 7e6a0eb614 mmm: copy new lmdb querying mechanism because it's so much more elegant. 2025-08-05 00:03:57 -03:00
fiatjaf e87e5a3fb8 lmdb: some random fuzz test samples. 2025-08-04 23:21:16 -03:00
fiatjaf 0291836eb7 lmdb: various fixes so query works. 2025-08-04 23:13:25 -03:00
fiatjaf a4ebd32477 lmdb: implement simple query by id part. 2025-08-04 17:39:59 -03:00
fiatjaf 1cd48343d6 fix quickselect. 2025-08-04 17:29:12 -03:00
fiatjaf 2750ae3751 lmdb: new querying mechanism. 2025-08-04 15:20:10 -03:00
fiatjaf 6bda63de17 eventstore: delete badger, it's too buggy. 2025-08-04 15:16:25 -03:00
fiatjaf 7289da9c72 improve/refactor websocket connections hoping this will fix the undetected disconnections we're seeing.
this commit also remove all the sonic envelope parsing and reintroduces filters in REQ as a slice instead of as a singleton.

why? well, the sonic stuff wasn't really that fast, it was a little bit but only got fast enough once I introduced unsafe conversions between []byte and string and did weird unsafe reuse of []byte in order to save the values of tags, which would definitely cause issues in the future if the caller wasn't aware of it (and even if they were, like myself).

and the filters stuff is because we abandoned the idea of changing NIP-01 to only accept one filter per REQ.
2025-07-10 22:58:37 -03:00
fiatjaf ca03dc60f7 eventstore/lmdb,mmm: fix key size for "a"-style tags. 2025-06-29 22:25:28 -03:00
fiatjaf 32df8e407a eventstore/mmm: we added another db on layers. 2025-06-29 21:43:55 -03:00
fiatjaf cc6ec3af73 simpler migrations (just reindex everything) and migrations on mmm. 2025-06-10 14:00:38 -03:00
fiatjaf e9a08d669e eventstore: index tag letter together with the value. 2025-06-10 13:46:29 -03:00
fiatjaf 287d8c23c7 eventstore: add some basic tests. 2025-06-10 13:28:35 -03:00
fiatjaf 9cad1f0a5b evenstore/mmm: fix wrong limit being read in queries. 2025-06-08 07:14:48 -03:00
fiatjaf f9e2907a97 fix GetTheoreticalLimit() buggy logic. 2025-05-12 12:23:24 -03:00
fiatjaf 7b1f4ae49a fix types so tests compile. 2025-05-12 10:18:06 -03:00
fiatjaf 65411a10c8 eventstore: fix maxLimit handling when filter.Limit is unset. 2025-05-12 06:12:58 -03:00
fiatjaf f60fc08f8d eventstore: QueryEvents() to take a maxLimit param now so everything is clearer. 2025-05-11 09:36:59 -03:00
fiatjaf cda69b52a1 eventstore/mmm: fix query by id wrong size check. 2025-05-08 13:11:25 -03:00
fiatjaf c0934e0639 since and until are not pointers anymore because that is too annoying. 2025-05-08 09:32:54 -03:00
fiatjaf 15c6093c9b define a nostr.Kind type for event kinds, make adjustments everywhere and fix some horrible bugs with mmm, lmdb and badger querying and deleting. 2025-04-20 11:15:41 -03:00
fiatjaf 92c2de6294 eventstore tests. 2025-04-18 11:29:31 -03:00
fiatjaf a7be696243 a bunch of conversions and api tweaks on khatru and eventstore. 2025-04-17 00:15:15 -03:00
fiatjaf f7884cea4f wait, Querier can just return an iter like eventstore, it's ok. 2025-04-16 03:06:27 -03:00