Claude
d1bc98d0f8
Add signevent method to NIP-86 (nip86 + khatru)
...
Implements the signevent capability from nostr-protocol/nips#2389 : relay admins
can ask the relay to sign an unsigned event template with its own (self) key.
- nip86: SignEvent MethodParams type + "signevent" decode case (round-trips the
{kind, content, tags, created_at} param into a nostr.Event).
- khatru: RelayManagementAPI.SignEvent hook + dispatch returning the signed event
as the result.
2026-06-20 15:06:17 +00:00
Jon Staab
fefc85d500
Add unbanpubkey and unallowpubkey
2026-05-05 11:36:42 -07:00
Jon Staab
fbc805a5a6
Switch supported_nips to strings
2026-05-05 11:36:42 -07:00
fiatjaf
a5aeff31d7
khatru: cancel existing subscription when a new one starts with the same id.
2026-05-04 19:26:24 -03:00
fiatjaf
bf7998e780
khatru: OnListenerRemoved wasn't being called in the most common case of a connection dropped.
2026-05-04 13:13:02 -03:00
fiatjaf
61586d5d1b
khatru: ForceSetAuthed()
2026-05-04 11:50:21 -03:00
fiatjaf
c75bd45d13
Tags.Eq()
2026-05-04 11:50:21 -03:00
fiatjaf
aafff41d40
mmm: rawread stats.
2026-05-03 13:48:19 -03:00
fiatjaf
cbf335a8fa
schema: dangling space is not a problem in content.
2026-05-03 13:47:23 -03:00
fiatjaf
05b426e67e
khatru: add and remove listener hooks.
2026-04-29 19:32:47 -03:00
fiatjaf
744fb0702c
relay.AssumeValid can be passed as an option, so it works from a Pool.
2026-04-23 22:16:47 -03:00
fiatjaf
b899ef8865
faster signature verification by serializing directly into the sha with less allocations.
2026-04-23 22:16:46 -03:00
fiatjaf
696f377109
event verification benchmark.
2026-04-23 22:16:23 -03:00
fiatjaf
e144b33fa2
khatru: use sync.Pool to minimize allocations of sets on dispatcher.
2026-04-23 20:14:18 -03:00
fiatjaf
42379e53a2
sdk: get rid of unused error returns in wot.
2026-04-23 08:25:55 -03:00
fiatjaf
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!
2026-04-22 23:16:43 -03:00
fiatjaf
223d95461f
blossom/nsite tweaks.
2026-04-22 15:52:50 -03:00
fiatjaf
078ee94465
sdk: FetchBlossomServerList().
2026-04-22 15:16:46 -03:00
fiatjaf
a21ea55eaa
nip5A: nsites.
2026-04-22 15:08:01 -03:00
fiatjaf
5b28d08e47
khatru: add tests and fix dispatcher.
2026-04-21 21:20:40 -03:00
fiatjaf
94ea432818
delete PoolOptions entirely (it should have been deleted earlier) and expose AuthRequiredHandler field.
2026-04-19 20:14:00 -03:00
fiatjaf
8200164174
don't print identifier in replaceable pointers when all is ok.
2026-04-18 15:02:58 -03:00
fiatjaf
f50b7b0f8d
khatru: list clients and client details.
2026-04-16 16:14:42 -03:00
fiatjaf
31473172a9
khatru: byAuthor and byKind as xsync maps.
2026-04-16 07:20:48 -03:00
fiatjaf
d56bdba3ff
khatru: WithServiceURL() subhandlers.
2026-04-15 21:19:03 -03:00
fiatjaf
7dc553f71b
eventstore/bleve: when there is only one language we skip using the detector.
2026-04-14 21:38:43 -03:00
fiatjaf
fbd4dddba3
eventstore/bleve: index some generic tags and references on all events.
2026-04-14 20:40:28 -03:00
fiatjaf
c11e94a04b
khatru: ReplaceEvent hook doesn't need the previous events.
2026-04-14 19:58:17 -03:00
fiatjaf
029f4eb0d8
pool: AddToPenaltyBox() manually.
2026-04-11 22:26:23 -03:00
fiatjaf
cf734a3ac7
sdk: make a test compile without khatru's Start()
2026-04-11 22:26:05 -03:00
fiatjaf
d92a0cde16
get rid of PoolOptions, just set fields on Pool directly.
2026-04-11 20:31:05 -03:00
fiatjaf
5944a3ead6
bleve is not a full eventstore.Store.
2026-04-11 20:27:12 -03:00
fiatjaf
3e35681cb9
Revert "relay: check for subscription limits and error."
...
This reverts commit 637412fd38 .
2026-04-11 19:26:00 -03:00
fiatjaf
8515153df2
Revert "pool: open new connections whenever a subscription limit is reached, reuse multiple simultaneous relay connections."
...
This reverts commit 9bf9816c15 .
2026-04-11 19:25:39 -03:00
fiatjaf
98fa53464e
pool: proper filter scope in subMany()
2026-04-11 19:24:08 -03:00
fiatjaf
29cdd48fcb
eventstore: adapt test to ReplaceEvent() signature change.
2026-04-11 15:36:09 -03:00
fiatjaf
181de14642
lmdb: two small fixes, and stop doing WRITEMAP so it stops crashing.
2026-04-11 15:24:37 -03:00
fiatjaf
1794f0690f
bleve: open timeout option.
2026-04-11 02:03:58 -03:00
fiatjaf
12af4717d4
pool: penalty box as a xsync map because mutexes are too hard.
2026-04-11 01:55:18 -03:00
fiatjaf
b989b66bb7
change ReplaceEvent() interface to return a list of the events deleted.
2026-04-10 11:56:08 -03:00
fiatjaf
4261bc88f8
eventstore/bleve: replace with implementation inspired from pyramid.
2026-04-10 11:25:42 -03:00
fiatjaf
a8205a3790
add relay.primal.net as another fallback big relay for outbox.
2026-04-10 10:00:03 -03:00
fiatjaf
0152341144
eventstore/lmdb: remove unused lastIdx code.
2026-04-08 21:45:10 -03:00
fiatjaf
9bf9816c15
pool: open new connections whenever a subscription limit is reached, reuse multiple simultaneous relay connections.
2026-04-07 18:13:05 -03:00
fiatjaf
82f2fbdb99
sdk: a bunch of more list loaders.
2026-04-07 17:39:21 -03:00
fiatjaf
d5b54a1c91
negentropy: fix varint encoding.
2026-04-07 17:20:10 -03:00
fiatjaf
637412fd38
relay: check for subscription limits and error.
2026-04-07 12:09:00 -03:00
fiatjaf
9b881801d8
khatru: get rid of broken unused get-started.go helpers.
2026-04-04 09:20:03 -03:00
fiatjaf
371cecdb84
guard against nil connections on write to protect against concurrent listener removals.
2026-04-03 12:30:06 -03:00
fiatjaf
2735abe060
khatru: listener needed a xsync.Map instead of a map, because of concurrent access.
2026-04-03 08:27:00 -03:00