113 Commits

Author SHA1 Message Date
fiatjaf
596bca93c3 go-nostr MessageParser string transition. 2025-03-12 00:53:19 -03:00
fiatjaf
44ed6f519d use NewMessageParser() that allows sonic to be opted in with tags. 2025-03-11 17:32:04 -03:00
fiatjaf
db832d4255 use sonic json parser and other minor performance improvements. 2025-03-07 21:47:34 -03:00
fiatjaf
625bde38c5 update go-nostr so CountEnvelope only has one filter, which simplies COUNT handling a lot, specially with HLL. 2025-03-07 10:11:58 -03:00
fiatjaf
7c6031f4e5 resolve relative icon and banner urls in nip11 handler. 2025-02-23 18:21:23 -03:00
fiatjaf
a6ed7bced0 do not cancel subscription context on eose, only on subscription close. 2025-02-09 20:46:53 -03:00
fiatjaf
e1de0432fe fix @staab's mess. 2024-12-31 22:15:15 -03:00
Jon Staab
5b9b89543f Get service url when handling auth rather than mutating the relay, allow user to override service url via env var 2024-12-31 22:10:13 -03:00
fiatjaf
6275f52134 support hyperloglog handlers on COUNT. 2024-12-07 00:26:22 -03:00
Anthony Accioly
582a74c000
refactor: apply CORS rules on relay 2024-11-05 18:37:12 +00:00
fiatjaf
1dc12e5d2e support negentropy. 2024-10-26 23:41:39 -03:00
fiatjaf
9069341657 a context that is canceled whenever a websocket is dropped. 2024-10-16 15:06:47 -03:00
fiatjaf
39d882857c fix missing ! in CheckID() 2024-09-25 14:34:04 -03:00
fiatjaf
cc891d06ed update go-nostr and make checkid faster. 2024-09-24 19:04:18 -03:00
kehiy
eb92c2aac5 make check id more simple. 2024-09-14 10:21:47 -03:00
fiatjaf
79eaedcffe remove useless boolean comparison. 2024-09-05 14:38:59 -03:00
fiatjaf
ef57f54a28 fix listeners convoluted magic and add tests for it. 2024-08-01 18:16:08 -03:00
fiatjaf
a103353254 fix development mess. 2024-08-01 12:41:27 -03:00
fiatjaf
5f0f9eec99 .PreventBroadcast slice of functions for controlling what events get broadcasted and to whom.
addresses https://t.me/nip29_temp/303
2024-07-31 10:34:53 -03:00
fiatjaf
a63dc829df routing. 2024-07-30 12:53:27 -03:00
fiatjaf
9d6dad073a fix nip86 route header matching. 2024-07-11 15:36:25 -03:00
fiatjaf
535f4c90e0 split nip11 handler into its own file and implement nip86 (relay management api). 2024-07-08 15:42:42 -03:00
fiatjaf
ef4a14a831 nip11: signal support for deletions and count if those handlers exist. 2024-07-07 23:37:43 -03:00
fiatjaf
746f030f46 I'm a teapot -> Too many requests 2024-05-17 20:58:17 -03:00
fiatjaf
f8afb51ee9 ratelimits. 2024-05-12 20:37:00 -03:00
fiatjaf
848e76c664 do not notify listeners when a duplicated event is received. 2024-04-26 14:56:50 -03:00
fiatjaf
cd4c25c845
implement NIP-70 ["-"] tag support. 2024-02-13 12:22:15 -03:00
fiatjaf
d721fcdd67
make overwriting and broadcasting work for kind:5 delete events too. 2024-01-18 18:20:24 -03:00
fiatjaf
89ac8f1f1a
add clause for websocket close code 4537 because why? 2024-01-05 20:55:24 -03:00
fiatjaf
0f7d26f26e
missed from last commit: setting ws.Authed to nil. 2023-12-27 12:55:05 -03:00
fiatjaf
21b08cb044
fix closing of closed ws.Authed channel when client AUTHs twice. 2023-12-27 12:30:23 -03:00
fiatjaf
5b17786273
bring back RequestAuth(ctx), now as a global. 2023-12-25 09:30:13 -03:00
fiatjaf
77600dc05c
expose GetSubscriptionID(ctx) 2023-12-25 09:14:09 -03:00
fiatjaf
9f635e4e41
fix writeErr nil pointer. 2023-12-22 22:35:44 -03:00
fiatjaf
9b22ea3ee6
fail properly when a storage function errors and other fixes related to prefixed reason messages. 2023-12-22 19:51:35 -03:00
fiatjaf
7e06629953
superficial tweaks to auth handling. 2023-12-09 14:41:54 -03:00
fiatjaf
3ec0020baa
add OnDisconnect() handlers. 2023-12-09 09:00:11 -03:00
fiatjaf
d3a0c545d2
GetIP() and GetOpenSubscriptions() utils. 2023-12-09 08:19:37 -03:00
fiatjaf
c09d21b621
clarity: break->return 2023-12-09 00:14:08 -03:00
fiatjaf
5823515d27
streamlined connection closes on failure.
account for the fact that the time.Ticker channel is
not closed when the ticker is stopped.
2023-12-09 00:00:22 -03:00
fiatjaf
9273a4b809
use a special context for each REQ stored-events handler that can be canceled. 2023-12-08 23:48:30 -03:00
fiatjaf
ddfc9ab64a
fun with connection contexts and context cancelations. 2023-12-08 22:51:00 -03:00
fiatjaf
375236cfe2
fix sign on error checking. 2023-12-06 21:32:48 -03:00
fiatjaf
35e801379a
make NIP-42 actually work, with inferred ServiceURL if that's not manually set. 2023-12-06 15:03:53 -03:00
fiatjaf
22da06b629
new flow for auth based on "auth-required: " rejection messages. 2023-12-06 12:14:58 -03:00
fiatjaf
ad92d0b051
return CLOSED if any of the filters get rejected. 2023-12-06 11:56:56 -03:00
fiatjaf
3c1b062eb8
include original http.Request in WebSocket struct. 2023-11-29 12:26:04 -03:00
fiatjaf
84d01dc1d3
rename auth-related fields on WebSocket struct. 2023-11-29 12:23:21 -03:00
fiatjaf
386a89676a
use go-nostr envelopes and support CLOSED when filters are rejected. 2023-11-28 22:43:06 -03:00
fiatjaf
90697ad3d3
OverwriteRelayInformation 2023-11-27 00:54:45 -03:00