Thread

Zero-JS Hypermedia Browser

Relays: 5
Replies: 4
Generated: 14:35:36
nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hszxmhwden5te0wfjkccte9emk2um5v4exucn5vvhxxmmd9us2xuyp and nostr:nprofile1qqsw9n8heusyq0el9f99tveg7r0rhcu9tznatuekxt764m78ymqu36cpr3mhxue69uhhyetvv9ujucnfw33k76twwpshy6ewvdhk6tcpzdmhxue69uhhwmm59e6hg7r09ehkuef0qy2hwumn8ghj7un9d3shjtn4w3ux7tn0dejj7ne6u4e I decided to take a snapshot of the database of my WoT Relay, exported all the notes to a JSONL file, and realized an interesting fact. Some notes appear in the Badger DB multiple times. They have the same ID but different sigs; they are all valid, but I'm not sure if this is desirable behavior or if it should be reported as a bug.
2025-10-29 18:31:03 from 1 relay(s) 2 replies ↓
Login to reply

Replies (4)

I think it's a bug, it should have matched by id only. But your report will be ignored because I've changed these database implementations multiple times (uncovering many bugs that lead to duplicated copies being stored) and in the end I've decided that I don't want to support Badger anymore. I'm surprised you even managed to export all the notes given that the version you're using would try to load everything into memory before printing and if you had too many that would cause a crash. On the other hand there was a hardcoded limit of a million notes per query when using the eventstore CLI that you couldn't bypass, I guess that prevents the crash.
2025-10-29 18:42:39 from 1 relay(s) ↑ Parent 1 replies ↓ Reply
I see, I see so Badger is a dead end... That is really good to know. Where do you recommend migrating? The export was a bit challenging, the hardcoded limit is actually 250k, but it can be bypassed by simply filtering by since and until.
2025-10-29 18:59:06 from 1 relay(s) ↑ Parent Reply
> Some notes appear in the Badger DB multiple times So I'm not the only one who has encountered this problem. In Chronicle I tried to fix it in the app itself, but I want to migrate back to lmdb. Or maybe test something completely different, like sqlite.
2025-10-29 20:40:37 from 1 relay(s) ↑ Parent 1 replies ↓ Reply