fix(board): warn on unverified addresses

This commit is contained in:
Tommaso Casaburi
2026-05-21 17:33:14 +07:00
parent 75d90c8264
commit a31c3b44d3
38 changed files with 154 additions and 36 deletions
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "فشلت الصورة الخارجية. جرّب VPN.", "media_failed_to_load_inline_unknown": "فشلت الصورة الخارجية. جرّب VPN.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "تجاهل" "modQueue.dismiss": "تجاهل",
"board_address_unverified_warning": "لم يتم التحقق من عنوان هذه اللوحة. قد لا يكون مالك اللوحة مالكًا لهذا العنوان."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "বাইরের ছবি লোড হয়নি। VPN চেষ্টা করুন।", "media_failed_to_load_inline_unknown": "বাইরের ছবি লোড হয়নি। VPN চেষ্টা করুন।",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "উপেক্ষা করুন" "modQueue.dismiss": "উপেক্ষা করুন",
"board_address_unverified_warning": "এই বোর্ড ঠিকানাটি যাচাই করা হয়নি। বোর্ডের মালিক এই ঠিকানার মালিক নাও হতে পারেন।"
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "Externí obrázek selhal. Zkuste VPN.", "media_failed_to_load_inline_unknown": "Externí obrázek selhal. Zkuste VPN.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Ignorovat" "modQueue.dismiss": "Ignorovat",
"board_address_unverified_warning": "Tato adresa nástěnky není ověřená. Vlastník nástěnky nemusí tuto adresu vlastnit."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "Eksternt billede fejlede. Prøv VPN.", "media_failed_to_load_inline_unknown": "Eksternt billede fejlede. Prøv VPN.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Ignorer" "modQueue.dismiss": "Ignorer",
"board_address_unverified_warning": "Denne boardadresse er ikke verificeret. Boardets ejer ejer muligvis ikke denne adresse."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "Externes Bild fehlgeschlagen. VPN versuchen.", "media_failed_to_load_inline_unknown": "Externes Bild fehlgeschlagen. VPN versuchen.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Ignorieren" "modQueue.dismiss": "Ignorieren",
"board_address_unverified_warning": "Diese Board-Adresse ist nicht verifiziert. Der Board-Betreiber besitzt diese Adresse möglicherweise nicht."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "Η εξωτερική εικόνα απέτυχε. Δοκιμάστε VPN.", "media_failed_to_load_inline_unknown": "Η εξωτερική εικόνα απέτυχε. Δοκιμάστε VPN.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Παράβλεψη" "modQueue.dismiss": "Παράβλεψη",
"board_address_unverified_warning": "Αυτή η διεύθυνση board δεν έχει επαληθευτεί. Ο ιδιοκτήτης του board ενδέχεται να μην κατέχει αυτή τη διεύθυνση."
} }
+2 -1
View File
@@ -407,5 +407,6 @@
"media_failed_to_load_inline": "External image from {{host}} failed. Try VPN.", "media_failed_to_load_inline": "External image from {{host}} failed. Try VPN.",
"media_failed_to_load_inline_unknown": "External image failed. Try VPN.", "media_failed_to_load_inline_unknown": "External image failed. Try VPN.",
"directory_status_unavailable_reason": "check only available for top 5 boards", "directory_status_unavailable_reason": "check only available for top 5 boards",
"modQueue.dismiss": "Dismiss" "modQueue.dismiss": "Dismiss",
"board_address_unverified_warning": "This board address is not verified. The board owner might not own this address."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "Falló la imagen externa. Prueba una VPN.", "media_failed_to_load_inline_unknown": "Falló la imagen externa. Prueba una VPN.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Descartar" "modQueue.dismiss": "Descartar",
"board_address_unverified_warning": "Esta dirección del tablón no está verificada. Es posible que el propietario del tablón no sea dueño de esta dirección."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "تصویر خارجی بارگیری نشد. VPN را امتحان کنید.", "media_failed_to_load_inline_unknown": "تصویر خارجی بارگیری نشد. VPN را امتحان کنید.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "نادیده گرفتن" "modQueue.dismiss": "نادیده گرفتن",
"board_address_unverified_warning": "این نشانی برد تأیید نشده است. ممکن است مالک برد صاحب این نشانی نباشد."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "Ulkoinen kuva epäonnistui. Kokeile VPN:ää.", "media_failed_to_load_inline_unknown": "Ulkoinen kuva epäonnistui. Kokeile VPN:ää.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Ohita" "modQueue.dismiss": "Ohita",
"board_address_unverified_warning": "Tätä laudan osoitetta ei ole vahvistettu. Laudan omistaja ei välttämättä omista tätä osoitetta."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "Nabigo ang panlabas na larawan. Subukan ang VPN.", "media_failed_to_load_inline_unknown": "Nabigo ang panlabas na larawan. Subukan ang VPN.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Huwag pansinin" "modQueue.dismiss": "Huwag pansinin",
"board_address_unverified_warning": "Hindi beripikado ang address ng board na ito. Maaaring hindi pag-aari ng may-ari ng board ang address na ito."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "L'image externe a échoué. Essayez un VPN.", "media_failed_to_load_inline_unknown": "L'image externe a échoué. Essayez un VPN.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Ignorer" "modQueue.dismiss": "Ignorer",
"board_address_unverified_warning": "Cette adresse de board n'est pas vérifiée. Le propriétaire du board pourrait ne pas posséder cette adresse."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "התמונה החיצונית נכשלה. נסה VPN.", "media_failed_to_load_inline_unknown": "התמונה החיצונית נכשלה. נסה VPN.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "התעלם" "modQueue.dismiss": "התעלם",
"board_address_unverified_warning": "כתובת הלוח הזו אינה מאומתת. ייתכן שבעל הלוח אינו הבעלים של הכתובת הזו."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "बाहरी छवि लोड नहीं हुई। VPN आज़माएँ।", "media_failed_to_load_inline_unknown": "बाहरी छवि लोड नहीं हुई। VPN आज़माएँ।",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "अनदेखा करें" "modQueue.dismiss": "अनदेखा करें",
"board_address_unverified_warning": "इस बोर्ड पते की पुष्टि नहीं हुई है। हो सकता है बोर्ड का मालिक इस पते का मालिक न हो।"
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "A külső kép nem töltődött be. Próbálj VPN-t.", "media_failed_to_load_inline_unknown": "A külső kép nem töltődött be. Próbálj VPN-t.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Mellőzés" "modQueue.dismiss": "Mellőzés",
"board_address_unverified_warning": "Ez a board-cím nincs ellenőrizve. Lehet, hogy a board tulajdonosa nem birtokolja ezt a címet."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "Gambar eksternal gagal. Coba VPN.", "media_failed_to_load_inline_unknown": "Gambar eksternal gagal. Coba VPN.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Abaikan" "modQueue.dismiss": "Abaikan",
"board_address_unverified_warning": "Alamat board ini belum diverifikasi. Pemilik board mungkin tidak memiliki alamat ini."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "Immagine esterna non caricata. Prova una VPN.", "media_failed_to_load_inline_unknown": "Immagine esterna non caricata. Prova una VPN.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Ignora" "modQueue.dismiss": "Ignora",
"board_address_unverified_warning": "Questo indirizzo della board non è verificato. Il proprietario della board potrebbe non possedere questo indirizzo."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "外部画像を読み込めませんでした。VPN を試してください。", "media_failed_to_load_inline_unknown": "外部画像を読み込めませんでした。VPN を試してください。",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "無視" "modQueue.dismiss": "無視",
"board_address_unverified_warning": "このボードアドレスは検証されていません。ボード所有者がこのアドレスを所有していない可能性があります。"
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "외부 이미지를 불러오지 못했습니다. VPN을 시도하세요.", "media_failed_to_load_inline_unknown": "외부 이미지를 불러오지 못했습니다. VPN을 시도하세요.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "무시" "modQueue.dismiss": "무시",
"board_address_unverified_warning": "이 보드 주소는 확인되지 않았습니다. 보드 소유자가 이 주소를 소유하지 않았을 수 있습니다."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "बाह्य प्रतिमा लोड झाली नाही. VPN वापरून पाहा.", "media_failed_to_load_inline_unknown": "बाह्य प्रतिमा लोड झाली नाही. VPN वापरून पाहा.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "दुर्लक्ष करा" "modQueue.dismiss": "दुर्लक्ष करा",
"board_address_unverified_warning": "हा बोर्ड पत्ता सत्यापित केलेला नाही. बोर्डचा मालक हा पत्ता मालक नसू शकतो."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "Externe afbeelding mislukt. Probeer VPN.", "media_failed_to_load_inline_unknown": "Externe afbeelding mislukt. Probeer VPN.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Negeren" "modQueue.dismiss": "Negeren",
"board_address_unverified_warning": "Dit boardadres is niet geverifieerd. De eigenaar van het board is mogelijk niet de eigenaar van dit adres."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "Eksternt bilde kunne ikke lastes. Prøv VPN.", "media_failed_to_load_inline_unknown": "Eksternt bilde kunne ikke lastes. Prøv VPN.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Ignorer" "modQueue.dismiss": "Ignorer",
"board_address_unverified_warning": "Denne board-adressen er ikke bekreftet. Board-eieren eier kanskje ikke denne adressen."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "Obraz zewnętrzny nie załadował się. Spróbuj VPN.", "media_failed_to_load_inline_unknown": "Obraz zewnętrzny nie załadował się. Spróbuj VPN.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Pomiń" "modQueue.dismiss": "Pomiń",
"board_address_unverified_warning": "Ten adres boarda nie jest zweryfikowany. Właściciel boarda może nie być właścicielem tego adresu."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "Falha na imagem externa. Tente uma VPN.", "media_failed_to_load_inline_unknown": "Falha na imagem externa. Tente uma VPN.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Ignorar" "modQueue.dismiss": "Ignorar",
"board_address_unverified_warning": "Este endereço do board não foi verificado. O proprietário do board pode não ser dono deste endereço."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "Imaginea externă a eșuat. Încearcă VPN.", "media_failed_to_load_inline_unknown": "Imaginea externă a eșuat. Încearcă VPN.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Ignoră" "modQueue.dismiss": "Ignoră",
"board_address_unverified_warning": "Această adresă de board nu este verificată. Proprietarul boardului s-ar putea să nu dețină această adresă."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "Внешнее изображение не загрузилось. Попробуйте VPN.", "media_failed_to_load_inline_unknown": "Внешнее изображение не загрузилось. Попробуйте VPN.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Скрыть" "modQueue.dismiss": "Скрыть",
"board_address_unverified_warning": "Этот адрес доски не проверен. Владелец доски может не владеть этим адресом."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "Imazhi i jashtëm dështoi. Provoni VPN.", "media_failed_to_load_inline_unknown": "Imazhi i jashtëm dështoi. Provoni VPN.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Shpërfill" "modQueue.dismiss": "Shpërfill",
"board_address_unverified_warning": "Kjo adresë e board-it nuk është verifikuar. Pronari i board-it mund të mos e zotërojë këtë adresë."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "Extern bild kunde inte läsas in. Prova VPN.", "media_failed_to_load_inline_unknown": "Extern bild kunde inte läsas in. Prova VPN.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Avfärda" "modQueue.dismiss": "Avfärda",
"board_address_unverified_warning": "Den här board-adressen är inte verifierad. Boardets ägare kanske inte äger den här adressen."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "బాహ్య చిత్రం లోడ్ కాలేదు. VPN ప్రయత్నించండి.", "media_failed_to_load_inline_unknown": "బాహ్య చిత్రం లోడ్ కాలేదు. VPN ప్రయత్నించండి.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "విస్మరించు" "modQueue.dismiss": "విస్మరించు",
"board_address_unverified_warning": "ఈ బోర్డ్ చిరునామా ధృవీకరించబడలేదు. బోర్డ్ యజమాని ఈ చిరునామాకు యజమాని కాకపోవచ్చు."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "โหลดรูปภาพภายนอกไม่สำเร็จ ลอง VPN", "media_failed_to_load_inline_unknown": "โหลดรูปภาพภายนอกไม่สำเร็จ ลอง VPN",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "มองข้าม" "modQueue.dismiss": "มองข้าม",
"board_address_unverified_warning": "ที่อยู่บอร์ดนี้ยังไม่ได้รับการยืนยัน เจ้าของบอร์ดอาจไม่ได้เป็นเจ้าของที่อยู่นี้"
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "Harici görsel yüklenemedi. VPN deneyin.", "media_failed_to_load_inline_unknown": "Harici görsel yüklenemedi. VPN deneyin.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Yoksay" "modQueue.dismiss": "Yoksay",
"board_address_unverified_warning": "Bu board adresi doğrulanmamış. Board sahibi bu adresin sahibi olmayabilir."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "Зовнішнє зображення не завантажилося. Спробуйте VPN.", "media_failed_to_load_inline_unknown": "Зовнішнє зображення не завантажилося. Спробуйте VPN.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Приховати" "modQueue.dismiss": "Приховати",
"board_address_unverified_warning": "Цю адресу дошки не перевірено. Власник дошки може не володіти цією адресою."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "بیرونی تصویر لوڈ نہیں ہوئی۔ VPN آزمائیں۔", "media_failed_to_load_inline_unknown": "بیرونی تصویر لوڈ نہیں ہوئی۔ VPN آزمائیں۔",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "نظر انداز کریں" "modQueue.dismiss": "نظر انداز کریں",
"board_address_unverified_warning": "اس بورڈ کے پتے کی تصدیق نہیں ہوئی۔ ممکن ہے بورڈ کا مالک اس پتے کا مالک نہ ہو۔"
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "Không tải được ảnh bên ngoài. Thử VPN.", "media_failed_to_load_inline_unknown": "Không tải được ảnh bên ngoài. Thử VPN.",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "Bỏ qua" "modQueue.dismiss": "Bỏ qua",
"board_address_unverified_warning": "Địa chỉ bảng này chưa được xác minh. Chủ bảng có thể không sở hữu địa chỉ này."
} }
+2 -1
View File
@@ -388,5 +388,6 @@
"media_failed_to_load_inline_unknown": "外部图片加载失败。试试 VPN。", "media_failed_to_load_inline_unknown": "外部图片加载失败。试试 VPN。",
"expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.", "expiring_media_link_alert": "Media from {{domain}} expires quickly. Use a stable media link instead.",
"nothing_found": "Nothing Found", "nothing_found": "Nothing Found",
"modQueue.dismiss": "忽略" "modQueue.dismiss": "忽略",
"board_address_unverified_warning": "此版面地址尚未验证。版主可能并不拥有此地址。"
} }
+67 -1
View File
@@ -20,6 +20,14 @@ type TestComment = {
timestamp?: number; timestamp?: number;
}; };
type TestCommunity = {
error?: Error;
nameResolved?: boolean;
shortAddress?: string;
state?: string;
title?: string;
};
const testState = vi.hoisted(() => ({ const testState = vi.hoisted(() => ({
account: { subscriptions: [] as string[] }, account: { subscriptions: [] as string[] },
accountComments: [] as TestComment[], accountComments: [] as TestComment[],
@@ -60,7 +68,7 @@ const testState = vi.hoisted(() => ({
shortAddress: 'music-posting.eth', shortAddress: 'music-posting.eth',
state: 'ready', state: 'ready',
title: '/mu/ - Music', title: '/mu/ - Music',
}, } as TestCommunity,
communitySnapshot: { communitySnapshot: {
shortAddress: 'music-posting.eth', shortAddress: 'music-posting.eth',
title: '/mu/ - Music', title: '/mu/ - Music',
@@ -404,6 +412,64 @@ describe('Board', () => {
]); ]);
}); });
it('warns when a loaded board address is not verified', async () => {
testState.directories = [{ address: 'business-and-finance.bso', directoryCode: 'biz', title: '/biz/ - Business & Finance' }];
testState.directoryByAddress = {
'business-and-finance.bso': {
address: 'business-and-finance.bso',
features: { postsPerPage: 2 },
},
};
testState.resolvedCommunityAddress = 'business-and-finance.bso';
testState.community = {
nameResolved: false,
shortAddress: 'business-and-finance.bso',
state: 'ready',
title: '/biz/ - Business & Finance',
};
testState.communitySnapshot = {
shortAddress: 'business-and-finance.bso',
title: '/biz/ - Business & Finance',
};
await renderBoard({
boardProps: { boardIdentifier: 'business-and-finance.bso', viewType: 'board' },
initialEntry: '/business-and-finance.bso',
routePath: '/:boardIdentifier/*',
});
expect(container.textContent).toContain('board_address_unverified_warning');
});
it('does not warn when a loaded board address is verified', async () => {
testState.directories = [{ address: 'business-and-finance.bso', directoryCode: 'biz', title: '/biz/ - Business & Finance' }];
testState.directoryByAddress = {
'business-and-finance.bso': {
address: 'business-and-finance.bso',
features: { postsPerPage: 2 },
},
};
testState.resolvedCommunityAddress = 'business-and-finance.bso';
testState.community = {
nameResolved: true,
shortAddress: 'business-and-finance.bso',
state: 'ready',
title: '/biz/ - Business & Finance',
};
testState.communitySnapshot = {
shortAddress: 'business-and-finance.bso',
title: '/biz/ - Business & Finance',
};
await renderBoard({
boardProps: { boardIdentifier: 'business-and-finance.bso', viewType: 'board' },
initialEntry: '/business-and-finance.bso',
routePath: '/:boardIdentifier/*',
});
expect(container.textContent).not.toContain('board_address_unverified_warning');
});
it('renders the current page feed, inserts recent account comments, and wires footer actions', async () => { it('renders the current page feed, inserts recent account comments, and wires footer actions', async () => {
const currentTimestamp = Math.floor(Date.now() / 1000); const currentTimestamp = Math.floor(Date.now() / 1000);
testState.feed = [ testState.feed = [
+5
View File
@@ -7,6 +7,11 @@
padding: 15px 0 0 5px; padding: 15px 0 0 5px;
} }
.addressWarning {
color: var(--mod-queue-alert-color, red);
padding: 15px 5px 0 5px;
}
.footer { .footer {
color: var(--post-mobile-abbr-text-color); color: var(--post-mobile-abbr-text-color);
padding: 15px 0 20px 5px; padding: 15px 0 20px 5px;
+12
View File
@@ -594,6 +594,13 @@ const Board = ({ feedCacheKey, viewType, boardIdentifier: boardIdentifierProp, t
}, [title, shortAddress, communityAddress, isVisible, params.boardIdentifier, boardIdentifierProp, directories, isInAllView, isInSubscriptionsView, isInModView, t]); }, [title, shortAddress, communityAddress, isVisible, params.boardIdentifier, boardIdentifierProp, directories, isInAllView, isInSubscriptionsView, isInModView, t]);
const shouldShowErrorToUser = communityError?.message && feed.length === 0; const shouldShowErrorToUser = communityError?.message && feed.length === 0;
const shouldShowUnverifiedAddressWarning =
!isMultiboardView &&
typeof communityIdentifier?.name === 'string' &&
communityIdentifier.name.includes('.') &&
typeof communityIdentifier.publicKey === 'string' &&
communityIdentifier.publicKey.length > 0 &&
communityData?.nameResolved === false;
const displayFeed = effectiveInfiniteScroll ? combinedFeed : currentPageFeed; const displayFeed = effectiveInfiniteScroll ? combinedFeed : currentPageFeed;
return ( return (
@@ -605,6 +612,11 @@ const Board = ({ feedCacheKey, viewType, boardIdentifier: boardIdentifierProp, t
<ErrorDisplay error={communityError} /> <ErrorDisplay error={communityError} />
</div> </div>
)} )}
{shouldShowUnverifiedAddressWarning && (
<div className={styles.addressWarning} role='status'>
{t('board_address_unverified_warning')}
</div>
)}
{effectiveInfiniteScroll ? ( {effectiveInfiniteScroll ? (
<Virtuoso <Virtuoso
defaultItemHeight={defaultBoardItemHeight} defaultItemHeight={defaultBoardItemHeight}