android: 2.14.1 - traffic split, exit IP, dead-host visibility (UX phase 1)

- ConnectionDetailsSheet: session traffic split "via VPN / direct (RU)"
  from the native engine counters (userspace mode only; system-routes
  mode shows no split - the engine never sees that traffic), public exit
  IP + country via cloudflare cdn-cgi/trace through the tunnel, current
  underlying network (Wi-Fi + SSID / cellular)
- ConnectionCard: one-glance "N% direct" caption when the RU split moves
  traffic directly
- dead direct hosts surfaced in UI: native snapshot of the negative-cache
  table via new get_dead_targets (mutex-guarded, sorted by failures) +
  JNI getDeadDirectTargets; section on the Routing tab and a badge in the
  Home availability card naming dst, failure count, remaining cooldown
  and the owning app (from the 2.13.15 owner-attribution cache)
- HomeViewModel: split/exit/deadTargets as separate hot flows; exit
  refreshed with the probe round (60s cache), dead targets every round
This commit is contained in:
Denozordec committed 2026-10-05 00:56:47 +07:00
1 parent de5b093d62
commit 7185aa4ba5
13 files changed
+672 -26

No files matched your search

+2 -2
View File
@@ -46,8 +46,8 @@ android {
minSdkVersion 23
targetSdkVersion 36
versionCode 153
versionName "2.14.0"
versionCode 154
versionName "2.14.1"
/* Base URL of the update storage, trailing slash included */
buildConfigField "String", "UPDATE_BASE_URL", "\"${updateBaseUrl}\""