用户第一次用某个客户端,这个客户端里没有任何用户历史数据,它只有默认的relay servers list。此时,用kind 3来广播用户所用的relays,就是这些默认的relays,广播到哪里呢,就是这些默认的relay上。
此时用户所用的relay list,就是有两种:
1、用户以前的relay list,在以前的relay servers上
2、用户在新客户端所用的relay list,在这个list里的relay servers上。
两种完全不冲突。
如果用户手动添加以前使用的relay server,那么客户端应该先去以前这个relay server上查询用户的relay list,然后跟当前的relay list合并,最后再广播到默认relay list servers+用户添加的relay server上。【本质上就是个查询不同数据库,合并信息,并同步到这些数据库里】
所以我上面回复的逻辑,就是说,不管客户端使用哪些relay servers,都应该先去查kind 3,有则合并。
这事用不着NIP,客户端做好历史查询就好了。
协议是说应支持删除,然而relay的实现代码或者服务可以伪删除。跟中心化服务商一个道理。
逻辑应该是这样:先去客户端内置的relay servers查一遍,没有用户当前使用的relay list,再广播当前客户端内置的relay list到这些server,如果客户端添加了relay server,也是先去查一遍,如果已有relay list,把当前的relay list加上去,如果没有,则把当前的relay list广播到新添加的relay server。
没那么复杂,单纯就是这app做得烂,初使用户的时候不去拿历史。
你竟然有🐱!
大艺术家你好
倒是不怕丢,可以用命令行工具去恢复,就是有点麻烦且浪费时间。
iPhone Cine Mate (CN&US) + Apple TV or MacOS Monterey + Airplay = HBO/NetFlix 自由
我即将发布的relay还缺个图,能帮我生成一个吗?sorry not able to zap u yet
Key words
Nostr
Ayit
Bingo
Antispam
History
Storm
Center
Purple
Crystal
There are dozen services can do things you want, nothing but Nostr can do information communication very well. Nostr, IMO it is like HTTP/web to the early Internet.
