395 Commits

Author SHA1 Message Date
96423e9d03 wip 2024-01-01 13:07:25 -03:00
5938a71146 replace close() with actually sending a value to .EndOfStoredEvents and .Closed channels.
I thought `close()` would be nice because it would be cheap and not lock the goroutine while waiting for the receiver to acknowledge the thing, but turns out it introduces the serious risk of users putting <- sub.EndOfStoredEvents in the same for { select {} } statement as sub.Events, for example, and they they get into an infinite loop.

we had this same problem here inside this same library, and what is fixed in 242af0bf76 by @mattn.
2024-01-01 10:18:16 -03:00
3afa6fc5f6 update reflect/unsafe.String thing. 2024-01-01 10:15:06 -03:00
7692f1c148 go mod tidy v0.27.5 2023-12-29 18:16:58 -03:00
45bdd193c5 Tags.GetD() 2023-12-29 18:10:56 -03:00
8b1839bfc1 remove dependency for github.com/dgraph-io/ristretto/z
dgraph-io/ristretto use google/glog. glog rewrites flags on its own, which
causes unexpected behaviour.
2023-12-29 18:10:31 -03:00
781aecc6ac binary/hybrid Marshal() fails if event has any items over the limits. v0.27.3 2023-12-22 19:33:30 -03:00
f1980e8b7a expose max limits allowed for binary format event fields. 2023-12-22 18:18:44 -03:00
2f514d5026 remove unnecessary mutex. 2023-12-15 14:15:37 -03:00
f60b70eb5e update go version v0.27.2 2023-12-14 16:07:46 -03:00
242af0bf76 fix heavy loop 2023-12-14 16:07:46 -03:00
c55b509653 binary: fix encoding, was using uint8 for tags length, which was obviously not working. v0.27.1 2023-12-10 21:13:34 -03:00
7ecbc0a7cf binary: move benchmarks to different test file. 2023-12-10 21:12:54 -03:00
e73b784501 update example in README. 2023-12-09 14:40:39 -03:00
fabd5160a8 fix sign in relay test just recently updated. v0.27.0 2023-12-09 13:26:50 -03:00
3e1749a01d fix OK handling. 2023-12-09 13:21:35 -03:00
1bccebbf2a fix ParseMessage() so it works with CLOSED and improve tests. 2023-12-09 11:29:14 -03:00
64eb395dc1 fix tests that relied on the defunct PublishStatus enum. 2023-12-07 21:39:43 -03:00
b2170efb5a support performing AUTH in the middle of SimplePool's subMany* 2023-12-07 21:37:41 -03:00
f8fa490293 get rid of PublishStatus and always expect relays to answer with an OK for both AUTH and EvENT publishes. 2023-12-07 21:31:40 -03:00
f9f3a34ccc nip46: fix variable name (was using the shared key as the secret key.) v0.26.4 2023-12-02 15:31:26 -03:00
15f026d2c5 exponential backoff on SimplePool reconnections and only update since once. 2023-12-02 15:12:45 -03:00
0e0ecb2412 refactor SimplePool automatic reconnection. 2023-12-02 14:59:16 -03:00
a65bd94a00 minor. v0.26.3 2023-12-02 14:38:18 -03:00
32c1969397 simplify pre-eose cleanup in pool.subMany() 2023-12-02 14:37:32 -03:00
cb8b40bd00 reconnect 2023-12-02 14:36:16 -03:00
a9972245f3 nip04: augment tests with cross-compatibility vectors. 2023-12-02 13:13:32 -03:00
2b9b4dfa2f nip46: rename Pool to Signer. v0.26.2 2023-12-01 20:50:00 -03:00
c606a43c07 fix atrocious bug on pool.subMany(): we were missing events because of a badly designed select{} 2023-12-01 20:49:45 -03:00
2969449fb3 nip46: make everything strings because pablo did it like that. 2023-12-01 17:23:59 -03:00
277cdd8df8 nip46: improvements. 2023-12-01 17:20:29 -03:00
73d5e943e2 nip-46 signer flow helpers. 2023-12-01 16:15:24 -03:00
711db062a1 primitive support for CLOSED in SimplePool. 2023-12-01 13:37:24 -03:00
775821f4e5 fix CLOSED->CLOSE marshaling on CloseEnvelope. v0.26.1 2023-12-01 12:57:18 -03:00
3adb1cde3c only store the last AUTH challenge and allow user to perform auth only whenever they want instead of automatically. v0.26.0 2023-11-28 22:30:16 -03:00
0c5a1b7b4f move internal utilts to helpers.go 2023-11-28 22:24:05 -03:00
ddc50028c3 add NormalizeOKMessage() helper. 2023-11-28 22:23:51 -03:00
7449f254db support handling CLOSED messages from relay client. 2023-11-28 18:54:24 -03:00
fa20f84ec7 support CLOSED messages. 2023-11-28 18:25:46 -03:00
b6ec7327ef easyjson on filter.String() 2023-11-28 15:14:35 -03:00
cd0d644046 If EOSE is not given, they should not be deleted. 2023-11-24 10:33:08 -03:00
ba25770f65 seenAlready must drop older events 2023-11-24 10:33:08 -03:00
8a540998b9 nip11 fetch better errors. 2023-11-20 14:59:12 -03:00
f3c081fcd6 remove nip11 min_prefix. 2023-11-18 10:43:29 -03:00
b33fe374c1 nip11's info.AddSupportedNIP() v0.25.7 2023-11-18 10:32:15 -03:00
fe32ecd440 nip11: "restricted_writes". v0.25.6 2023-11-18 09:42:19 -03:00
0cfaa0da0a ensure private key is 64 characters long.
fixes https://github.com/nbd-wtf/go-nostr/issues/111
v0.25.5
2023-11-17 09:27:16 -03:00
307df51b9a use xsync maps for pool relays to prevent concurrent access panics. 2023-11-16 14:51:33 -03:00
9287b9fb5e accept > 2 items on EOSE and NOTICE envelopes, but ignore them.
fixes https://github.com/nbd-wtf/go-nostr/issues/110
v0.25.4
2023-11-14 15:45:52 -03:00
93b43ed426 add infolog for when a relay sends an unexpected OK message.
this can be indicative of either us or the relay miscalculating the event id.
2023-11-08 22:22:30 -03:00