Commit Graph

1279 Commits

Author SHA1 Message Date
fiatjaf 3acfbbca0a nip34: grasp url helper. 2026-03-26 17:36:01 -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 c74ac74a0e use sync.Once to prevent duplicated AUTH attempts on the same relays. 2026-03-25 15:28:17 -03:00
fiatjaf ec6f3f8a41 .Count() to handle CLOSED messages and support AUTH like .Subscribe(). 2026-03-25 11:46:36 -03:00
fiatjaf d43fbbf02d eventstore: fix lmdb and mmm ptag-kind queries.
the prefix was missing the 2 bytes of the kind when preparing the query.

we also simplify the query planner logic a little bit and eliminate some useless fields and everything is clearer.
2026-03-23 00:23:38 -03:00
fiatjaf 6a686c31af eventstore: add test for ptag filter with until clause.
following nostr:nevent1qvzqqqqqqypzq3svyhng9ld8sv44950j957j9vchdktj7cxumsep9mvvjthc2pjuqy0hwumn8ghj7urewfsk66ty9enxjct5dfskvtnrdakj76twvfhhsqgawaehxw309aehqct5d9sj6ctjvdskucfwvdhk6tmfde3x77qqyqspzxnz3g0sway64qpjkszxx0qv666sce30dymn5mw467j709zejjvtka2
2026-03-23 00:23:23 -03:00
fiatjaf a6fdcd8b30 blossom: display body when upload fails and no reason is given. 2026-03-22 12:49:59 -03:00
fiatjaf e675f04bd2 maybe this is not necessary? prevent WriteWithError from getting stuck. 2026-03-20 20:27:24 -03:00
fiatjaf 0630bbe4e9 fix another dead relay issue (relays dying but subscriptions living forever and not being reconnected). 2026-03-20 20:26:59 -03:00
fiatjaf 55c5194bdf schema: fix tests. 2026-03-20 20:26:12 -03:00
fiatjaf f3f5c3982d nip29: fix printing. 2026-03-20 20:10:07 -03:00
fiatjaf 1520264394 nip54: update d-tag normalization rules. 2026-03-18 19:12:40 -03:00
fiatjaf 2cec1c9434 eliminate readQueue stuck channel on relay close. 2026-03-14 05:53:16 -03:00
fiatjaf 6cbe984e16 eliminate closedMutex and closeNotify because they are useless (apparently). 2026-03-14 05:31:48 -03:00
fiatjaf 5a0b18e65a add buffers to read and write queues. 2026-03-12 17:14:18 -03:00
fiatjaf bb4093d834 nip29: supported_kinds and transition edit-metadata to be a PUT, not a PATCH. 2026-03-12 11:00:01 -03:00
fiatjaf 3bd059d1f9 nip29: livekit group live participants. 2026-03-11 16:06:36 -03:00
fiatjaf 681bd55e55 replace "no-text" with "supported_kinds". 2026-03-11 10:49:41 -03:00
fiatjaf 4e490879b5 khatru/policies: accept deletions even when they're not protected. 2026-03-09 22:37:26 -03:00
fiatjaf 4348c64b14 r.writeQueue doesn't have to be closed. 2026-03-08 22:58:36 -03:00
fiatjaf 2c0d9712e3 CompareRElayEvent() helpers. 2026-03-08 22:57:38 -03:00
fiatjaf 4719c0bc9f khatru/policies: PreventNormalDuplicates() to consider "a" reactions too. 2026-03-06 01:04:46 -03:00
fiatjaf 163e59e1f1 nip29: fix "livekit" tag parsing. 2026-03-05 22:46:20 -03:00
fiatjaf 21ce0046c0 nip29: bring back negative tags in edit-metadata. 2026-03-04 23:24:48 -03:00
fiatjaf 1d14e6bebe relay: fix inverted r.writeQueue check. 2026-03-04 00:01:04 -03:00
fiatjaf 23d525f067 another last guard against sending on closed channel. 2026-03-02 11:59:12 -03:00
fiatjaf 4dab261bdf close relays when sending a CLOSE message fails and ensure closed relays aren't used. 2026-03-01 09:44:53 -03:00
fiatjaf 44c429d6b1 ensure we fail subscriptions to closed relays. 2026-03-01 09:26:00 -03:00
fiatjaf 4b5c51ffc0 refactor unsub to be dependent on the context only and always. 2026-03-01 09:19:25 -03:00
fiatjaf 5de9501556 fixes. 2026-03-01 09:18:55 -03:00
fiatjaf 8ba05114cd remove relay from pool once it's closed or disconnected. 2026-02-28 14:26:32 -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 195cb944e2 fix potential subscription leaking bug with MaxWaitForEOSE never being effective. 2026-02-27 06:47:27 -03:00
fiatjaf c31b92707b trying to prevent leaking subscriptions. 2026-02-26 23:01:18 -03:00
fiatjaf 00ffe16cb7 nip29: add "no-text" and "livekit" tags. 2026-02-26 07:17:58 -03:00
fiatjaf 4d1b6c1df0 potential fix on some concurrency pool issues. 2026-02-23 15:22:21 -03:00
fiatjaf 62d15178ec sdk: update default relay lists. 2026-02-22 18:34:52 -03:00
fiatjaf 32dd39da81 sdk: fix default Publisher to work with any store. 2026-02-22 18:02:22 -03:00
fiatjaf 7aa127a8c3 use if ctx.Err() instead of select {}. 2026-02-22 17:45:36 -03:00
fiatjaf 55cc52876a khatru/policies: support "a" in kind:1163 on PreventNormalDuplicates() 2026-02-18 15:26:10 -03:00
fiatjaf 137c09369a khatru/policies: fix tagName usage in PreventNormalDuplicates() 2026-02-18 10:43:33 -03:00
fiatjaf d445ba9919 mmm: free ranges tracking improved with b.freeRangesLarge and b.freeRangesAll
one is unsorted and fast and we only care about it with picking a new free range.
the other is sorted and used when merging a new freed range with existing free ranges.
both are computed from the events id index at beginning, then tracked manually on each addition or deletion.
this change uncovered some errors so we fixed them and added some more fuzz test invariant checking.
code is simplified a little bit.
there was another thing I forgot.
2026-02-17 18:33:59 -03:00
fiatjaf d30c1bff46 khatru/policies: PreventNormalDuplicates() 2026-02-17 18:33:59 -03:00
fiatjaf 65ef1c50a7 khatru: OnEventDeleted hook. 2026-02-17 18:33:59 -03:00
fiatjaf 7a4b71b39b blossom: hardcode some more common problematic extension types. 2026-02-11 11:41:28 -03:00
fiatjaf 3f52d10421 nip77: fix one possible infinite loop with channels. 2026-02-09 18:38:39 -03:00
fiatjaf a98ac0d050 khatru: only kill connection once. 2026-02-08 10:59:51 -03:00
fiatjaf 28bef1c990 khatru: stop iterating through event results if ws fails. 2026-02-08 10:59:30 -03:00
fiatjaf beb8a72491 nip60: don't lose tokens when bolt11 payment fails. 2026-02-03 19:27:06 -03:00
fiatjaf e17995d427 authHandler bugfix from ben at nostr:nevent1qqsy9nka36av9ukvkyq42626t7gkyu4rdkgsu0c785kprup3a2694ngkkwvrk 2026-02-01 16:52:53 -03:00