I'm seeing a bunch of contact list events (kind: 3) that have relay data stuffed into the content field as JSON. AFAICT, that's not a pattern outlined anywhere in the nips repo... Am I wrong or are there some clients being lazy and not implementing relay lists properly?

nostr:npub1v0lxxxxutpvrelsksy8cdhgfux9l6a42hsj2qzquu2zk7vc9qnkszrqj49 nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s nostr:npub16c0nh3dnadzqpm76uctf5hqhe2lny344zsmpm6feee9p5rdxaa9q586nvr nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr

Reply to this note

Please Login to reply.

Discussion

some legacy code before relay list nip was created?

Yes its legacy, snort recently stopped doing this, so if you follow/unfollow on snort the content is blank now

We're using kind 10_002 exclusively now for relays

Pretty sure its legacy code. noStrudel keeps anything in the content of the kind:3 event even if it dose not understand it.

You should remove it going forward. 😈

Welcome to Nostr 2022! It's all old stuff that must die, but our apps break when we try to change from it. 🀦

hahahhahaa

these have been there forever; super hacky

Listr will begin enforcing proper order. The party will not be let down. 🫑

πŸ˜‚

I'm curious how they ended up in the contact list, this was from before my nostr journey, anyone knows?

#asknostr

It was a hack by me to get Branle (the first web client that had more than 2 users) working quickly because I wasn't sure about how to properly advertise relays or even what form that advertisement should take place.

The initial implementation was just very stupidly just asking all relays for all people you followed -- which kinda worked well since there were only ~3 relays and 15 users at the time. The long-term plan was to make an algorithm to decide in which relays each person was based on relay hints, kind:2 recommendations and manual tuning, but Branle was killed by IndexedDB before that.

Then the Gossip client came up and implemented that in a much better way using the hackish kind:3 relay lists, NIP-05 relay hints, event relay hints and event fetching local history in what became known as "Gossip Model" (but should actually be named "Outbox Model" to avoid confusion), then Mike Dilger proposed NIP-65 to improve things even further.

This is how branle implemented it, damus adopted it as well. Relay lists are a newer thing. You could say we are lazy but if i had to update every time someone has a new idea in the nips repo then i would be continuously busy just trying to stay compatible with the newest breaking refactor. Relay lists in contacts works fine for damus at this time and moving to relay list is literally just busywork when we have more important things to work on. nips repo is just people breaking things at this point. It’s a bit tiresome.