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
@@ -363,4 +363,40 @@
<string name="dismiss">cerrar</string>
<string name="location_notes_input_placeholder">agrega una nota para este lugar</string>
<string name="mesh_service_notification_content">Mesh en ejecución — %1$d pares</string>
<string name="verify_title">verificar</string>
<string name="verify_my_qr_title">escanear para verificarme</string>
<string name="verify_scan_prompt_friend">escanear qr de otro</string>
<string name="verify_scan_someone">escanear qr de otro</string>
<string name="verify_show_my_qr">mostrar mi qr</string>
<string name="verify_remove">eliminar verificación</string>
<string name="verify_qr_unavailable">qr no disponible</string>
<string name="verify_camera_permission">se necesita permiso de cámara</string>
<string name="verify_request_camera">activar cámara</string>
<string name="verify_paste_label">pegar url de verificación</string>
<string name="verify_validate">validar</string>
<string name="verify_scanned">verificación solicitada</string>
<string name="security_verification_title">verificación de seguridad</string>
<string name="fingerprint_their">su huella digital</string>
<string name="fingerprint_yours">tu huella digital</string>
<string name="fingerprint_pending">intercambio pendiente</string>
<string name="fingerprint_no_peer">abrir chat privado para ver</string>
<string name="fingerprint_status_verified">cifrado y verificado</string>
<string name="fingerprint_status_encrypted">cifrado</string>
<string name="fingerprint_status_handshaking">negociando</string>
<string name="fingerprint_status_failed">falló negociación</string>
<string name="fingerprint_status_uninitialized">no cifrado</string>
<string name="fingerprint_verified_label">verificado</string>
<string name="fingerprint_verified_message">has verificado esta identidad.</string>
<string name="fingerprint_not_verified_label">no verificado</string>
<string name="fingerprint_not_verified_message_fmt">compara huellas con %1$s por canal seguro.</string>
<string name="fingerprint_mark_verified">marcar verificado</string>
<string name="fingerprint_start_handshake">iniciar handshake</string>
<string name="fingerprint_copy">copiar</string>
<string name="verify_mutual_match_title">Verificación mutua</string>
<string name="verify_mutual_match_body">Tú y %1$s se verificaron</string>
<string name="verify_mutual_system_message">verificación mutua con %1$s</string>
<string name="verify_success_title">Verificado</string>
<string name="verify_success_body">Verificaste a %1$s</string>
<string name="verify_success_system_message">verificado %1$s</string>
</resources>