Commit Graph

75 Commits

Author SHA1 Message Date
fiatjaf ff5655ac55 schema: tests passing. 2025-11-23 17:52:29 -03:00
fiatjaf 98959e73e7 eventstore: replace bluge with bleve.
bluge seems to be abandoned and bleve should work better, who knows.
2025-11-23 06:57:54 -03:00
fiatjaf 55a43e46b7 use xhex everywhere. 2025-11-23 06:57:54 -03:00
fiatjaf 4a5983a17c grasp: fix all the issues with info-refs, force-pushes, checked-out repos etc, and .Log() 2025-11-19 16:37:20 -03:00
fiatjaf 5efd8c6485 grasp: better git error messages and get rid of stdout printing. 2025-11-18 23:18:49 -03:00
fiatjaf 8ea2a00037 grasp: temporary OnRead and OnWrite hooks. 2025-11-18 16:28:05 -03:00
fiatjaf f5fb294efa blossom: add an alternative BlobIndex implementation in memory. 2025-11-18 16:04:37 -03:00
fiatjaf 078e9b4cc2 khatru: grasp server. 2025-11-17 08:10:08 -03:00
fiatjaf 98dbe7b9e9 improve and make nip77 api nicer so it could be better used in nak. 2025-11-12 20:21:02 -03:00
fiatjaf 43fabbeb2a eventstore: more consistent ErrDupEvent firing. 2025-11-12 16:10:50 -03:00
fiatjaf db835ef3c4 khatru: add policies to validate event tags by kind and replace reactions. 2025-11-11 16:34:17 -03:00
fiatjaf 637de481e5 khatru: fix bug that caused a query with limit zero to bypass request filtering.
spotted by hodlbod.
2025-11-04 21:19:56 -03:00
fiatjaf b87bc0ede4 khatru: store and broadcast kind:5 deletion events.
by insistence of @staab
2025-10-31 16:36:46 -03:00
fiatjaf 32bbff615a khatru: ForceBroadcastEvent() 2025-10-31 13:05:19 -03:00
fiatjaf 13c44a4644 khatru: PreventBroadcast() also gets passed the filter. 2025-10-30 16:30:34 -03:00
fiatjaf e34ce6aa94 khatru: fix an argument name. 2025-10-30 09:41:37 -03:00
fiatjaf 8ae530b163 nip42/khatru: clearer AUTH error messages. 2025-10-28 11:42:38 -03:00
fiatjaf 309bab0048 khatru: router AnyEvent() and AnyReq(). 2025-10-28 11:10:45 -03:00
fiatjaf 131093388d khatru: reduce default max number of authenticated clients. 2025-10-26 17:00:35 -03:00
fiatjaf 6ee0d090e3 khatru: deploy docs to netlify. 2025-10-20 18:37:21 -03:00
fiatjaf 8cf120c08f khatru: update docs again, now it seems to be mostly up to date. 2025-10-20 18:22:08 -03:00
fiatjaf d85bb8aa1b khatru: fix for panics when expiration manager is nil. 2025-10-14 01:52:10 +00:00
fiatjaf afa5e5bc0e khatru: fix test for expiration manager, skip it unless code is manually adjusted for the test. 2025-10-01 12:22:01 -03:00
fiatjaf 46f28203ed khatru: expiration manager takes query and delete methods, which are given automatically by .UseEventstore() 2025-10-01 12:08:08 -03:00
fiatjaf 8957144c77 khatru: expiration manager is only started automatically when .UseEventstore() is called. 2025-10-01 11:57:32 -03:00
fiatjaf 79f1a9c636 fix sqlite mention. 2025-09-23 19:02:09 -03:00
fiatjaf 8b8693f4bf other useless quibbles. 2025-09-23 12:29:55 -03:00
fiatjaf 04e095eb1b "a" deletions split only 3.
see https://github.com/fiatjaf/khatru/pull/60
2025-09-22 16:46:38 -03:00
fiatjaf 805003b39b khatru: fix policy that requires nostr-prefix references. 2025-09-15 08:27:29 -03:00
fiatjaf e8456dab70 khatru/policies: RejectUnprefixedNostrReferences 2025-09-10 10:40:06 -03:00
fiatjaf 9933bb7865 khatru: fix multi-user auth stupid bug. 2025-09-06 23:26:55 -03:00
fiatjaf fd53d7309f khatru: support multi-user auth. 2025-09-06 10:11:31 -03:00
Anthony Accioly 8750197ea7 khatru/blossom: blossom ext updates.
see https://github.com/fiatjaf/khatru/pull/59
2025-09-05 11:18:51 -03:00
fiatjaf 5f8b069f5d khatru: nip86 "u" tag checking normalization fix. 2025-09-05 11:06:17 -03:00
fiatjaf 0770f217a5 khatru: prevent large indexable tags doesn't make any sense anymore as we don't index tags verbatim, only hashes. 2025-09-04 10:13:08 -03:00
fiatjaf aec2dc318d actually it's better if nip11 pubkey is a pointer. 2025-09-04 00:35:46 -03:00
fiatjaf cd398b94b5 get rid of badger everywhere, including as an sdk/hints backend. 2025-09-04 00:35:17 -03:00
fiatjaf a09429236e khatru: disable ratelimit for local ipv6 too. 2025-09-03 21:32:17 -03:00
fiatjaf d036b2f8d5 khatru: fix nip86 method field names. 2025-08-29 22:42:36 -03:00
fiatjaf 7ac9e6290b khatru: replace useless ApplySaneDefaults() with a set of pluggable "strict" defaults. 2025-08-28 17:18:22 -03:00
fiatjaf 926ed0830a khatru: don't ratelimit localhost connections. 2025-08-25 07:32:05 -03:00
fiatjaf 6bda63de17 eventstore: delete badger, it's too buggy. 2025-08-04 15:16:25 -03:00
fiatjaf 88096fbd84 khatru: allow disabling expiration manager. 2025-07-28 22:06:12 -03:00
fiatjaf 24060da1dd khatru: better error on nip86 "u" tag mismatch. 2025-07-28 09:35:22 -03:00
fiatjaf 68b0caf2ab khatru: improve ephemeral ok message when handled internally. 2025-07-19 11:51:44 -03:00
fiatjaf 33838a4801 khatru: optional ChallengePrefix. 2025-07-17 16:46:44 -03:00
fiatjaf 840e2846ed khatru: fix eose waitgroup count for multiple filters. 2025-07-15 13:14:59 -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 027d016d97 khatru: the accioly blossom redirect patch, reworked. 2025-06-10 16:43:30 -03:00
fiatjaf 50a753504d khatru: hodlbod's nip86 fixes. 2025-06-10 16:43:30 -03:00