ohhh I just logged into your relay and it sent ALL the past versions of your own 10002 events. There are 44 10002 events coming down to Amethyst just for yourself. For each one of the 43 outdated events, Amethyst replies with the new one.

nostr:nprofile1qqsw9n8heusyq0el9f99tveg7r0rhcu9tznatuekxt764m78ymqu36cpz4mhxue69uhhyetvv9ujuat50phjummwv5hszymhwden5te0wahhgtn4w3ux7tn0dejj7qg4waehxw309an8yetwwvh82arcduhx7mn99uuwx66a something is wrong with haven's replaceable code. A filter by kind 10002 should only return the latest event, not all versions.

You can test it here: https://lightningk0ala.github.io/nostr-wtf/query

with filter: [{"kinds": [10002]}]

Reply to this note

Please Login to reply.

Discussion

Yep I saw this too, I will have a fix for it this week. Ty gentz

Hi nostr:nprofile1qqs827g8dkd07zjvlhh60csytujgd3l9mz7x807xk3fewge7rwlukxgpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszrnhwden5te0dehhxtnvdakz7qgswaehxw309ahx7um5wghx6mmd9usjfpck, I’m sorry to bother you, but I’ve just confirmed that Citrine is also experiencing the “store more than one replaceable event per kind and pubkey” issue as described by nostr:nprofile1qqsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqppemhxue69uhkummn9ekx7mp0qythwumn8ghj7anfw3hhytnwdaehgu339e3k7mf0qyghwumn8ghj7mn0wd68ytnhd9hx2tch2deau below.

nostr:nevent1qqszpw6fuypscee284eap44kjcrusvdl97jrhpd0xkrwq3wfmcc9ndspypmhxue69uhksctkv4hzuctrvd5k7mre9eek7cmfv9kz76twvfhhsq3qgcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqxpqqqqqqzrnj7sq

I have the delete events option enabled, but Citrine is still returning more than one kind 10002 event for my pubkey.

Since folks may not want to open Citrine to the internet, I wrote a quick script with `nostr-tools` (sorry, I’m not a JavaScript person at all) to reproduce the problem below. Just replace the IP address and pubkey. My local Citrine instance is currently storing and returning several different kind 10002 events for my pubkey.

```javascript

import WebSocket from 'ws'

import { Relay, useWebSocketImplementation } from 'nostr-tools/relay'

useWebSocketImplementation(WebSocket);

const relay = await Relay.connect('ws://192.168.1.1:4869');

console.log(`connected to ${relay.url}`)

const pk = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

let eventCount = 0

relay.subscribe([

{

kinds: [10002],

authors: [pk],

},

], {

onevent(event) {

console.log('got event:', event)

eventCount++

},

oneose() {

console.log('Got', eventCount, 'events')

relay.close()

}

})

```

Could you please have a look when you have a chance?

nostr:nprofile1qqsw9n8heusyq0el9f99tveg7r0rhcu9tznatuekxt764m78ymqu36cpz4mhxue69uhhyetvv9ujuat50phjummwv5hszymhwden5te0wahhgtn4w3ux7tn0dejj7qg4waehxw309an8yetwwvh82arcduhx7mn99uuwx66a and nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hszxmhwden5te0wfjkccte9emk2um5v4exucn5vvhxxmmd9uq3xamnwvaz7tmhda6zuat50phjummwv5hsx7c9z9 are also currently working on fixing this in HAVEN + katru.

#devstr

Nevermind I see it on desktop but not phone

Check the notes I’ve tagged you in over the past few days. If you want to reproduce the problem yourself, just add a relay to your Inbox/Outbox list using Amethyst, save it, and sign the new 10002 event. Repeat this a few times and either use Vitor’s filter above or my "Citrine fix" script. Both will return more than one kind 10002 event.

Also, it seems Haven is accepting but silently ignoring Kind 5 Deletion Requests, so my script doesn’t fix the issue. Deleting the Outbox database and reimporting notes from well-behaved relays does fix the problem.

Delete is fixed now on the inbox relay

Fiatjaf still working on kind 10002