diff options
| author | Adam Soltys <[email protected]> | 2026-10-02 09:17:48 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-10-02 09:17:48 -0700 |
| commit | 65aa6c93153b28554127627dde2883a0685eeaff (patch) | |
| tree | d0e7f8a3d06e1ab89e97a34deec1ed7f8f457cbf /src/locales/zh.json | |
| parent | 686e2d391d3a963535d5deec7043999b9b92b19b (diff) | |
| download | coinosv3-65aa6c93153b28554127627dde2883a0685eeaff.tar.gz coinosv3-65aa6c93153b28554127627dde2883a0685eeaff.zip | |
Never write a follow list over one we failed to find
A kind 3 is replaceable: publishing one built on a list we didn't find
wipes the real one wherever it lands. 2026-10-02, an Amethyst user with
398 follows (kept on her own relays and an archive) signed in to coinos
for the first time; the starter-follows seed asked only our relays, saw
nothing, and published Adam + coinos over her list.
- deepContactList: our relays, the profile indexes, the archives, the
person's own NIP-65 write relays, and Primal's signed copy (verified).
- Starter follows only for a key with no follow list AND no profile
anywhere ('new' meant new to coinos, not new to nostr).
- A follow, follow-many or mute made while we have never seen the list
does the deep lookup first and builds on what it finds.
- Settings > Nostr > Follow list: find older copies on history-keeping
relays and restore one as a union with the current list (nobody is
removed), for anyone already hit.
- tools/follows-overwrite-test.js: fake relay network, only an archive
holds the list; fails on the old code with the exact two-person event.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Dmcrt9KyNDKVWFKnb8BREo
Diffstat (limited to 'src/locales/zh.json')
| -rw-r--r-- | src/locales/zh.json | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/locales/zh.json b/src/locales/zh.json index ee2234e..6b4c3a4 100644 --- a/src/locales/zh.json +++ b/src/locales/zh.json @@ -870,5 +870,13 @@ "profFollowersNone": "未找到粉丝。", "profFollowersPartial": "显示 {total} 位粉丝中的 {n} 位。", "showMore": "显示更多", - "arkZapNoPostZap": "无法打赏此帖子:作者既没有 Lightning 地址也没有 Ark 地址。" + "arkZapNoPostZap": "无法打赏此帖子:作者既没有 Lightning 地址也没有 Ark 地址。", + "followHistTitle": "关注列表", + "followHistDesc": "你关注了 {n} 人。如果其他应用替换了你的关注列表,保存历史的中继上可能还有旧副本。恢复会把其中所有人加回来,不会移除任何人。", + "followHistLook": "查找旧副本", + "followHistPeople": "{n} 人", + "followHistRestore": "恢复 {n} 人", + "followHistNone": "没有旧副本包含你列表中缺少的人。", + "followHistNothing": "该副本中的所有人都已在你的列表中。", + "followHistRestored": "已恢复 {n} 个关注。" } |
