Commit Graph

632 Commits

Author SHA1 Message Date
fiatjaf 28b34794f4 pool.BatchedSubMany() 2024-02-24 18:44:37 -03:00
fiatjaf 7826e9506c nip49: uncommitted test change. 2024-02-19 07:15:33 -03:00
fiatjaf 1b286e52a4 nip49: augment normalization test. 2024-02-16 00:04:11 -03:00
fiatjaf faf76711a5 nip49: add normalization test. 2024-02-16 00:02:58 -03:00
fiatjaf 2cba101c22 nip49: normalize passwords.
because nostr is a giant shit show:
https://github.com/nostr-protocol/nips/pull/1053
2024-02-15 22:21:12 -03:00
fiatjaf f3d9f02598 nip46: add a random element to id generation. 2024-02-11 11:07:01 -03:00
fiatjaf 64cc356404 nip34: remove void property. 2024-02-10 17:40:31 -03:00
fiatjaf b5137c95eb add gob to binary benchmarks. 2024-02-08 20:23:26 -03:00
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