Commit Graph

994 Commits

Author SHA1 Message Date
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 50c9ea3867 nip23: the renderer is not goroutine-safe so it can't be reused. 2025-08-04 12:01:02 -03:00
fiatjaf 83c34daa8b OK callbacks that still work even if the same event is published twice. 2025-07-30 15:06:30 -03:00
fiatjaf 788225b902 fix emitting duplicate events in pool.SubMany() 2025-07-30 07:09:14 -03:00
fiatjaf 88096fbd84 khatru: allow disabling expiration manager. 2025-07-28 22:06:12 -03:00
fiatjaf a4d8491d2d nip46: AuthorizeSigning returns an error for better debuggability. 2025-07-28 17:31:13 -03:00
fiatjaf 9a15d220b0 nip46: reword invalid pubkey hex messages. 2025-07-28 09:36:31 -03:00
fiatjaf bb72af908f nip53: typed participant pubkey. 2025-07-28 09:35:37 -03:00
fiatjaf 24060da1dd khatru: better error on nip86 "u" tag mismatch. 2025-07-28 09:35:22 -03:00
fiatjaf 0bc8e159ff slightly better readme. 2025-07-27 14:15:05 -03:00
fiatjaf 0816e89b32 nip65 helpers. 2025-07-25 09:50:00 -03:00
fiatjaf 2875648ee3 handle wot filter error. 2025-07-24 13:25:08 -03:00
fiatjaf ae076a7be2 nip46: hopefully fix "send on closed channel" cases on client responses. 2025-07-21 17:26:34 -03:00
fiatjaf e164b49aad nip46: ParseBunkerInput() for allowing NewBunker() to be used without calling "connect". 2025-07-19 11:52:09 -03:00
fiatjaf 68b0caf2ab khatru: improve ephemeral ok message when handled internally. 2025-07-19 11:51:44 -03:00
fiatjaf 9f0376692b nip46: dynamic bunker can't rely on a secret to be persistent or "connect" to be always sent, that's a job for the implementor. 2025-07-18 14:37:18 -03:00
fiatjaf 7cbca5f040 nip46: dynamic signer to store sessions associated with the handler pubkey to prevent stupid bugs when the same client try to use two different bunkers. 2025-07-18 14:36:42 -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 6592319774 stop exposing connection, more debugLog calls and properly fail subscriptions when a relay dies. 2025-07-13 14:21:15 -03:00
fiatjaf 9f8b810882 fix main relay context being canceled instead of just the dial context. 2025-07-11 13:01:04 -03:00
fiatjaf dcd505712a fix one nip19 test bug. 2025-07-10 23:01:36 -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 9dc89517ee nip44: remove size limits.
implements https://github.com/nostr-protocol/nips/pull/1907
2025-07-07 21:25:41 -03:00
fiatjaf 5e04ad692d get rid of useless justfile. 2025-07-07 18:48:38 -03:00
fiatjaf 33cfe816ac nip86: fix type on pubkey response. 2025-07-07 12:28:29 -03:00
fiatjaf 09d71a059e update websocket library hoping locking bugs will be fixed. 2025-07-05 11:12:59 -03:00
fiatjaf f59def9b05 nip44: prettier variable names. 2025-07-04 23:39:04 -03:00
fiatjaf 98f95fca15 check for validity of secret key when parsing from hex. 2025-07-01 10:57:50 -03:00
fiatjaf ca03dc60f7 eventstore/lmdb,mmm: fix key size for "a"-style tags. 2025-06-29 22:25:28 -03:00
fiatjaf 5f4a966d45 nip61: this function was taking an event pointer. 2025-06-29 21:44:09 -03:00
fiatjaf 32df8e407a eventstore/mmm: we added another db on layers. 2025-06-29 21:43:55 -03:00
fiatjaf 028a1637fb nip46: handle ok=false from RPC calls better for instant failure. 2025-06-27 13:51:01 -03:00
fiatjaf 56568bdeed fix length checks from previous commit. 2025-06-27 13:24:03 -03:00
fiatjaf 67c787c8d3 guard event and filter decoders against bad-sized hexes. 2025-06-25 11:10:48 -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
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 e12f2b3f90 nip27: fix ws:// parsing. 2025-06-08 10:53:15 -03:00
fiatjaf 96125dd6f0 khatru: SendNotice() util. 2025-06-08 07:15:02 -03:00
fiatjaf 9cad1f0a5b evenstore/mmm: fix wrong limit being read in queries. 2025-06-08 07:14:48 -03:00
fiatjaf 7a1292b58b handle files declared as .apk as .apk. 2025-06-03 19:01:18 -03:00
fiatjaf 28f85c9ea3 fix sending request header. 2025-05-30 10:09:03 -03:00
fiatjaf ba91afc128 Pointer cannot hold a pointer so it can't be a hidden nil. 2025-05-25 15:58:18 -03:00
fiatjaf f38ce069a9 fix type assertions from [32]byte to nostr.PubKey or nostr.ID. 2025-05-22 08:52:45 -03:00