Commit graph

29 commits

Author SHA1 Message Date
7aa0ce14db feat: reply OK to client-published events
nostrclient never answered a client's EVENT with the NIP-01
`["OK", <id>, <accepted>, <message>]` command result. Clients built on
nostr-tools and similar libraries wait for that reply before treating a
publish as successful, so NWC wallet apps paired through the public
endpoint reported "publish failed" even though the request had been
fanned out and answered.

Relay OKs now flow through the message pool like events and notices.
The router tracks each EVENT a client publishes and replies exactly
once: `true` as soon as any relay accepts, `false` once every relay
connected at publish time has rejected it, after a 10 s timeout, or
immediately when no relay is connected. OKs nobody is waiting on are
dropped at the pump so the shared result map cannot grow unbounded.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013Tbyw6FwjhEJg3gHfPHxWt
2026-09-12 13:31:00 +02:00
dni ⚡
db20915756
v1 in the middle (#32) 2024-10-31 13:15:31 +02:00
dni ⚡
a8eb139360
feat: code quality (#31)
* feat: code quality
2024-08-30 13:07:33 +02:00
Vlad Stan
16ae9d15a1
Stabilize (#24)
Some checks failed
/ release (push) Has been cancelled
/ pullrequest (push) Has been cancelled
* refactor: clean-up

* refactor: extra logs plus try-catch

* refactor: do not use bare `except`

* refactor: clean-up redundant fields

* chore: pass code checks

* chore: code format

* refactor: code clean-up

* fix: refactoring stuff

* refactor: remove un-used file

* chore: code clean-up

* chore: code clean-up

* chore: code-format fix

* refactor: remove nostr.client wrapper

* refactor: code clean-up

* chore: code format

* refactor: remove `RelayList` class

* refactor: extract smaller methods with try-catch

* fix: better exception handling

* fix: remove redundant filters

* fix: simplify event

* chore: code format

* fix: code check

* fix: code check

* fix: simplify `REQ`

* fix: more clean-ups

* refactor: use simpler method

* refactor: re-order and rename

* fix: stop logic

* fix: subscription close before disconnect

* chore: play commit
2023-11-01 17:46:42 +02:00
Vlad Stan
e6624f76bd
Performance improvements (#19)
* fix: increase the wait time for re-connecting to a relay

* fix: blocking sleep

* fix: remove blocking sleep

* fix: allow multiple filters per request
2023-09-12 15:06:28 +03:00
Vlad Stan
ce8b95c2c7 feat: restart disconnected relays 2023-06-26 10:21:06 +03:00
Vlad Stan
e04629db22 refactor: rename services to router 2023-06-23 11:18:09 +03:00
Vlad Stan
99022f2b4a refactor: extract nostr to __init__ 2023-06-23 11:15:57 +03:00
Vlad Stan
e35dafe056 refactor: make some fields static 2023-06-23 11:08:52 +03:00
Vlad Stan
defb9b8963 chore: code clean-up 2023-06-22 17:10:34 +03:00
Vlad Stan
4238be498f chore: code clean-up 2023-06-22 13:19:22 +03:00
Vlad Stan
666009720a chore: code clean-up 2023-06-22 10:22:13 +03:00
Vlad Stan
09d2fc0493 refactor: add_relay logic 2023-06-22 10:02:15 +03:00
Vlad Stan
b5d98910db chore: code format 2023-05-05 10:12:49 +03:00
callebtc
33df69c73a fix endless loop 2023-04-17 15:47:03 +02:00
callebtc
a37b4f01d5 Merge branch 'main' into resusbscribe_on_add 2023-04-11 15:48:07 +02:00
callebtc
e0938cb760 resubscribe when a new relay is added 2023-04-11 15:47:21 +02:00
Vlad Stan
1e4ea75b00 fix: exclude /nostr from code format 2023-03-23 10:58:52 +02:00
Vlad Stan
f369e2fdac Revert "chore: code format"
This reverts commit 619e0f05e2.
2023-03-23 10:57:29 +02:00
Vlad Stan
619e0f05e2 chore: code format 2023-03-23 10:35:45 +02:00
callebtc
d67133ae61 refactor nostrclient 2023-03-21 16:17:04 +01:00
dni ⚡
bb1941445d
improve frontend, no reloading. types in views_api, formatting 2023-03-19 10:04:06 +01:00
callebtc
cba039d041 EOSE works 2023-03-09 14:42:31 +01:00
callebtc
8a6adb4768 refactor nostrrouter and rewrite subscription ids 2023-03-09 13:26:07 +01:00
callebtc
87d93c78cf wss only 2023-03-08 16:51:54 +01:00
callebtc
d504146f91 admin check and thread as daemon 2023-02-17 16:13:06 +01:00
callebtc
4feb366493 update 2023-02-13 16:14:52 +01:00
callebtc
b188fbc673 move submodule 2023-02-13 15:27:59 +01:00
callebtc
69bf22c9ec init 2023-02-10 14:55:30 +01:00