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
fiatjaf
d87066c9b9
sdk: eliminate all the data races go was complaining about.
2026-01-27 23:25:34 -03:00
fiatjaf
ca3730e508
nip19: decode "note1" as nevent.
2026-01-26 17:22:22 -03:00
fiatjaf
3ed3592e52
blossom: ensure quicktime-format videos get the extension ".mov", not ".moov".
2026-01-22 23:17:32 -03:00
fiatjaf
0cb0d1ccb0
unify usage and export nostr.IsOlder() helper.
2026-01-22 22:54:44 -03:00
fiatjaf
f1fdb0788a
nip46: different ids for imagined/fake nostrconnect requests so they bypass the duplicate filter.
2026-01-22 18:56:41 -03:00
fiatjaf
241959d1e3
nip46: allow signers to prevent handling duplicate requests (happens sometimes when switching relays, depending on how stuff is done, it's harmless but still).
2026-01-21 22:46:16 -03:00
fiatjaf
061cf7f68f
nip46: HandleNostrConnectURI()
2026-01-21 12:43:30 -03:00
fiatjaf
de4eff64d1
nip46: switch_relays on the client side.
2026-01-20 20:45:07 -03:00
fiatjaf
10318a3443
nip46: implement switch_relays on the signer side.
2026-01-20 20:34:12 -03:00
fiatjaf
db61f42b56
nip46: nostrconnect:// preliminary support (client-side).
2026-01-20 17:49:01 -03:00
fiatjaf
ce7d165c9d
mmm: eliminate annoying log line.
2026-01-19 22:33:35 -03:00
fiatjaf
57cef15054
nip29: fix created_at for roles event.
2026-01-19 10:21:26 -03:00
fiatjaf
461568e44b
nip29: fix updating LastAdminsUpdate and LastMembersUpdate.
2026-01-19 09:51:15 -03:00
fiatjaf
31af06f4c7
nip29: add .MergeInRolesEvent()
2026-01-18 22:07:08 -03:00
fiatjaf
459a10294f
eventstore: a COUNT test and fix many bugs.
2026-01-18 21:31:12 -03:00
fiatjaf
b559828c72
mmm: read-only mode.
2026-01-18 18:02:07 -03:00
fiatjaf
df64c5b6ec
eventstore/cmd: fix mmm deinitialization.
2026-01-18 17:44:03 -03:00
fiatjaf
fd2828ce94
nipb0/blossom: tests.
2026-01-18 14:51:38 -03:00