QR and Verification feature (#529)

* Automated update of relay data - Sun Sep 21 06:21:05 UTC 2025

* Automated update of relay data - Sun Sep 28 06:20:40 UTC 2025

* refactor: new close button like ios(but not liquid glass)

* Automated update of relay data - Sun Oct  5 06:20:09 UTC 2025

* Automated update of relay data - Sun Oct 12 06:20:12 UTC 2025

* Automated update of relay data - Sun Oct 19 06:21:51 UTC 2025

* Automated update of relay data - Sun Oct 26 06:21:31 UTC 2025

* Automated update of relay data - Sun Nov  2 06:22:16 UTC 2025

* Automated update of relay data - Sun Nov  9 06:21:43 UTC 2025

* Automated update of relay data - Sun Nov 16 06:22:37 UTC 2025

* Automated update of relay data - Sun Nov 23 06:22:51 UTC 2025

* Automated update of relay data - Sun Nov 30 06:24:08 UTC 2025

* Automated update of relay data - Sun Dec  7 06:22:59 UTC 2025

* Automated update of relay data - Sun Dec 14 06:24:33 UTC 2025

* Automated update of relay data - Sun Dec 21 06:24:49 UTC 2025

* Automated update of relay data - Sun Dec 28 06:25:38 UTC 2025

* feat: Add ZXing dependency for QR code scanning

* feat: Request camera permission for QR verification

* Add QR verification payloads and mesh wiring

* Wire verification state, system messages, and notifications

* Add verification sheets and UI affordances

* Show verified badges in sidebar and add strings

* Persist fingerprint caches for offline verification

* Handle bitchat://verify deep links

* feat: Replace zxing-android-embedded with ML Kit and CameraX

* Refactor(Verification): Replace zxing with MLKit for QR scanning

* Replace `AndroidView` with `CameraXViewfinder` for camera preview

* Refactor QR verification: Extract VerificationHandler and fix concurrency issues

* Extract and translate strings for QR verification feature

* Fix build errors: Escape ampersands in strings and restore missing methods in ChatViewModel

* return to main

* return to main 2

---------

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: callebtc <93376500+callebtc@users.noreply.github.com>
This commit is contained in:
yet300
2026-01-04 16:29:07 +07:00
committed by GitHub
co-authored by GitHub Action callebtc
parent d73976537d
commit c663e8ede0
56 changed files with 3421 additions and 58 deletions
+36
View File
@@ -353,4 +353,40 @@
<string name="dismiss">закрыть</string>
<string name="location_notes_input_placeholder">добавьте заметку для этого места</string>
<string name="mesh_service_notification_content">Mesh запущен — %1$d пиров</string>
<string name="verify_title">проверить</string>
<string name="verify_my_qr_title">сканируй для проверки</string>
<string name="verify_scan_prompt_friend">сканировать чужой QR</string>
<string name="verify_scan_someone">сканировать чужой QR</string>
<string name="verify_show_my_qr">показать мой QR</string>
<string name="verify_remove">удалить проверку</string>
<string name="verify_qr_unavailable">QR недоступен</string>
<string name="verify_camera_permission">нужен доступ к камере</string>
<string name="verify_request_camera">включить камеру</string>
<string name="verify_paste_label">вставить URL проверки</string>
<string name="verify_validate">проверить</string>
<string name="verify_scanned">запрос проверки</string>
<string name="security_verification_title">проверка безопасности</string>
<string name="fingerprint_their">их отпечаток</string>
<string name="fingerprint_yours">ваш отпечаток</string>
<string name="fingerprint_pending">ожидание рукопожатия</string>
<string name="fingerprint_no_peer">откройте личный чат</string>
<string name="fingerprint_status_verified">шифровано и проверено</string>
<string name="fingerprint_status_encrypted">шифровано</string>
<string name="fingerprint_status_handshaking">рукопожатие</string>
<string name="fingerprint_status_failed">сбой рукопожатия</string>
<string name="fingerprint_status_uninitialized">не шифровано</string>
<string name="fingerprint_verified_label">проверено</string>
<string name="fingerprint_verified_message">вы проверили этого человека.</string>
<string name="fingerprint_not_verified_label">не проверено</string>
<string name="fingerprint_not_verified_message_fmt">сравните с %1$s.</string>
<string name="fingerprint_mark_verified">отметить проверенным</string>
<string name="fingerprint_start_handshake">начать рукопожатие</string>
<string name="fingerprint_copy">копировать</string>
<string name="verify_mutual_match_title">Взаимная проверка</string>
<string name="verify_mutual_match_body">Вы и %1$s проверили друг друга</string>
<string name="verify_mutual_system_message">взаимная проверка с %1$s</string>
<string name="verify_success_title">Проверено</string>
<string name="verify_success_body">Вы проверили %1$s</string>
<string name="verify_success_system_message">проверен %1$s</string>
</resources>