Repository navigation
SentriZK Release Notes — v1.0.8 (Build 9)
Release Date: 14 May 2026
🐛 Critical Fix: ML Threat Detection on Physical Devices
Problem
The Edge AI threat scanner was always returning 35.9% on certain physical Android devices (e.g. RMX1911 / Oppo Realme, Android 10, Qualcomm Adreno GPU). The TFLite GPU + NNAPI delegate loaded without any error, but silently produced incorrect inference results, causing the model to output the same score for every message — safe or malicious.
Meanwhile, emulators running Android 16 with newer GPU drivers worked perfectly fine (100% threat for phishing messages).
Root Cause
Older Qualcomm Adreno GPU drivers on Android 10 partially support TFLite GPU delegation but produce garbage output for certain model operations (e.g. FULLY_CONNECTED v12, SELECT_V2). The delegate does not throw an error — it silently returns wrong values.
Fix
Added a self-validation step during model initialization:
- After loading the model with GPU+NNAPI, two test inferences are run — one safe message and one clearly malicious message.
- If the score difference between them is less than 5%, the delegate is detected as broken.
- The model is automatically reloaded in CPU-only mode, which produces correct results on all devices.
- Devices with modern GPUs (emulators, newer phones) continue to use hardware acceleration as before.
Files Changed:
Frontend/mobile/lib/services/message_scan_service.dart
🚀 New Feature: One-Step Account Recovery
Problem
Previously, after completing the account recovery process on the web portal, the user was redirected back to the app but left on the login screen. They had to manually tap "Sign In" again to actually enter the app — a confusing two-step process.
Fix
- The web recovery page now redirects with a new
recover-successdeep link intent (instead of the genericauth-callback). - The mobile app detects
recover-success, saves the recovered credentials (username + encryptedSalt), and immediately triggers the full login sequence — Firebase auth, Firestore profile sync, FCM token registration, and dashboard navigation. - The existing
login-successflow was refactored into a reusable_performLoginSequence()method shared by both login and recovery.
Files Changed:
Frontend/web/src/app/recover/page.tsxFrontend/mobile/lib/screens/auth_screen.dart
💬 Chat Management Features (from v1.0.7)
Delete Chat Threads
- Long-press any chat in the main list to delete the entire local conversation.
- Clears all Isar database messages for that peer and removes saved drafts from SharedPreferences.
- Includes a confirmation dialog before deletion.
Copy Message Text
- Long-press any message inside a 1-on-1 chat.
- New "Copy Text" option appears in the bottom sheet alongside "Delete".
- Copies the message content to the clipboard with a SnackBar confirmation.
Files Changed:
Frontend/mobile/lib/screens/user_list_screen.dartFrontend/mobile/lib/screens/chat_screen.dart