不知道各个客户端处理metadata,followings以及relays list逻辑是怎样的?
这些数据因为种种原因在各个relay之间不可避免存在不一致的情况,很容易出现新旧数据覆盖的情况,客户端似乎应该要有选项,可以对每个npub选择一个优先级最高的relay。
这种覆盖已经发生很多次了…
不知道各个客户端处理metadata,followings以及relays list逻辑是怎样的?
这些数据因为种种原因在各个relay之间不可避免存在不一致的情况,很容易出现新旧数据覆盖的情况,客户端似乎应该要有选项,可以对每个npub选择一个优先级最高的relay。
这种覆盖已经发生很多次了…
PURA VIDA 🤙
应该不同relay同步,就像各个矿工同步最长区块链一样
也许是留存用户的一种手段?😅
今早Damus升级又一次覆盖了我的relay list。
客户端第一次初始化时只拿到key去面对metadata/followings/relaylist数据可能不同步的多个relay,几乎一定会出问题。
客户端需要拿到key和自己指定的某个relay才能有确定结果。
最好是key附加metadata/followings/relaylist最新信息的完整配置文件才一定不会出问题。
#[0]
应该可选两种初始化方案,让用户自己选。
取并集就好
很多时候是冲突,比如新旧钱包地址,新旧签名档。
metadata的event有时间的,客户端可以按时间取最新
问题是第一次登陆时,保留最新数据relay未必在列表中,这种情况只能拿到已配置relay中相对最新的,然后客户端就会把这个数据广播为最新。
一会换美区号更新试试,理论上说不应该广播啊,除非你等不及点了save
damus会广播relay列表,元数据不会,各个客户端实现的不一样,除非你按照一个特定逻辑去初始化,否则很容易出现新旧覆盖。
比如第一次使用新客户端,登入后什么也别干,先去编辑relay列表,保证需要的relay被添加,这之前的其它操作很容易导致混乱,但这样的逻辑不应该丢给用户。
卸载后重装,好像全程无痛恢复了,什么都没丢。
不是一定会出问题,如果damus默认的relay有你之前用的,出问题几率会小很多。
https://coracle.social 已经解决了这个问题,登陆时候在众多relay中搜索最新数据,也可以手动指定relay,其它客户端还没看到。
