Commit Graph

424 Commits

Author SHA1 Message Date
fiatjaf 7fb0ffca6b nip34: allow multiple entries in web/clone/relays tags. 2024-02-08 17:38:06 -03:00
fiatjaf c362be0e82 nip34: get patches from repo. 2024-02-08 16:33:52 -03:00
fiatjaf 9c4ea87d0b use stdlib "slices". 2024-02-08 16:33:39 -03:00
fiatjaf 555197973b RelayStore interface (copied from eventstore) and MultiStore. 2024-02-08 15:54:55 -03:00
fiatjaf 385aa9c958 draft nip-34 helpers. 2024-02-07 21:44:47 -03:00
fiatjaf 60359110d7 nip46: client. 2024-02-06 00:45:36 -03:00
fiatjaf 09ea5d5758 subscription.EndOfStoredEvents to have a capacity of 1 so it never gets deadlocked. 2024-01-28 14:34:05 -03:00
fiatjaf 58ff5f6716 nip49: encrypt before decrypt. 2024-01-25 10:43:40 -03:00
fiatjaf 84134f7d8e nip49: remove dangling fmt.Println() 2024-01-23 10:14:12 -03:00
fiatjaf 20104e47ec NIP-34 code for contributions. 2024-01-23 10:13:58 -03:00
fiatjaf 39f541fc03 implement nip49. 2024-01-22 22:27:13 -03:00
fiatjaf fb92dc49dd nip29: smarter access control rules for moderation actions. 2024-01-18 21:06:43 -03:00
fiatjaf 2586144a5c replace usage of IsValidPublicKeyHex() in subpackages. 2024-01-18 20:30:20 -03:00
fiatjaf 9457c5a794 fix IsValidPublicKey() to use schnorr. 2024-01-18 17:56:54 -03:00
fiatjaf 70f719ea31 IsValidPublicKey() and IsValid32ByteHex() replacing IsValidPublicKeyHex() 2024-01-18 16:27:56 -03:00
fiatjaf 1a7b8991a3 pool: deduplicate relay urls list. 2024-01-18 11:49:16 -03:00
fiatjaf 4dc6e21f60 nip29: join request. 2024-01-18 11:48:43 -03:00
fiatjaf 1ff7f826c2 nip11: url normalization improvement and Fetch test. 2024-01-13 12:46:59 -03:00
fiatjaf fed7e4c3f2 add nip53. 2024-01-10 12:10:53 -03:00
fiatjaf 88bb00604c nip52: add image. 2024-01-10 12:07:23 -03:00
fiatjaf 1800f2e590 add nip31, nip52, nip94. 2024-01-10 10:09:17 -03:00
fiatjaf 7b292775c0 migrate to xsync/v3
closes https://github.com/nbd-wtf/go-nostr/issues/117
2024-01-10 06:54:53 -03:00
fiatjaf fd8b2b22b2 nip-46 dynamic and static signers. 2024-01-09 17:20:14 -03:00
fiatjaf ce424619f4 nip05: add nip46 field. 2024-01-06 08:07:28 -03:00
fiatjaf 8da32e6dfc nip29: NewGroup() doesn't set timestamps to now. 2024-01-04 21:46:10 -03:00
fiatjaf 48db1df66c nip29: refine group-events relationships and write some tests. 2024-01-04 15:01:29 -03:00
fiatjaf ed3642f112 nip29: move some things back from nip29/relay to nip29 2024-01-04 15:01:26 -03:00
fiatjaf 3fecd03ed4 nip29: move relay-specific stuff to nip29/relay 2024-01-04 11:33:36 -03:00
fiatjaf e4b4654e66 nip29: bring in helpers for managing groups to be used on the relay side. 2024-01-04 11:33:33 -03:00
fiatjaf f1c71134e3 experimental nip29 support. 2024-01-02 17:23:34 -03:00
fiatjaf 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
fiatjaf 3afa6fc5f6 update reflect/unsafe.String thing. 2024-01-01 10:15:06 -03:00
fiatjaf 7692f1c148 go mod tidy 2023-12-29 18:16:58 -03:00
fiatjaf 45bdd193c5 Tags.GetD() 2023-12-29 18:10:56 -03:00
Yasuhiro Matsumoto 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
fiatjaf 781aecc6ac binary/hybrid Marshal() fails if event has any items over the limits. 2023-12-22 19:33:30 -03:00
fiatjaf f1980e8b7a expose max limits allowed for binary format event fields. 2023-12-22 18:18:44 -03:00
fiatjaf 2f514d5026 remove unnecessary mutex. 2023-12-15 14:15:37 -03:00
Yasuhiro Matsumoto f60b70eb5e update go version 2023-12-14 16:07:46 -03:00
Yasuhiro Matsumoto 242af0bf76 fix heavy loop 2023-12-14 16:07:46 -03:00
fiatjaf c55b509653 binary: fix encoding, was using uint8 for tags length, which was obviously not working. 2023-12-10 21:13:34 -03:00
fiatjaf 7ecbc0a7cf binary: move benchmarks to different test file. 2023-12-10 21:12:54 -03:00
fiatjaf e73b784501 update example in README. 2023-12-09 14:40:39 -03:00
fiatjaf fabd5160a8 fix sign in relay test just recently updated. 2023-12-09 13:26:50 -03:00
fiatjaf 3e1749a01d fix OK handling. 2023-12-09 13:21:35 -03:00
fiatjaf 1bccebbf2a fix ParseMessage() so it works with CLOSED and improve tests. 2023-12-09 11:29:14 -03:00
fiatjaf 64eb395dc1 fix tests that relied on the defunct PublishStatus enum. 2023-12-07 21:39:43 -03:00
fiatjaf b2170efb5a support performing AUTH in the middle of SimplePool's subMany* 2023-12-07 21:37:41 -03:00
fiatjaf 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
fiatjaf f9f3a34ccc nip46: fix variable name (was using the shared key as the secret key.) 2023-12-02 15:31:26 -03:00