86 Commits

Author SHA1 Message Date
fiatjaf b899ef8865 faster signature verification by serializing directly into the sha with less allocations. 2026-04-23 22:16:46 -03:00
fiatjaf 4261bc88f8 eventstore/bleve: replace with implementation inspired from pyramid. 2026-04-10 11:25:42 -03:00
fiatjaf 172e7890b9 khatru: use a channelmutex so we can fail to lock on addListener() if there's a disconnect. 2026-03-28 10:47:33 -03:00
fiatjaf b5974cfa45 add nip34/git-natural-api, using the same approach as https://jsr.io/@fiatjaf/git-natural-api. 2026-03-25 15:58:31 -03:00
fiatjaf 5de9501556 fixes. 2026-03-01 09:18:55 -03:00
fiatjaf 1df85217d9 merge connection into relay, do all the closing logic on context cancelation and have closeMutex be a channelmutex. 2026-02-28 14:19:57 -03:00
fiatjaf 44130595c6 update to go1.25 because of our usage of waitgroup.Go 2025-11-26 07:12:25 -03:00
fiatjaf 45f45fafaa nip54: djot parser. 2025-11-23 18:34:31 -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 8aa9c7e945 fix go version at 1.24. 2025-11-23 06:57:54 -03:00
fiatjaf 55a43e46b7 use xhex everywhere. 2025-11-23 06:57:54 -03:00
fiatjaf 078e9b4cc2 khatru: grasp server. 2025-11-17 08:10:08 -03:00
fiatjaf 805003b39b khatru: fix policy that requires nostr-prefix references. 2025-09-15 08:27:29 -03:00
fiatjaf cd398b94b5 get rid of badger everywhere, including as an sdk/hints backend. 2025-09-04 00:35:17 -03:00
fiatjaf cd82cd7ce7 event typechecker. 2025-08-21 16:17:53 -03:00
fiatjaf c8d5aa703f update gonuts dependency (following go-nostr 6de0bc60). 2025-08-18 20:51:02 -03:00
fiatjaf 030cad168d eventstore: fuzz testing found us a bug! 2025-08-05 22:56:55 -03:00
fiatjaf d79793c0f4 eventstore: boltdb (copied from lmdb) 2025-08-05 13:02:07 -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 09d71a059e update websocket library hoping locking bugs will be fixed. 2025-07-05 11:12:59 -03:00
fiatjaf 46fba24b3e eliminate indirect go-nostr dependency. 2025-04-21 10:13:40 -03:00
fiatjaf a7be696243 a bunch of conversions and api tweaks on khatru and eventstore. 2025-04-17 00:15:15 -03:00
fiatjaf cb0dd45a32 go mod tidy works now at least. 2025-04-15 18:40:56 -03:00
fiatjaf b4268d649c a bunch of [32]byte conversions. still more needed. 2025-04-14 17:47:53 -03:00
fiatjaf 0d5daf66bf sdk: beginnings of basic wot helpers. 2025-03-28 21:49:26 -03:00
fiatjaf 78dbf9def5 use our own dataloader and simplify batch replaceable requests, removing bugs. 2025-03-24 15:50:10 -03:00
fiatjaf c1d9c094ee get rid of base64x temporarily since it doesn't work on arm64. 2025-03-19 14:59:49 -03:00
fiatjaf 4dcadd4d88 update go version so we can use the new benchmarking helper. 2025-03-13 18:57:30 -03:00
fiatjaf 1b610ba318 khatru string transition 2025-03-12 00:55:08 -03:00
fiatjaf f19125af65 get rid of nocopy, do it directly. 2025-03-10 09:42:55 -03:00
fiatjaf 9e94310604 ridiculous performance string and serialization performance improvements. 2025-03-07 21:45:47 -03:00
fiatjaf 4431f58df2 update khatru so feeds_test can run again. 2025-03-07 21:23:54 -03:00
fiatjaf 765f16f86a update sonic so it works with go1.24 2025-03-07 16:31:10 -03:00
fiatjaf cb74908f5d use base64x everywhere instead of encoding/base64. 2025-03-07 10:06:46 -03:00
fiatjaf c9411a3c5b depressing sonic json decoder implementation, breakingly force COUNT to use a single filter, reorganize envelope tests. 2025-03-06 19:34:36 -03:00
fiatjaf 56e9a5a709 implement envelope, event and filter parsing with simdjson-go. 2025-02-25 17:57:15 -03:00
fiatjaf 6d8cd55784 fix and use a supposedly much faster library on NormalizeURL(), it's slightly less tolerant with stupidly-formed URLs. 2025-02-25 09:55:19 -03:00
fiatjaf c6747cdf44 nip60: fixes, actual Cashu stuff and a wallet.Receive() method. 2025-01-27 16:33:33 -03:00
fiatjaf 3334f7a48b implement nip60 events. 2025-01-25 23:35:53 -03:00
fiatjaf df6aaa3ad3 sdk: test for feeds and a fix. 2025-01-20 13:45:43 -03:00
fiatjaf faa4fabffe sdk: setup KVStore. 2025-01-15 14:29:35 -03:00
1l0 cb9e554fc9 nip22: prevent panic, return nil if not found according to nip10.go 2025-01-13 11:06:03 -03:00
reis 63919cf685 support wasm (#163) 2025-01-02 09:42:04 -03:00
fiatjaf 1778706817 add nip23 markdown helper. 2024-12-23 09:17:51 -03:00
fiatjaf 72d9aac9b1 replace all ocurrences of encoding/json with json-iterator so we get rid of HTML escaping and hopefully get faster too. 2024-12-03 00:49:27 -03:00
fiatjaf c5c9bba586 nip77: remove bloom filter, use a map. 2024-11-26 13:22:37 -03:00
fiatjaf ab52b3efb2 sdk: ristretto is generic now, no need for the fiatjaf fork. 2024-10-22 08:02:52 -03:00
fiatjaf 97ed96ef73 more tag helpers. 2024-10-13 10:32:43 -03:00
fiatjaf 2c09338ecb sdk/hints: sqlite backend and tests. 2024-09-16 22:23:55 -03:00