This website requires JavaScript.
76e90481f4
nip60: dropping a token.
fiatjaf
2025-08-29 09:50:36 -03:00
7ac9e6290b
khatru: replace useless ApplySaneDefaults() with a set of pluggable "strict" defaults.
fiatjaf
2025-08-28 17:18:22 -03:00
43d6814daf
betterbinary: finally fix (well, a very hackish fix but should be ok) decoding events with way too many tags.
fiatjaf
2025-08-27 01:19:08 -03:00
80d0546ce6
we should be doing this since years ago: force an EOSE if the relay refuses to give us one.
fiatjaf
2025-08-25 22:42:05 -03:00
db2c1c7653
nip11: this relay pubkey doesn't have to be a pointer.
fiatjaf
2025-08-25 18:48:30 -03:00
72b5aa5051
lmdb: fix id logging when decoding fails.
fiatjaf
2025-08-25 18:46:58 -03:00
d345bb3529
betterbinary: prevent binary index overflow by casting the numbers to int (from uint16).
fiatjaf
2025-08-25 18:01:34 -03:00
a581d9677d
readme: add how to go get
1l0
2025-08-22 12:08:34 +09:00
6ab6b49940
nip11: omitempty all the things.
fiatjaf
2025-08-25 07:32:21 -03:00
926ed0830a
khatru: don't ratelimit localhost connections.
fiatjaf
2025-08-25 07:32:05 -03:00
69c0981b51
address closeMutex deadlock by canceling the relay connection context on doClose().
fiatjaf
2025-08-23 09:54:36 -03:00
c2635c1f20
eliminate ID option that was being ignored.
fiatjaf
2025-08-23 09:16:25 -03:00
31a590ee4f
fix sending on close channel with yet another mutex.
fiatjaf
2025-08-23 09:16:12 -03:00
6d4ef9df85
fix pool.FetchManyReplaceable() inverted logic.
fiatjaf
2025-08-22 19:07:44 -03:00
b88edca786
eventstore: fix lmdb storing the same event a million times.
fiatjaf
2025-08-22 17:58:32 -03:00
f0c95d6860
more tweaks to kinds schema.
fiatjaf
2025-08-22 17:58:48 -03:00
6737398375
eventstore: cli "count" command.
fiatjaf
2025-08-22 14:08:24 -03:00
3eaf02ff6a
schema: add many more kinds.
fiatjaf
2025-08-21 17:40:25 -03:00
cd82cd7ce7
event typechecker.
fiatjaf
2025-08-19 16:31:56 -03:00
c8d5aa703f
update gonuts dependency (following go-nostr 6de0bc60).
fiatjaf
2025-08-18 20:51:02 -03:00
0f8a586593
lmdb: do the initial pull immediately, no need for a secondary loop.
fiatjaf
2025-08-12 14:42:24 -03:00
5d42b2f857
nest okcallbacks so they're called one by one.
fiatjaf
2025-08-06 15:13:55 -03:00
960312bd74
eliminate duplicates in PublishMany()
fiatjaf
2025-08-06 00:37:39 -03:00
24b10ba2a5
eventstore: up limit to 10 on ReplaceEvent()
fiatjaf
2025-08-06 00:28:21 -03:00
92f6f75388
eventstore: fix yield() usage on ReplaceEvent()
fiatjaf
2025-08-05 23:58:13 -03:00
4c459d70ba
eventstore: add basic ReplaceEvent() test.
fiatjaf
2025-08-05 23:57:38 -03:00
4a7e893b80
eventstore: add boltdb support to cli.
fiatjaf
2025-08-05 23:40:23 -03:00
414e836eaa
eventstore: more fuzz test false alarms.
fiatjaf
2025-08-05 23:02:04 -03:00
030cad168d
eventstore: fuzz testing found us a bug!
fiatjaf
2025-08-05 22:56:55 -03:00
47ca205e9e
boltdb: it works!
fiatjaf
2025-08-05 16:25:55 -03:00
144f4a4740
eventstore: fix migrations annoyingly rerunning.
fiatjaf
2025-08-05 13:09:50 -03:00
d79793c0f4
eventstore: boltdb (copied from lmdb)
fiatjaf
2025-08-05 07:40:10 -03:00
34225e5dfe
mmm: run it on the eventstore/test suite and fix id query logic.
fiatjaf
2025-08-05 07:36:20 -03:00
17c3d19a98
eventstore: remove useless sanity checking since event fields are already typed.
fiatjaf
2025-08-05 00:04:27 -03:00
7e6a0eb614
mmm: copy new lmdb querying mechanism because it's so much more elegant.
fiatjaf
2025-08-04 23:37:03 -03:00
e87e5a3fb8
lmdb: some random fuzz test samples.
fiatjaf
2025-08-04 23:21:16 -03:00
0291836eb7
lmdb: various fixes so query works.
fiatjaf
2025-08-04 22:06:31 -03:00
a4ebd32477
lmdb: implement simple query by id part.
fiatjaf
2025-08-04 17:39:59 -03:00
1cd48343d6
fix quickselect.
fiatjaf
2025-08-04 17:29:12 -03:00
2750ae3751
lmdb: new querying mechanism.
fiatjaf
2025-08-04 15:16:38 -03:00
6bda63de17
eventstore: delete badger, it's too buggy.
fiatjaf
2025-08-04 12:23:43 -03:00
50c9ea3867
nip23: the renderer is not goroutine-safe so it can't be reused.
fiatjaf
2025-08-04 12:01:02 -03:00
83c34daa8b
OK callbacks that still work even if the same event is published twice.
fiatjaf
2025-07-30 15:06:30 -03:00
788225b902
fix emitting duplicate events in pool.SubMany()
fiatjaf
2025-07-30 07:09:14 -03:00
88096fbd84
khatru: allow disabling expiration manager.
fiatjaf
2025-07-28 22:06:12 -03:00
a4d8491d2d
nip46: AuthorizeSigning returns an error for better debuggability.
fiatjaf
2025-07-28 17:31:13 -03:00
9a15d220b0
nip46: reword invalid pubkey hex messages.
fiatjaf
2025-07-28 09:36:31 -03:00
bb72af908f
nip53: typed participant pubkey.
fiatjaf
2025-07-28 09:35:37 -03:00
24060da1dd
khatru: better error on nip86 "u" tag mismatch.
fiatjaf
2025-07-28 09:35:22 -03:00
0bc8e159ff
slightly better readme.
fiatjaf
2025-07-25 22:53:47 -03:00
0816e89b32
nip65 helpers.
fiatjaf
2025-07-25 09:50:00 -03:00
2875648ee3
handle wot filter error.
fiatjaf
2025-07-24 13:25:08 -03:00
ae076a7be2
nip46: hopefully fix "send on closed channel" cases on client responses.
fiatjaf
2025-07-21 17:21:30 -03:00
e164b49aad
nip46: ParseBunkerInput() for allowing NewBunker() to be used without calling "connect".
fiatjaf
2025-07-19 11:52:09 -03:00
68b0caf2ab
khatru: improve ephemeral ok message when handled internally.
fiatjaf
2025-07-19 11:51:44 -03:00
9f0376692b
nip46: dynamic bunker can't rely on a secret to be persistent or "connect" to be always sent, that's a job for the implementor.
fiatjaf
2025-07-18 14:37:18 -03:00
7cbca5f040
nip46: dynamic signer to store sessions associated with the handler pubkey to prevent stupid bugs when the same client try to use two different bunkers.
fiatjaf
2025-07-18 14:36:42 -03:00
33838a4801
khatru: optional ChallengePrefix.
fiatjaf
2025-07-17 16:46:44 -03:00
840e2846ed
khatru: fix eose waitgroup count for multiple filters.
fiatjaf
2025-07-15 13:14:59 -03:00
6592319774
stop exposing connection, more debugLog calls and properly fail subscriptions when a relay dies.
fiatjaf
2025-07-13 14:21:15 -03:00
9f8b810882
fix main relay context being canceled instead of just the dial context.
fiatjaf
2025-07-11 13:01:04 -03:00
dcd505712a
fix one nip19 test bug.
fiatjaf
2025-07-10 23:01:36 -03:00
7289da9c72
improve/refactor websocket connections hoping this will fix the undetected disconnections we're seeing.
fiatjaf
2025-07-10 22:50:49 -03:00
9dc89517ee
nip44: remove size limits.
fiatjaf
2025-01-27 16:33:54 -03:00
5e04ad692d
get rid of useless justfile.
fiatjaf
2025-07-07 18:48:38 -03:00
33cfe816ac
nip86: fix type on pubkey response.
fiatjaf
2025-07-07 12:28:29 -03:00
09d71a059e
update websocket library hoping locking bugs will be fixed.
fiatjaf
2025-07-05 11:12:41 -03:00
f59def9b05
nip44: prettier variable names.
fiatjaf
2025-07-04 23:39:04 -03:00
98f95fca15
check for validity of secret key when parsing from hex.
fiatjaf
2025-07-01 10:57:50 -03:00
ca03dc60f7
eventstore/lmdb,mmm: fix key size for "a"-style tags.
fiatjaf
2025-06-29 22:20:30 -03:00
5f4a966d45
nip61: this function was taking an event pointer.
fiatjaf
2025-06-29 21:44:09 -03:00
32df8e407a
eventstore/mmm: we added another db on layers.
fiatjaf
2025-06-29 21:43:50 -03:00
028a1637fb
nip46: handle ok=false from RPC calls better for instant failure.
fiatjaf
2025-06-27 13:51:01 -03:00
56568bdeed
fix length checks from previous commit.
fiatjaf
2025-06-27 13:24:03 -03:00
67c787c8d3
guard event and filter decoders against bad-sized hexes.
fiatjaf
2025-06-25 11:10:48 -03:00
027d016d97
khatru: the accioly blossom redirect patch, reworked.
fiatjaf
2025-06-10 16:43:05 -03:00
50a753504d
khatru: hodlbod's nip86 fixes.
fiatjaf
2025-06-10 16:01:37 -03:00
cc6ec3af73
simpler migrations (just reindex everything) and migrations on mmm.
fiatjaf
2025-06-10 14:00:38 -03:00
e9a08d669e
eventstore: index tag letter together with the value.
fiatjaf
2025-06-10 13:46:29 -03:00
287d8c23c7
eventstore: add some basic tests.
fiatjaf
2025-06-10 13:28:35 -03:00
e12f2b3f90
nip27: fix ws:// parsing.
fiatjaf
2025-06-08 10:53:15 -03:00
96125dd6f0
khatru: SendNotice() util.
fiatjaf
2025-06-08 07:15:02 -03:00
9cad1f0a5b
evenstore/mmm: fix wrong limit being read in queries.
fiatjaf
2025-06-08 07:14:48 -03:00
7a1292b58b
handle files declared as .apk as .apk.
fiatjaf
2025-06-03 19:01:18 -03:00
28f85c9ea3
fix sending request header.
fiatjaf
2025-05-30 10:09:03 -03:00
ba91afc128
Pointer cannot hold a pointer so it can't be a hidden nil.
fiatjaf
2025-05-25 15:58:18 -03:00
f38ce069a9
fix type assertions from [32]byte to nostr.PubKey or nostr.ID.
fiatjaf
2025-05-22 08:52:45 -03:00
d3fb25441a
nip19: EncodeNsec should not return an error.
fiatjaf
2025-05-20 23:21:39 -03:00
dec141b52e
fix easyjson event encoding quotes.
fiatjaf
2025-05-17 21:43:21 -03:00
81fd999a8d
fix tests in a bunch of places.
fiatjaf
2025-05-17 10:43:30 -03:00
df5f42aa5e
remove unnecessary nil check.
fiatjaf
2025-05-17 10:32:17 -03:00
29cf3c7c6e
simplify easyjson even more, rename functions, assume ids and pubkeys will always be safe hex strings that do not need to be escaped and eliminate unnecessary variables that would probably be eliminated by the compiler anyway.
fiatjaf
2025-05-15 15:01:51 -03:00
16aa5c95f3
simplify easyjson parser logic by assuming there will be no nulls.
fiatjaf
2025-05-15 14:00:03 -03:00
a37b513477
nipb0/blossom: UploadFile() -> UploadBlob(), os.File is a io.ReadSeeker.
fiatjaf
2025-05-14 23:41:09 -03:00
f9e2907a97
fix GetTheoreticalLimit() buggy logic.
fiatjaf
2025-05-12 12:23:24 -03:00
7b1f4ae49a
fix types so tests compile.
fiatjaf
2025-05-12 09:34:25 -03:00
f4855dba4e
BatchedSubManyEose => BatchedQueryMany
fiatjaf
2025-05-12 09:25:02 -03:00
6d44b5b0dc
pool.BatchedSubscribeMany()
fiatjaf
2025-05-12 06:13:21 -03:00
65411a10c8
eventstore: fix maxLimit handling when filter.Limit is unset.
fiatjaf
2025-05-12 06:12:58 -03:00
9a0b263ecc
keyer: New() to deal slightly better with hex secret keys.
fiatjaf
2025-05-12 05:59:55 -03:00