aboutsummaryrefslogtreecommitdiffstats
path: root/src/locales/ar.json
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-10-02 09:17:48 -0700
committerAdam Soltys <[email protected]>2026-10-02 09:17:48 -0700
commit65aa6c93153b28554127627dde2883a0685eeaff (patch)
treed0e7f8a3d06e1ab89e97a34deec1ed7f8f457cbf /src/locales/ar.json
parent686e2d391d3a963535d5deec7043999b9b92b19b (diff)
downloadcoinosv3-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/ar.json')
-rw-r--r--src/locales/ar.json10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/locales/ar.json b/src/locales/ar.json
index c5af5fb..09b789e 100644
--- a/src/locales/ar.json
+++ b/src/locales/ar.json
@@ -870,5 +870,13 @@
"profFollowersNone": "لم يُعثر على متابعين.",
"profFollowersPartial": "عرض {n} من {total} متابع.",
"showMore": "عرض المزيد",
- "arkZapNoPostZap": "لا يمكن إرسال zap لهذا المنشور: ليس لدى كاتبه عنوان Lightning ولا عنوان Ark."
+ "arkZapNoPostZap": "لا يمكن إرسال zap لهذا المنشور: ليس لدى كاتبه عنوان Lightning ولا عنوان Ark.",
+ "followHistTitle": "قائمة المتابعة",
+ "followHistDesc": "أنت تتابع {n} شخصًا. إذا استبدل تطبيق آخر قائمة متابعتك، فقد تبقى نسخة أقدم على مرحّل يحتفظ بالسجل. الاستعادة تعيد كل من فيها؛ لا يُحذف أحد.",
+ "followHistLook": "ابحث عن نسخ أقدم",
+ "followHistPeople": "{n} شخصًا",
+ "followHistRestore": "استعادة {n}",
+ "followHistNone": "لا توجد نسخة أقدم فيها أحد تفتقده قائمتك.",
+ "followHistNothing": "كل من في تلك النسخة موجود في قائمتك بالفعل.",
+ "followHistRestored": "تمت استعادة {n} متابَعًا."
}