Commit Graph

721 Commits

Author SHA1 Message Date
fiatjaf 17431dee59 do not close relay connection when ping fails because some relays just do not pong. 2025-01-25 00:26:38 -03:00
fiatjaf 6daecc8bd2 sdk/hints: ok, we must have the db created wrongly first before we migrate it. 2025-01-25 00:21:01 -03:00
fiatjaf 1ff5647b2d sdk/hints: implement sql migrations. 2025-01-25 00:15:39 -03:00
fiatjaf 501b2a7679 sdk: FetchInboxRelays() 2025-01-24 14:35:24 -03:00
fiatjaf e69eeb8938 nip10: rename GetImmediateReply() -> GetImmediateParent(). 2025-01-23 17:52:26 -03:00
fiatjaf 550cf835be pointer.MatchesEvent() 2025-01-23 16:53:15 -03:00
fiatjaf 2d941907e3 sdk: fix fetching specific event from note1 codes. 2025-01-23 14:44:36 -03:00
fiatjaf 8d805b39bf sdk: fix missing preemptive fallback to blank pubkey on FetchProfileMetadata(). 2025-01-23 14:41:18 -03:00
fiatjaf 85c268b8e2 sdk: fix for when we have no record of ever trying to fetch replaceables. 2025-01-21 17:42:07 -03:00
fiatjaf df6aaa3ad3 sdk: test for feeds and a fix. 2025-01-20 13:45:43 -03:00
fiatjaf f992c6e7ea sdk: pubkey feeds, live and past pages. 2025-01-20 13:04:44 -03:00
fiatjaf 40538486d5 sdk/hints: use a single "hint" type instead of nprofile/nevent/tag/nip05. 2025-01-18 18:19:54 -03:00
fiatjaf 6cffcc3b47 sdk: make it so replaceable stuff is automatically reloaded from time to time. 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. 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.
2025-01-17 13:44:51 -03:00
fiatjaf adb97d46a7 NormalizeURL() shouldn't lowercase paths. 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. 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