From 65aa6c93153b28554127627dde2883a0685eeaff Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 2 Oct 2026 09:17:48 -0700 Subject: 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 Claude-Session: https://claude.ai/code/session_01Dmcrt9KyNDKVWFKnb8BREo --- src/locales/ur.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/locales/ur.json') diff --git a/src/locales/ur.json b/src/locales/ur.json index 734df85..5059007 100644 --- a/src/locales/ur.json +++ b/src/locales/ur.json @@ -206,5 +206,13 @@ "profFollowersNone": "کوئی فالوور نہیں ملا۔", "profFollowersPartial": "{total} میں سے {n} فالوورز دکھائے جا رہے ہیں۔", "showMore": "مزید دکھائیں", - "arkZapNoPostZap": "اس پوسٹ پر zap نہیں ہو سکتا: مصنف کے پاس نہ Lightning پتہ ہے نہ Ark پتہ۔" + "arkZapNoPostZap": "اس پوسٹ پر zap نہیں ہو سکتا: مصنف کے پاس نہ Lightning پتہ ہے نہ Ark پتہ۔", + "followHistTitle": "فالو فہرست", + "followHistDesc": "آپ {n} لوگوں کو فالو کرتے ہیں۔ اگر کسی اور ایپ نے آپ کی فالو فہرست بدل دی، تو تاریخ رکھنے والے کسی ریلے پر پرانی کاپی ہو سکتی ہے۔ بحال کرنے سے سب واپس شامل ہو جاتے ہیں؛ کسی کو ہٹایا نہیں جاتا۔", + "followHistLook": "پرانی کاپیاں تلاش کریں", + "followHistPeople": "{n} لوگ", + "followHistRestore": "{n} بحال کریں", + "followHistNone": "کسی پرانی کاپی میں ایسا کوئی نہیں جو آپ کی فہرست میں نہ ہو۔", + "followHistNothing": "اس کاپی کے سب لوگ پہلے سے آپ کی فہرست میں ہیں۔", + "followHistRestored": "{n} فالو بحال ہو گئے۔" } -- cgit v1.2.3