This website requires JavaScript.
fefc85d500
Add unbanpubkey and unallowpubkey
master
Jon Staab
2026-02-25 19:31:37 -08:00
fbc805a5a6
Switch supported_nips to strings
Jon Staab
2026-02-09 14:40:37 -08:00
a5aeff31d7
khatru: cancel existing subscription when a new one starts with the same id.
fiatjaf
2026-05-04 19:26:24 -03:00
bf7998e780
khatru: OnListenerRemoved wasn't being called in the most common case of a connection dropped.
fiatjaf
2026-05-04 13:13:02 -03:00
61586d5d1b
khatru: ForceSetAuthed()
fiatjaf
2026-05-04 10:17:06 -03:00
c75bd45d13
Tags.Eq()
fiatjaf
2026-05-04 10:16:08 -03:00
aafff41d40
mmm: rawread stats.
fiatjaf
2026-05-03 13:48:19 -03:00
cbf335a8fa
schema: dangling space is not a problem in content.
fiatjaf
2026-05-03 13:47:23 -03:00
05b426e67e
khatru: add and remove listener hooks.
fiatjaf
2026-04-29 19:32:47 -03:00
744fb0702c
relay.AssumeValid can be passed as an option, so it works from a Pool.
fiatjaf
2026-04-23 21:11:56 -03:00
b899ef8865
faster signature verification by serializing directly into the sha with less allocations.
fiatjaf
2026-04-23 20:31:57 -03:00
696f377109
event verification benchmark.
fiatjaf
2026-04-23 22:15:34 -03:00
e144b33fa2
khatru: use sync.Pool to minimize allocations of sets on dispatcher.
fiatjaf
2026-04-23 20:14:18 -03:00
42379e53a2
sdk: get rid of unused error returns in wot.
fiatjaf
2026-04-23 08:25:55 -03:00
e2ad68d050
khatru: we haven't fixed the nil ws bug on dispatcher, but at least now we have more tests and an even more efficient architecture!
fiatjaf
2026-04-22 23:16:43 -03:00
223d95461f
blossom/nsite tweaks.
fiatjaf
2026-04-22 15:51:00 -03:00
078ee94465
sdk: FetchBlossomServerList().
fiatjaf
2026-04-22 15:16:40 -03:00
a21ea55eaa
nip5A: nsites.
fiatjaf
2026-04-22 15:08:01 -03:00
5b28d08e47
khatru: add tests and fix dispatcher.
fiatjaf
2026-04-21 21:20:40 -03:00
94ea432818
delete PoolOptions entirely (it should have been deleted earlier) and expose AuthRequiredHandler field.
fiatjaf
2026-04-19 20:14:00 -03:00
8200164174
don't print identifier in replaceable pointers when all is ok.
fiatjaf
2026-04-18 15:02:58 -03:00
f50b7b0f8d
khatru: list clients and client details.
fiatjaf
2026-04-16 11:56:33 -03:00
31473172a9
khatru: byAuthor and byKind as xsync maps.
fiatjaf
2026-04-16 07:20:48 -03:00
d56bdba3ff
khatru: WithServiceURL() subhandlers.
fiatjaf
2026-04-15 21:19:03 -03:00
7dc553f71b
eventstore/bleve: when there is only one language we skip using the detector.
fiatjaf
2026-04-14 21:38:43 -03:00
fbd4dddba3
eventstore/bleve: index some generic tags and references on all events.
fiatjaf
2026-04-14 20:40:28 -03:00
c11e94a04b
khatru: ReplaceEvent hook doesn't need the previous events.
fiatjaf
2026-04-14 19:58:14 -03:00
029f4eb0d8
pool: AddToPenaltyBox() manually.
fiatjaf
2026-04-11 22:26:23 -03:00
cf734a3ac7
sdk: make a test compile without khatru's Start()
fiatjaf
2026-04-11 22:26:05 -03:00
d92a0cde16
get rid of PoolOptions, just set fields on Pool directly.
fiatjaf
2026-04-11 20:31:05 -03:00
5944a3ead6
bleve is not a full eventstore.Store.
fiatjaf
2026-04-11 20:27:12 -03:00
3e35681cb9
Revert "relay: check for subscription limits and error."
fiatjaf
2026-04-11 19:26:00 -03:00
8515153df2
Revert "pool: open new connections whenever a subscription limit is reached, reuse multiple simultaneous relay connections."
fiatjaf
2026-04-11 19:25:39 -03:00
98fa53464e
pool: proper filter scope in subMany()
fiatjaf
2026-04-11 19:24:08 -03:00
29cdd48fcb
eventstore: adapt test to ReplaceEvent() signature change.
fiatjaf
2026-04-11 15:36:09 -03:00
181de14642
lmdb: two small fixes, and stop doing WRITEMAP so it stops crashing.
fiatjaf
2026-04-11 15:24:37 -03:00
1794f0690f
bleve: open timeout option.
fiatjaf
2026-04-11 02:03:58 -03:00
12af4717d4
pool: penalty box as a xsync map because mutexes are too hard.
fiatjaf
2026-04-11 01:55:18 -03:00
b989b66bb7
change ReplaceEvent() interface to return a list of the events deleted.
fiatjaf
2026-04-10 11:56:08 -03:00
4261bc88f8
eventstore/bleve: replace with implementation inspired from pyramid.
fiatjaf
2026-04-10 11:18:40 -03:00
a8205a3790
add relay.primal.net as another fallback big relay for outbox.
fiatjaf
2026-04-10 09:59:57 -03:00
0152341144
eventstore/lmdb: remove unused lastIdx code.
fiatjaf
2026-04-08 21:45:10 -03:00
9bf9816c15
pool: open new connections whenever a subscription limit is reached, reuse multiple simultaneous relay connections.
fiatjaf
2026-04-07 18:13:05 -03:00
82f2fbdb99
sdk: a bunch of more list loaders.
fiatjaf
2026-04-07 17:39:21 -03:00
d5b54a1c91
negentropy: fix varint encoding.
fiatjaf
2026-04-07 17:20:10 -03:00
637412fd38
relay: check for subscription limits and error.
fiatjaf
2026-04-07 12:09:00 -03:00
9b881801d8
khatru: get rid of broken unused get-started.go helpers.
fiatjaf
2026-04-04 09:19:54 -03:00
371cecdb84
guard against nil connections on write to protect against concurrent listener removals.
fiatjaf
2026-04-03 12:30:06 -03:00
2735abe060
khatru: listener needed a xsync.Map instead of a map, because of concurrent access.
fiatjaf
2026-04-03 08:26:56 -03:00
b9a3e78752
mmm: print free ranges count.
fiatjaf
2026-04-03 08:23:13 -03:00
ff03090610
schema: update url.
fiatjaf
2026-04-03 08:23:04 -03:00
72a5be58d7
fix AppendUnique.
fiatjaf
2026-04-02 03:22:47 -03:00
2c30300756
mmm: use flock instead of file presence for locking the database.
fiatjaf
2026-03-30 08:30:22 -03:00
d1fdc262f2
mmm: reduce default mmap size.
fiatjaf
2026-03-30 08:10:08 -03:00
117a304f68
khatru: relay stats.
fiatjaf
2026-03-29 22:18:51 -03:00
ac2d4579f1
khatru: get rid of subrelays + segregated indexed listeners.
fiatjaf
2026-03-29 11:14:22 -03:00
56610a32e6
constant ints must be casted so they work with gomobile.
fiatjaf
2026-03-29 09:15:22 -03:00
d4940c7858
eventstore/mmm: use sync.Pool for tempResults.
fiatjaf
2026-03-28 11:22:39 -03:00
172e7890b9
khatru: use a channelmutex so we can fail to lock on addListener() if there's a disconnect.
fiatjaf
2026-03-28 10:47:25 -03:00
3acfbbca0a
nip34: grasp url helper.
fiatjaf
2026-03-26 17:36:01 -03:00
b5974cfa45
add nip34/git-natural-api, using the same approach as https://jsr.io/@fiatjaf/git-natural-api .
fiatjaf
2026-03-25 15:29:36 -03:00
c74ac74a0e
use sync.Once to prevent duplicated AUTH attempts on the same relays.
fiatjaf
2026-03-25 15:28:17 -03:00
ec6f3f8a41
.Count() to handle CLOSED messages and support AUTH like .Subscribe().
fiatjaf
2026-03-25 09:56:04 -03:00
d43fbbf02d
eventstore: fix lmdb and mmm ptag-kind queries.
fiatjaf
2026-03-22 23:59:19 -03:00
6a686c31af
eventstore: add test for ptag filter with until clause.
fiatjaf
2026-03-22 23:53:30 -03:00
a6fdcd8b30
blossom: display body when upload fails and no reason is given.
fiatjaf
2026-03-22 12:49:59 -03:00
e675f04bd2
maybe this is not necessary? prevent WriteWithError from getting stuck.
fiatjaf
2026-03-20 20:27:24 -03:00
0630bbe4e9
fix another dead relay issue (relays dying but subscriptions living forever and not being reconnected).
fiatjaf
2026-03-20 20:26:59 -03:00
55c5194bdf
schema: fix tests.
fiatjaf
2026-03-20 20:26:12 -03:00
f3f5c3982d
nip29: fix printing.
fiatjaf
2026-03-20 20:10:07 -03:00
1520264394
nip54: update d-tag normalization rules.
fiatjaf
2026-03-18 19:12:40 -03:00
2cec1c9434
eliminate readQueue stuck channel on relay close.
fiatjaf
2026-03-14 05:53:16 -03:00
6cbe984e16
eliminate closedMutex and closeNotify because they are useless (apparently).
fiatjaf
2026-03-14 05:26:33 -03:00
5a0b18e65a
add buffers to read and write queues.
fiatjaf
2026-03-12 17:14:18 -03:00
bb4093d834
nip29: supported_kinds and transition edit-metadata to be a PUT, not a PATCH.
fiatjaf
2026-03-12 11:00:01 -03:00
3bd059d1f9
nip29: livekit group live participants.
fiatjaf
2026-03-11 16:06:30 -03:00
681bd55e55
replace "no-text" with "supported_kinds".
fiatjaf
2026-03-11 10:49:41 -03:00
4e490879b5
khatru/policies: accept deletions even when they're not protected.
fiatjaf
2026-03-09 22:37:26 -03:00
4348c64b14
r.writeQueue doesn't have to be closed.
fiatjaf
2026-03-08 22:58:36 -03:00
2c0d9712e3
CompareRElayEvent() helpers.
fiatjaf
2026-03-08 22:57:38 -03:00
4719c0bc9f
khatru/policies: PreventNormalDuplicates() to consider "a" reactions too.
fiatjaf
2026-03-06 01:04:46 -03:00
163e59e1f1
nip29: fix "livekit" tag parsing.
fiatjaf
2026-03-05 22:46:20 -03:00
21ce0046c0
nip29: bring back negative tags in edit-metadata.
fiatjaf
2026-03-04 23:24:48 -03:00
1d14e6bebe
relay: fix inverted r.writeQueue check.
fiatjaf
2026-03-04 00:01:04 -03:00
23d525f067
another last guard against sending on closed channel.
fiatjaf
2026-03-02 11:59:12 -03:00
4dab261bdf
close relays when sending a CLOSE message fails and ensure closed relays aren't used.
fiatjaf
2026-03-01 09:44:53 -03:00
44c429d6b1
ensure we fail subscriptions to closed relays.
fiatjaf
2026-03-01 09:26:00 -03:00
4b5c51ffc0
refactor unsub to be dependent on the context only and always.
fiatjaf
2026-03-01 09:19:25 -03:00
5de9501556
fixes.
fiatjaf
2026-03-01 09:18:55 -03:00
8ba05114cd
remove relay from pool once it's closed or disconnected.
fiatjaf
2026-02-28 14:26:32 -03:00
1df85217d9
merge connection into relay, do all the closing logic on context cancelation and have closeMutex be a channelmutex.
fiatjaf
2026-02-28 07:33:48 -03:00
195cb944e2
fix potential subscription leaking bug with MaxWaitForEOSE never being effective.
fiatjaf
2026-02-27 06:47:14 -03:00
c31b92707b
trying to prevent leaking subscriptions.
fiatjaf
2026-02-26 23:01:18 -03:00
00ffe16cb7
nip29: add "no-text" and "livekit" tags.
fiatjaf
2026-02-26 07:17:58 -03:00
4d1b6c1df0
potential fix on some concurrency pool issues.
fiatjaf
2026-02-23 15:22:21 -03:00
62d15178ec
sdk: update default relay lists.
fiatjaf
2026-02-22 18:34:52 -03:00
32dd39da81
sdk: fix default Publisher to work with any store.
fiatjaf
2026-02-22 18:02:22 -03:00
7aa127a8c3
use if ctx.Err() instead of select {}.
fiatjaf
2026-02-22 17:45:36 -03:00
55cc52876a
khatru/policies: support "a" in kind:1163 on PreventNormalDuplicates()
fiatjaf
2026-02-18 15:26:10 -03:00
137c09369a
khatru/policies: fix tagName usage in PreventNormalDuplicates()
fiatjaf
2026-02-18 10:43:33 -03:00