709 Commits

Author SHA1 Message Date
fiatjaf
6cffcc3b47 sdk: make it so replaceable stuff is automatically reloaded from time to time. v0.47.3 2025-01-17 18:21:19 -03:00
fiatjaf
3fd33ce281 fix locking on generic list and set fetching, decrease dataloader batch size, test. 2025-01-17 17:39:24 -03:00
fiatjaf
3e1c0ddc7e fix pinging relays: use the main relay context, not the relay connection temporary context. v0.47.2 2025-01-17 14:08:54 -03:00
fiatjaf
06a15fdaab follow list fetching test and related changes and fixes.
- make BatchedSubManyEose() use a single duplicate id index and use it for replaceable loaders;
- fixes parsing follow entry from kind:3 events (and others);
- adds a "cause" to most cancelation errors in relay/pool;
- remove the inherent cache from dataloader (we have our own hopefully);
- increase max frame size we can read from any websocket to 2**18 (262k), which gives over 2000 item lists.
v0.47.1
2025-01-17 13:44:51 -03:00
fiatjaf
adb97d46a7 NormalizeURL() shouldn't lowercase paths. v0.47.0 2025-01-16 20:08:49 -03:00
fiatjaf
7be028ff7c sdk: test and fix encode/decode relay lists. 2025-01-16 17:53:44 -03:00
fiatjaf
956868e956 sdk: clarify event tracker functions. 2025-01-16 17:47:31 -03:00
fiatjaf
febf022124 add some basic sdk tests, fix saving hints (normalize urls), checkduplicates arg order, kvdb stuff and other things. 2025-01-16 17:39:16 -03:00
fiatjaf
46569b6ef4 sdk: actually no, let's store all relay urls together in the same kvdb key. 2025-01-16 11:30:14 -03:00
fiatjaf
4cf9631c28 sdk: use a prefix iterator on kvdb for storing relay urls associated with ids. 2025-01-16 10:25:00 -03:00
fiatjaf
e1971d12c0 WithCheckDuplicate(), let's see if this works. 2025-01-15 14:29:38 -03:00
fiatjaf
ba38c28b99 sdk: track event relays on kvstore. 2025-01-15 14:29:38 -03:00
fiatjaf
795f9516ae use @mmalmi json string preparsing speedup for duplicate events
- get rid of "nonUnique" variants of subMany as we can now relay on CheckDuplicate to track relays.
- add global pool tracker duplicateMiddleware.
2025-01-15 14:29:38 -03:00
fiatjaf
faa4fabffe sdk: setup KVStore. 2025-01-15 14:29:35 -03:00
fiatjaf
e89b817f7d sdk: remove skipFetch from fetchGenericList() 2025-01-15 14:26:53 -03:00
ZigBalthazar
ddd8976d3f fix: add retention to nip-11 2025-01-14 12:26:16 -03:00
1l0
cb9e554fc9 nip22: prevent panic, return nil if not found according to nip10.go 2025-01-13 11:06:03 -03:00
fiatjaf
8fb5cd112d add nip40 helper. v0.46.0 2025-01-12 21:29:39 -03:00
fiatjaf
de19a457e3 sdk: rename and adjust BatchSizePerNumberOfQueries() -> PerQueryLimitInBatch(). 2025-01-12 21:29:39 -03:00
fiatjaf
7be4b02236 sdk: BatchSizePerNumberOfQueries() 2025-01-12 21:29:39 -03:00
fiatjaf
36ddf1eb36 sdk: FetchSpecific from input string or from a pointer. 2025-01-12 21:29:39 -03:00
Alessio Perugini
967a08fb65 nip17: fix nil pointer
Fixes a nil pointer when the Publish succeeds.
In that case the err is nil, and calling .Error() on nil causes a nil
pointer exception.
Reproduced at: https://play.golang.com/p/ps8d82Qt9kO
2025-01-05 12:11:04 -03:00
fiatjaf
defc349e57 use coder/websocket for everything, get rid of gobwas.
supposedly it is faster, and anyway it's better to use it since we're already using it for wasm/js.

(previously named nhooyr/websocket).
2025-01-03 01:15:17 -03:00
fiatjaf
b33cfb19fa rename option pool.WithQueryMiddleware() to pool.WithAuthorKindQueryMiddleware(). 2025-01-03 00:12:34 -03:00
fiatjaf
668720f4bc sdk: forgot to create replaceable/addressable loader slices. 2025-01-03 00:12:14 -03:00
fiatjaf
5875b644a2 sdk: fetching sets. 2025-01-02 12:19:06 -03:00
reis
63919cf685
support wasm (#163) 2025-01-02 09:42:04 -03:00
fiatjaf
a7a66add61 sdk: fix references test. 2025-01-01 20:55:12 -03:00
fiatjaf
c2c08ab6bc more list fetchers. 2025-01-01 18:16:36 -03:00
fiatjaf
159e5d21e6 some mildly useful helpers for pointers in general. 2025-01-01 17:59:02 -03:00
fiatjaf
acf63fa7cd fetchspecificevent also accepts a hex id and saves hints. 2025-01-01 17:59:02 -03:00
fiatjaf
08d6943dd1 references returns an iterator because why not? 2025-01-01 17:59:02 -03:00
dtonon
dcd5030fcd Add NIP-22 support 2025-01-01 17:58:51 -03:00
fiatjaf
ef0717afb6 add nip14.GetSubject() 2024-12-31 22:45:14 -03:00
fiatjaf
a4bae38f68 add nip92 imeta parsing helper. 2024-12-29 14:07:21 -03:00
fiatjaf
91efcb3825 remove support for extra fields in events -- was deprecated. 2024-12-28 14:19:28 -03:00
fiatjaf
053b3afee7 ignore libsecp256k1 dir so it doesn't show on code searches. 2024-12-26 17:05:49 -03:00
fiatjaf
46645ad4d6 vendor libsecp256k1 so it doesn't depend on a shared library. 2024-12-26 17:05:17 -03:00
fiatjaf
95ddacb9f3 sdk: track query attempts automatically and other small tweaks to replaceable fetching and stuff. v0.45.0 2024-12-24 00:15:10 -03:00
fiatjaf
3b3d5cce7b sdk/hints: adapt sqlite to also support postgres. 2024-12-23 18:48:29 -03:00
fiatjaf
9aac901c03 sdk/hints/sqlite: unceremoniously rename table to nostr_sdk_pubkey_relays. v0.44.2 2024-12-23 10:02:06 -03:00
fiatjaf
1778706817 add nip23 markdown helper. 2024-12-23 09:17:51 -03:00
fiatjaf
d0476edd06 nip19: guard against broken TLVs.
fixes https://github.com/nbd-wtf/go-nostr/issues/161
2024-12-18 11:53:14 -03:00
fiatjaf
2dba8fc3e0 fix count test from hll breaking change. 2024-12-17 13:31:53 -03:00
fiatjaf
ade3996fbf nip77: simplify direction selection. 2024-12-17 13:30:49 -03:00
Gabriel Moura
b02f0d6537 implements direction to nip77 2024-12-17 13:26:03 -03:00
fiatjaf
f22d4b7692 make it clear that a message was _received_ from a given relay on log output. v0.44.1 2024-12-17 11:06:36 -03:00
fiatjaf
82b8602fa8 fix log_debug after jsoniter change. 2024-12-17 11:06:05 -03:00
fiatjaf
9cb853d6b1 nip46: fix IsValidBunkerURL because that regex was borked. 2024-12-17 11:05:43 -03:00
fiatjaf
11bdc95a37 nip46: label subscription. 2024-12-17 11:05:27 -03:00