Denozordec and Claude Fable 5.2
20f9040e48
android: uploadShx sends the build commit to the SHX VPN panel: upload-apk.mjs takes it from --commit, SHX_COMMIT or git rev-parse HEAD of the repository the APK lies in, and warns when the working copy has uncommitted changes; the panel shows it in the version card and gives it to a connected model through MCP, so a report on a version leads to the code that version was built from
...
CodeQL / pre-check (push) Failing after 3s
CodeQL / analyze (python) (push) Skipped
FreeBSD / freebsd (14.4) (push) Skipped
Linux / pre-check (push) Failing after 4s
Linux / latest (clang, no, default) (push) Skipped
Linux / latest (clang, no-testable-ke) (push) Skipped
Linux / latest (clang, yes, default) (push) Skipped
Linux / latest (yes, ld) (push) Skipped
Linux / older (gcc, ubuntu-22.04, nm) (push) Skipped
Linux / alpine (push) Skipped
macOS / pre-check (push) Failing after 3s
SonarCloud / pre-check (push) Failing after 4s
SonarCloud / sonarcloud (push) Skipped
Windows / pre-check (push) Failing after 3s
CodeQL / analyze (ruby) (push) Skipped
FreeBSD / pre-check (push) Failing after 4s
Linux / latest (apidoc) (push) Skipped
Linux / latest (clang, yes, fuzzing) (push) Skipped
Linux / latest (dist) (push) Skipped
Linux / latest (gcc, no, default) (push) Skipped
Linux / latest (gcc, yes, default) (push) Skipped
Linux / latest (no-testable-ke) (push) Skipped
Linux / crypto (ubuntu-latest, botan) (push) Skipped
Linux / older (clang, ubuntu-22.04, all) (push) Skipped
TKM / pre-check (push) Failing after 3s
Windows / cross-compile (win32) (push) Skipped
Windows / cross-compile (win64) (push) Skipped
Android / pre-check (push) Failing after 5s
CIFuzz / pre-check (push) Failing after 3s
CodeQL / analyze-cpp (push) Skipped
FreeBSD / freebsd (15.0) (push) Skipped
Linux / latest (clang, no-dbg) (push) Skipped
Linux / latest (clang, yes, all) (push) Skipped
Linux / latest (gcc, no, all) (push) Skipped
Linux / latest (nm) (push) Skipped
Linux / latest (no-dbg) (push) Skipped
macOS / macos (macos-14) (push) Skipped
macOS / macos (macos-latest) (push) Skipped
Windows / native (x86_64, mingw64, win64) (push) Skipped
Android / android (push) Skipped
CIFuzz / fuzzing (undefined) (push) Skipped
Linux / latest (clang, no, all) (push) Skipped
Linux / latest (clang, no, printf-builtin) (push) Skipped
Linux / latest (coverage) (push) Skipped
Linux / latest (gcc, no, printf-builtin) (push) Skipped
Linux / latest (gcc, yes, all) (push) Skipped
Linux / crypto (ubuntu-22.04, openssl-sys) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-3) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-4) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-awslc) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-sys) (push) Skipped
Linux / older (gcc, ubuntu-22.04, all) (push) Skipped
Windows / native (i686, mingw32, win32) (push) Skipped
CIFuzz / fuzzing (address) (push) Skipped
Linux / crypto (ubuntu-latest, wolfssl) (push) Skipped
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com >
2026-11-14 09:14:38 +07:00
Denozordec and Claude Fable 5.2
fdef56fa29
android: version 2.19.13 (181)
...
CodeQL / analyze (python) (push) Skipped
FreeBSD / freebsd (14.4) (push) Skipped
Linux / pre-check (push) Failing after 5s
Linux / latest (clang, no, default) (push) Skipped
Linux / latest (clang, no-testable-ke) (push) Skipped
Linux / latest (clang, yes, default) (push) Skipped
Linux / latest (yes, ld) (push) Skipped
Linux / older (gcc, ubuntu-22.04, nm) (push) Skipped
Linux / alpine (push) Skipped
macOS / pre-check (push) Failing after 5s
SonarCloud / pre-check (push) Failing after 5s
SonarCloud / sonarcloud (push) Skipped
Windows / pre-check (push) Failing after 6s
CodeQL / pre-check (push) Failing after 5s
CodeQL / analyze (ruby) (push) Skipped
FreeBSD / pre-check (push) Failing after 4s
Linux / latest (apidoc) (push) Skipped
Linux / latest (dist) (push) Skipped
Linux / latest (gcc, no, default) (push) Skipped
Linux / latest (gcc, yes, default) (push) Skipped
Linux / latest (no-testable-ke) (push) Skipped
Linux / crypto (ubuntu-latest, botan) (push) Skipped
Linux / older (clang, ubuntu-22.04, all) (push) Skipped
TKM / pre-check (push) Failing after 5s
Windows / cross-compile (win32) (push) Skipped
Windows / cross-compile (win64) (push) Skipped
Android / pre-check (push) Failing after 4s
CIFuzz / pre-check (push) Failing after 5s
CodeQL / analyze-cpp (push) Skipped
FreeBSD / freebsd (15.0) (push) Skipped
Linux / latest (clang, no-dbg) (push) Skipped
Linux / latest (clang, yes, all) (push) Skipped
Linux / latest (clang, yes, fuzzing) (push) Skipped
Linux / latest (gcc, no, all) (push) Skipped
Linux / latest (nm) (push) Skipped
Linux / latest (no-dbg) (push) Skipped
macOS / macos (macos-14) (push) Skipped
macOS / macos (macos-latest) (push) Skipped
Windows / native (x86_64, mingw64, win64) (push) Skipped
Android / android (push) Skipped
CIFuzz / fuzzing (undefined) (push) Skipped
Linux / latest (clang, no, all) (push) Skipped
Linux / latest (clang, no, printf-builtin) (push) Skipped
Linux / latest (coverage) (push) Skipped
Linux / latest (gcc, no, printf-builtin) (push) Skipped
Linux / latest (gcc, yes, all) (push) Skipped
Linux / crypto (ubuntu-22.04, openssl-sys) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-3) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-4) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-sys) (push) Skipped
Linux / older (gcc, ubuntu-22.04, all) (push) Skipped
Windows / native (i686, mingw32, win32) (push) Skipped
CIFuzz / fuzzing (address) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-awslc) (push) Skipped
Linux / crypto (ubuntu-latest, wolfssl) (push) Skipped
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com >
2026-11-13 22:41:14 +07:00
Denozordec and Claude Fable 5.2
72de26d732
android: the diagnostics row «Russian sites» no longer shows a stale verdict: the screen waited a fixed 2.5 s for the direct probe round and then read whatever the last round had left, and a round with a timed-out foreign probe takes 6.7 s or more, so a «do not open» recorded during a network outage was shown minutes later on a working network; it now waits for a round that finished after the request (up to 8 s) and shows «unknown» otherwise; the «Direct round» line goes to diag.log; the report gives its checks 15 s instead of 10
...
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com >
2026-11-13 22:41:14 +07:00
Denozordec and Claude Fable 5.2
76000dfc49
android: version 2.19.12 (180)
...
CodeQL / analyze (python) (push) Skipped
FreeBSD / freebsd (14.4) (push) Skipped
Linux / pre-check (push) Failing after 3s
Linux / latest (clang, no, default) (push) Skipped
Linux / latest (clang, no-testable-ke) (push) Skipped
Linux / latest (clang, yes, default) (push) Skipped
Linux / latest (yes, ld) (push) Skipped
Linux / older (gcc, ubuntu-22.04, nm) (push) Skipped
Linux / alpine (push) Skipped
macOS / pre-check (push) Failing after 3s
SonarCloud / pre-check (push) Failing after 4s
SonarCloud / sonarcloud (push) Skipped
Windows / pre-check (push) Failing after 3s
CodeQL / pre-check (push) Failing after 4s
CodeQL / analyze (ruby) (push) Skipped
FreeBSD / pre-check (push) Failing after 3s
Linux / latest (apidoc) (push) Skipped
Linux / latest (dist) (push) Skipped
Linux / latest (gcc, no, default) (push) Skipped
Linux / latest (gcc, yes, default) (push) Skipped
Linux / latest (no-testable-ke) (push) Skipped
Linux / crypto (ubuntu-latest, botan) (push) Skipped
Linux / older (clang, ubuntu-22.04, all) (push) Skipped
TKM / pre-check (push) Failing after 3s
Windows / cross-compile (win32) (push) Skipped
Windows / cross-compile (win64) (push) Skipped
Android / pre-check (push) Failing after 5s
CIFuzz / pre-check (push) Failing after 4s
CodeQL / analyze-cpp (push) Skipped
FreeBSD / freebsd (15.0) (push) Skipped
Linux / latest (clang, no-dbg) (push) Skipped
Linux / latest (clang, yes, all) (push) Skipped
Linux / latest (clang, yes, fuzzing) (push) Skipped
Linux / latest (gcc, no, all) (push) Skipped
Linux / latest (nm) (push) Skipped
Linux / latest (no-dbg) (push) Skipped
macOS / macos (macos-14) (push) Skipped
macOS / macos (macos-latest) (push) Skipped
Windows / native (x86_64, mingw64, win64) (push) Skipped
Android / android (push) Skipped
CIFuzz / fuzzing (undefined) (push) Skipped
Linux / latest (clang, no, all) (push) Skipped
Linux / latest (clang, no, printf-builtin) (push) Skipped
Linux / latest (coverage) (push) Skipped
Linux / latest (gcc, no, printf-builtin) (push) Skipped
Linux / latest (gcc, yes, all) (push) Skipped
Linux / crypto (ubuntu-22.04, openssl-sys) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-3) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-4) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-sys) (push) Skipped
Linux / older (gcc, ubuntu-22.04, all) (push) Skipped
Windows / native (i686, mingw32, win32) (push) Skipped
CIFuzz / fuzzing (address) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-awslc) (push) Skipped
Linux / crypto (ubuntu-latest, wolfssl) (push) Skipped
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com >
2026-11-11 14:16:43 +07:00
Denozordec and Claude Fable 5.2
fa68ea20fa
android: DNS proxy sockets are no longer re-protected on every network change: they were added to the list of sockets protected again on a roam, from which nothing is ever removed, although they are closed after 30 s - one hour of use left 43 closed descriptors, each a failed VpnService.protect() when Wi-Fi appeared, and a reused descriptor number could have been pulled out of the tunnel; the diag log says «disconnect requested» instead of «user» for any deliberate disconnect (the trusted-network park was logged as the user's)
...
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com >
2026-11-11 14:16:43 +07:00
Denozordec and Claude Fable 5.2
0549bb0358
android: version 2.19.11 (179)
...
CodeQL / pre-check (push) Failing after 3s
CodeQL / analyze (python) (push) Skipped
FreeBSD / freebsd (14.4) (push) Skipped
Linux / pre-check (push) Failing after 4s
Linux / latest (clang, no, default) (push) Skipped
Linux / latest (clang, no-testable-ke) (push) Skipped
Linux / latest (clang, yes, default) (push) Skipped
macOS / pre-check (push) Failing after 4s
Linux / latest (yes, ld) (push) Skipped
Linux / older (gcc, ubuntu-22.04, nm) (push) Skipped
Linux / alpine (push) Skipped
SonarCloud / pre-check (push) Failing after 5s
SonarCloud / sonarcloud (push) Skipped
Windows / pre-check (push) Failing after 3s
CodeQL / analyze (ruby) (push) Skipped
FreeBSD / pre-check (push) Failing after 4s
Linux / latest (apidoc) (push) Skipped
Linux / latest (clang, yes, fuzzing) (push) Skipped
Linux / latest (dist) (push) Skipped
Linux / latest (gcc, no, default) (push) Skipped
Linux / latest (gcc, yes, default) (push) Skipped
Linux / latest (no-testable-ke) (push) Skipped
Linux / crypto (ubuntu-latest, botan) (push) Skipped
Linux / older (clang, ubuntu-22.04, all) (push) Skipped
TKM / pre-check (push) Failing after 3s
Windows / cross-compile (win32) (push) Skipped
Windows / cross-compile (win64) (push) Skipped
Android / pre-check (push) Failing after 6s
CIFuzz / pre-check (push) Failing after 3s
CodeQL / analyze-cpp (push) Skipped
FreeBSD / freebsd (15.0) (push) Skipped
Linux / latest (clang, no-dbg) (push) Skipped
Linux / latest (clang, yes, all) (push) Skipped
Linux / latest (gcc, no, all) (push) Skipped
Linux / latest (nm) (push) Skipped
Linux / latest (no-dbg) (push) Skipped
macOS / macos (macos-14) (push) Skipped
macOS / macos (macos-latest) (push) Skipped
Windows / native (x86_64, mingw64, win64) (push) Skipped
Android / android (push) Skipped
CIFuzz / fuzzing (undefined) (push) Skipped
Linux / latest (clang, no, all) (push) Skipped
Linux / latest (clang, no, printf-builtin) (push) Skipped
Linux / latest (coverage) (push) Skipped
Linux / latest (gcc, no, printf-builtin) (push) Skipped
Linux / latest (gcc, yes, all) (push) Skipped
Linux / crypto (ubuntu-22.04, openssl-sys) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-3) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-4) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-awslc) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-sys) (push) Skipped
Linux / older (gcc, ubuntu-22.04, all) (push) Skipped
Windows / native (i686, mingw32, win32) (push) Skipped
CIFuzz / fuzzing (address) (push) Skipped
Linux / crypto (ubuntu-latest, wolfssl) (push) Skipped
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com >
2026-11-11 09:18:58 +07:00
Denozordec and Claude Fable 5.2
4eae01fcfe
android: a tunnel the server dropped silently is noticed in about two minutes instead of never: the NAT keepalive tick sends a DPD once IPsec traffic went out and nothing at all came back for 90 s (charon.keep_alive_dpd_inbound; a session stayed «connected» for 18 min after the server went quiet); no timer of its own, no probe on an idle tunnel, without a path, or counted from before a suspend, and while answered probes are all that comes back the wait doubles up to 6 min; the tick also runs with forced UDP encapsulation without a NAT; diag.log gets the ESP in/out byte counters
...
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com >
2026-11-11 09:18:58 +07:00
Denozordec and Claude Fable 5.2
352be74525
android: version 2.19.10 (178)
...
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com >
2026-11-11 09:18:44 +07:00
Denozordec and Claude Fable 5.2
25754b5cc4
android: Routes rules can be deleted with one tap and undone: each rule row gets a trash button, the rule disappears at once and is really removed when the «Undo» snackbar goes away or the page is left (so undoing a package pattern does not reconnect the tunnel twice); tapping a rule opens a sheet with its on/off switch, the direction (direct / through the VPN, changed in place keeping the id) and delete; rows say «single address», «network», the number of resolved addresses or matching apps, long values wrap; the Routes tab shows what the rules do («1 via VPN · 2 direct · 1 off») and the hero no longer counts switched-off rules; mockup F_Rules, F_RuleEdit, F_RuleDeleted, F_Routing and their dark pairs
...
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com >
2026-11-11 09:18:44 +07:00
Denozordec and Claude Fable 5.2
26b4edee66
android: version 2.19.9 (177)
...
CodeQL / pre-check (push) Failing after 3s
CodeQL / analyze (python) (push) Skipped
FreeBSD / freebsd (14.4) (push) Skipped
Linux / pre-check (push) Failing after 3s
Linux / latest (clang, no, default) (push) Skipped
Linux / latest (clang, no-testable-ke) (push) Skipped
Linux / latest (clang, yes, default) (push) Skipped
Linux / latest (yes, ld) (push) Skipped
Linux / older (gcc, ubuntu-22.04, nm) (push) Skipped
Linux / alpine (push) Skipped
macOS / pre-check (push) Failing after 3s
SonarCloud / pre-check (push) Failing after 3s
SonarCloud / sonarcloud (push) Skipped
Windows / pre-check (push) Failing after 3s
CodeQL / analyze (ruby) (push) Skipped
FreeBSD / pre-check (push) Failing after 3s
Linux / latest (apidoc) (push) Skipped
Linux / latest (clang, yes, fuzzing) (push) Skipped
Linux / latest (dist) (push) Skipped
Linux / latest (gcc, no, default) (push) Skipped
Linux / latest (gcc, yes, default) (push) Skipped
Linux / latest (no-testable-ke) (push) Skipped
Linux / crypto (ubuntu-latest, botan) (push) Skipped
Linux / older (clang, ubuntu-22.04, all) (push) Skipped
TKM / pre-check (push) Failing after 4s
Windows / cross-compile (win32) (push) Skipped
Windows / cross-compile (win64) (push) Skipped
Android / pre-check (push) Failing after 4s
CIFuzz / pre-check (push) Failing after 3s
CodeQL / analyze-cpp (push) Skipped
FreeBSD / freebsd (15.0) (push) Skipped
Linux / latest (clang, no-dbg) (push) Skipped
Linux / latest (clang, yes, all) (push) Skipped
Linux / latest (gcc, no, all) (push) Skipped
Linux / latest (nm) (push) Skipped
Linux / latest (no-dbg) (push) Skipped
macOS / macos (macos-14) (push) Skipped
macOS / macos (macos-latest) (push) Skipped
Windows / native (x86_64, mingw64, win64) (push) Skipped
Android / android (push) Skipped
CIFuzz / fuzzing (undefined) (push) Skipped
Linux / latest (clang, no, all) (push) Skipped
Linux / latest (clang, no, printf-builtin) (push) Skipped
Linux / latest (coverage) (push) Skipped
Linux / latest (gcc, no, printf-builtin) (push) Skipped
Linux / latest (gcc, yes, all) (push) Skipped
Linux / crypto (ubuntu-22.04, openssl-sys) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-3) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-4) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-awslc) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-sys) (push) Skipped
Linux / older (gcc, ubuntu-22.04, all) (push) Skipped
Windows / native (i686, mingw32, win32) (push) Skipped
CIFuzz / fuzzing (address) (push) Skipped
Linux / crypto (ubuntu-latest, wolfssl) (push) Skipped
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com >
2026-11-10 10:07:10 +07:00
Denozordec and Claude Fable 5.2
a8f32ed7df
android: DNS chain diagnostics run at most once per 10 min instead of on every reconnect; Home probes every 30 s instead of 10 s; a DoT worker closes its TLS connection when it exits
...
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com >
2026-11-10 10:07:09 +07:00
Denozordec and Claude Fable 5.2
8c5752cfbe
android: direct TCP relay gets real flow control: a socket at EOF is no longer polled for input (the engine thread spun until the app took the last byte), reading pauses at 64 KB queued for the app instead of aborting the flow at 256 KB, the app's send window reopens only for what the socket accepted (large uploads over a slow uplink were reset), and acknowledged data pulls the rest at once instead of on the 2 s poll
...
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com >
2026-11-10 10:07:09 +07:00
Denozordec and Claude Fable 5.2
2a81e5f05d
android: version 2.19.8 (176)
...
CodeQL / analyze (python) (push) Skipped
FreeBSD / freebsd (14.4) (push) Skipped
Linux / pre-check (push) Failing after 3s
Linux / latest (clang, no, default) (push) Skipped
Linux / latest (clang, no-testable-ke) (push) Skipped
Linux / latest (clang, yes, default) (push) Skipped
Linux / latest (yes, ld) (push) Skipped
Linux / older (gcc, ubuntu-22.04, nm) (push) Skipped
Linux / alpine (push) Skipped
macOS / pre-check (push) Failing after 4s
SonarCloud / pre-check (push) Failing after 3s
SonarCloud / sonarcloud (push) Skipped
Windows / pre-check (push) Failing after 4s
CodeQL / pre-check (push) Failing after 3s
CodeQL / analyze (ruby) (push) Skipped
FreeBSD / pre-check (push) Failing after 4s
Linux / latest (apidoc) (push) Skipped
Linux / latest (clang, yes, fuzzing) (push) Skipped
Linux / latest (dist) (push) Skipped
Linux / latest (gcc, no, default) (push) Skipped
Linux / latest (gcc, yes, default) (push) Skipped
Linux / latest (no-testable-ke) (push) Skipped
Linux / crypto (ubuntu-latest, botan) (push) Skipped
Linux / older (clang, ubuntu-22.04, all) (push) Skipped
TKM / pre-check (push) Failing after 3s
Windows / cross-compile (win32) (push) Skipped
Windows / cross-compile (win64) (push) Skipped
Android / pre-check (push) Failing after 5s
CIFuzz / pre-check (push) Failing after 4s
CodeQL / analyze-cpp (push) Skipped
FreeBSD / freebsd (15.0) (push) Skipped
Linux / latest (clang, no-dbg) (push) Skipped
Linux / latest (clang, yes, all) (push) Skipped
Linux / latest (gcc, no, all) (push) Skipped
Linux / latest (nm) (push) Skipped
Linux / latest (no-dbg) (push) Skipped
macOS / macos (macos-14) (push) Skipped
macOS / macos (macos-latest) (push) Skipped
Windows / native (x86_64, mingw64, win64) (push) Skipped
Android / android (push) Skipped
CIFuzz / fuzzing (undefined) (push) Skipped
Linux / latest (clang, no, all) (push) Skipped
Linux / latest (clang, no, printf-builtin) (push) Skipped
Linux / latest (coverage) (push) Skipped
Linux / latest (gcc, no, printf-builtin) (push) Skipped
Linux / latest (gcc, yes, all) (push) Skipped
Linux / crypto (ubuntu-22.04, openssl-sys) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-3) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-4) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-sys) (push) Skipped
Linux / older (gcc, ubuntu-22.04, all) (push) Skipped
Windows / native (i686, mingw32, win32) (push) Skipped
CIFuzz / fuzzing (address) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-awslc) (push) Skipped
Linux / crypto (ubuntu-latest, wolfssl) (push) Skipped
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com >
2026-11-10 09:47:47 +07:00
Denozordec and Claude Fable 5.2
f075bf00fe
android: a retry the device slept through is resumed by the watchdog alarm: the countdown runs in uptime and stood still in deep sleep, so a tunnel that dropped overnight came back only when the phone was picked up; while a retry is pending the wakeup alarm stays at 10 min instead of backing off to 1 h
...
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com >
2026-11-10 09:45:56 +07:00
Denozordec and Claude Opus 5.5
b9ea35832c
android: DoH/DoT probe asks one.one.one.one (then ya.ru) instead of example.com, which some servers drop (dns.shnt.top closes DoT / returns an empty 200); replies are checked for header, QR bit and id with clear errors («empty reply», «connection closed without a reply»); a failed probe is cached for 1 min, so one connect no longer probes 4 times; dns diag logs the VPN network's private DNS state; version 2.19.7 (175)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-09 22:11:20 +07:00
Denozordec and Claude Opus 5.5
c5c5f5d461
android: DoT closes the per-worker connection on any read error or id mismatch (a late reply would answer the next query and desync it forever); the connect probe no longer does an untimed host lookup for the log
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-09 20:26:41 +07:00
Denozordec and Claude Opus 5.5
59d989e956
android: own DoH/DoT DNS server — the tunnel's DNS becomes 198.18.0.53, the native DNS proxy forwards its UDP/53 to a local resolver (127.0.0.1) that sends each query to the user's https:// or tls:// server; probe at connect with fallback to the profile's DNS and an event, SERVFAIL on errors, check on «Save»; decisions, errors and per-period stats go to the diagnostic log without query names; version 2.19.6 (174)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-09 20:14:20 +07:00
Denozordec and Claude Opus 5.5
1401cd8087
Merge feature/update-api (2.19.4) into claude/shx-vpn-privacy-stability-a90292; version 2.19.5 (173); the crash event's «Send a report» opens the panel report like the log's button
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-08 23:48:20 +07:00
Denozordec and Claude Opus 5.5
27345bb24b
android: version 2.19.3 (171)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-08 23:40:51 +07:00
Denozordec
3953c39a4e
Merge commit '4a2581bb1' into claude/shx-vpn-privacy-stability-a90292
2026-11-08 23:34:05 +07:00
Denozordec and Claude Opus 5.5
2b4d0ef12b
android: «the app closed unexpectedly» event with «Send a report» after a Java, native (daemon) or ANR death of the previous process; always-on/lockdown read from the running VpnService (the Settings.Global key never existed) with a warning when it gets turned off
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-08 23:34:05 +07:00
Denozordec and Claude Opus 5.5
68ee051ab2
android: version 2.19.4 (172) — обновления и отчёты через панель SHX VPN
...
CodeQL / analyze (python) (push) Skipped
FreeBSD / freebsd (14.4) (push) Skipped
Linux / pre-check (push) Failing after 4s
Linux / latest (clang, no, default) (push) Skipped
Linux / latest (clang, no-testable-ke) (push) Skipped
Linux / latest (clang, yes, default) (push) Skipped
Linux / latest (yes, ld) (push) Skipped
Linux / older (gcc, ubuntu-22.04, nm) (push) Skipped
Linux / alpine (push) Skipped
macOS / pre-check (push) Failing after 4s
SonarCloud / pre-check (push) Failing after 3s
SonarCloud / sonarcloud (push) Skipped
Windows / pre-check (push) Failing after 4s
CodeQL / pre-check (push) Failing after 4s
CodeQL / analyze (ruby) (push) Skipped
FreeBSD / pre-check (push) Failing after 3s
Linux / latest (apidoc) (push) Skipped
Linux / latest (clang, yes, fuzzing) (push) Skipped
Linux / latest (dist) (push) Skipped
Linux / latest (gcc, no, default) (push) Skipped
Linux / latest (gcc, yes, default) (push) Skipped
Linux / latest (no-testable-ke) (push) Skipped
Linux / crypto (ubuntu-latest, botan) (push) Skipped
Linux / older (clang, ubuntu-22.04, all) (push) Skipped
TKM / pre-check (push) Failing after 3s
Windows / cross-compile (win32) (push) Skipped
Windows / cross-compile (win64) (push) Skipped
Android / pre-check (push) Failing after 8s
CIFuzz / pre-check (push) Failing after 3s
CodeQL / analyze-cpp (push) Skipped
FreeBSD / freebsd (15.0) (push) Skipped
Linux / latest (clang, no-dbg) (push) Skipped
Linux / latest (clang, yes, all) (push) Skipped
Linux / latest (gcc, no, all) (push) Skipped
Linux / latest (nm) (push) Skipped
Linux / latest (no-dbg) (push) Skipped
macOS / macos (macos-14) (push) Skipped
macOS / macos (macos-latest) (push) Skipped
Windows / native (x86_64, mingw64, win64) (push) Skipped
Android / android (push) Skipped
CIFuzz / fuzzing (undefined) (push) Skipped
Linux / latest (clang, no, all) (push) Skipped
Linux / latest (clang, no, printf-builtin) (push) Skipped
Linux / latest (coverage) (push) Skipped
Linux / latest (gcc, no, printf-builtin) (push) Skipped
Linux / latest (gcc, yes, all) (push) Skipped
Linux / crypto (ubuntu-22.04, openssl-sys) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-3) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-4) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-sys) (push) Skipped
Linux / older (gcc, ubuntu-22.04, all) (push) Skipped
Windows / native (i686, mingw32, win32) (push) Skipped
CIFuzz / fuzzing (address) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-awslc) (push) Skipped
Linux / crypto (ubuntu-latest, wolfssl) (push) Skipped
- проверка обновлений через API панели (get.shnt.top/api/v1): подписанный запрос (HMAC),
манифест с подписью Ed25519; старый бакет — только запасной путь при сетевой ошибке
- экраны обновления по макету: страница «Обновления» с каналом и кодом беты, шторки
«Что нового», «Скачивание» (с отменой), «Обязательное обновление», «Не установлено»
- отправка отчёта из журнала в панель: код отчёта, запись в «Событиях», письмо как запасной путь;
к отчёту прикладываются результаты проверки сети (checks.json) и diag.log
- исправлен вылет при скачивании обновления на Android 16.0 (setRequestPromotedOngoing есть только с API 36.1)
- кнопки шторок переносят текст на вторую строку, однословные уменьшаются
- задача Gradle uploadShx: сборка и загрузка APK в панель (scripts/upload-apk.mjs)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-08 22:38:45 +07:00
Denozordec and Claude Sonnet 5.5
4a2581bb12
android: version 2.19.2 (170)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 17:45:23 +07:00
Denozordec and Claude Sonnet 5.5
ada48f0ca1
android: the diagnostic log records why an established IKE SA went down (reauth, retransmit timeout, network change, user, other) with a per-day drop counter; plan section 8 added
...
Native signals for retransmit timeout and reauth are diagnostics only and change no state.
docs/energy-plan.md section 8 is the 2.20 plan for connection stability and energy use.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 17:45:23 +07:00
Denozordec and Claude Sonnet 5.5
bd1ad8390a
claude: project environment — Sonnet 5.5, three read-only Haiku subagents, advisor rule
...
.claude/settings.json sets the primary model; .claude/agents/{search,grep,docs}.md are
read-only Haiku 5.5 subagents; CLAUDE.md imports AGENTS.md and holds the advisor rule.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 17:45:22 +07:00
Denozordec and Claude Sonnet 5.5
0e35a794c9
android: version 2.19.1 (169)
...
CodeQL / pre-check (push) Failing after 4s
CodeQL / analyze (python) (push) Skipped
FreeBSD / freebsd (14.4) (push) Skipped
Linux / pre-check (push) Failing after 4s
Linux / latest (clang, no, default) (push) Skipped
Linux / latest (clang, no-testable-ke) (push) Skipped
Linux / latest (clang, yes, default) (push) Skipped
Linux / latest (yes, ld) (push) Skipped
Linux / older (gcc, ubuntu-22.04, nm) (push) Skipped
Linux / alpine (push) Skipped
macOS / pre-check (push) Failing after 4s
SonarCloud / pre-check (push) Failing after 4s
SonarCloud / sonarcloud (push) Skipped
Windows / pre-check (push) Failing after 4s
CodeQL / analyze (ruby) (push) Skipped
FreeBSD / pre-check (push) Failing after 4s
Linux / latest (apidoc) (push) Skipped
Linux / latest (clang, yes, fuzzing) (push) Skipped
Linux / latest (dist) (push) Skipped
Linux / latest (gcc, no, default) (push) Skipped
Linux / latest (gcc, yes, default) (push) Skipped
Linux / latest (no-testable-ke) (push) Skipped
Linux / crypto (ubuntu-latest, botan) (push) Skipped
Linux / older (clang, ubuntu-22.04, all) (push) Skipped
TKM / pre-check (push) Failing after 4s
Windows / cross-compile (win32) (push) Skipped
Windows / cross-compile (win64) (push) Skipped
Android / pre-check (push) Failing after 5s
CIFuzz / pre-check (push) Failing after 4s
CodeQL / analyze-cpp (push) Skipped
FreeBSD / freebsd (15.0) (push) Skipped
Linux / latest (clang, no-dbg) (push) Skipped
Linux / latest (clang, yes, all) (push) Skipped
Linux / latest (gcc, no, all) (push) Skipped
Linux / latest (nm) (push) Skipped
Linux / latest (no-dbg) (push) Skipped
macOS / macos (macos-14) (push) Skipped
macOS / macos (macos-latest) (push) Skipped
Windows / native (x86_64, mingw64, win64) (push) Skipped
Android / android (push) Skipped
CIFuzz / fuzzing (undefined) (push) Skipped
Linux / latest (clang, no, all) (push) Skipped
Linux / latest (clang, no, printf-builtin) (push) Skipped
Linux / latest (coverage) (push) Skipped
Linux / latest (gcc, no, printf-builtin) (push) Skipped
Linux / latest (gcc, yes, all) (push) Skipped
Linux / crypto (ubuntu-22.04, openssl-sys) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-3) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-4) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-awslc) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-sys) (push) Skipped
Linux / older (gcc, ubuntu-22.04, all) (push) Skipped
Windows / native (i686, mingw32, win32) (push) Skipped
CIFuzz / fuzzing (address) (push) Skipped
Linux / crypto (ubuntu-latest, wolfssl) (push) Skipped
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-14 12:55:25 +07:00
Denozordec and Claude Sonnet 5.5
5ffb5a2dbb
android: «How traffic goes» no longer says the app is not found on the first try: the check waits for the installed-apps list instead of a fixed 300 ms delay
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-14 12:50:50 +07:00
Denozordec and Claude Sonnet 5.5
ae06a58013
android: version 2.19.0 (168)
...
CodeQL / analyze (python) (push) Skipped
FreeBSD / freebsd (14.4) (push) Skipped
Linux / pre-check (push) Failing after 3s
Linux / latest (clang, no, default) (push) Skipped
Linux / latest (clang, no-testable-ke) (push) Skipped
Linux / latest (clang, yes, default) (push) Skipped
Linux / latest (yes, ld) (push) Skipped
Linux / older (gcc, ubuntu-22.04, nm) (push) Skipped
macOS / pre-check (push) Failing after 5s
Linux / alpine (push) Skipped
SonarCloud / pre-check (push) Failing after 4s
SonarCloud / sonarcloud (push) Skipped
Windows / pre-check (push) Failing after 4s
CodeQL / pre-check (push) Failing after 4s
CodeQL / analyze (ruby) (push) Skipped
FreeBSD / pre-check (push) Failing after 3s
Linux / latest (apidoc) (push) Skipped
Linux / latest (dist) (push) Skipped
Linux / latest (gcc, no, default) (push) Skipped
Linux / latest (gcc, yes, default) (push) Skipped
Linux / latest (no-testable-ke) (push) Skipped
Linux / crypto (ubuntu-latest, botan) (push) Skipped
Linux / older (clang, ubuntu-22.04, all) (push) Skipped
TKM / pre-check (push) Failing after 4s
Windows / cross-compile (win32) (push) Skipped
Windows / cross-compile (win64) (push) Skipped
Android / pre-check (push) Failing after 7s
CIFuzz / pre-check (push) Failing after 3s
CodeQL / analyze-cpp (push) Skipped
FreeBSD / freebsd (15.0) (push) Skipped
Linux / latest (clang, no-dbg) (push) Skipped
Linux / latest (clang, yes, all) (push) Skipped
Linux / latest (clang, yes, fuzzing) (push) Skipped
Linux / latest (gcc, no, all) (push) Skipped
Linux / latest (nm) (push) Skipped
Linux / latest (no-dbg) (push) Skipped
macOS / macos (macos-14) (push) Skipped
macOS / macos (macos-latest) (push) Skipped
Windows / native (x86_64, mingw64, win64) (push) Skipped
Android / android (push) Skipped
CIFuzz / fuzzing (undefined) (push) Skipped
Linux / latest (clang, no, all) (push) Skipped
Linux / latest (clang, no, printf-builtin) (push) Skipped
Linux / latest (coverage) (push) Skipped
Linux / latest (gcc, no, printf-builtin) (push) Skipped
Linux / latest (gcc, yes, all) (push) Skipped
Linux / crypto (ubuntu-22.04, openssl-sys) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-3) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-4) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-sys) (push) Skipped
Linux / older (gcc, ubuntu-22.04, all) (push) Skipped
Windows / native (i686, mingw32, win32) (push) Skipped
CIFuzz / fuzzing (address) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-awslc) (push) Skipped
Linux / crypto (ubuntu-latest, wolfssl) (push) Skipped
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-14 12:30:09 +07:00
Denozordec and Claude Sonnet 5.5
9109eb8460
android: an unattended service start (watchdog, pause end, FGS retry) no longer wipes the password saved with the profile; smoke-test notes
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-14 12:21:38 +07:00
Denozordec and Claude Sonnet 5.5
1ef8c983c7
android: keepalive/rekey alarms on elapsedRealtime with coalescing; BootReceiver re-arms pause and scenario alarms; scenarios survive a fresh process and run without network rules; watchdog-restored auto session parks again; NetworkManager tracks a network set; idle native engine goes dormant again; traffic history written every 5 min
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-14 11:48:27 +07:00
Denozordec and Claude Sonnet 5.5
072674d1a8
android: version 2.18.2 (167)
...
CodeQL / pre-check (push) Failing after 4s
CodeQL / analyze (python) (push) Skipped
FreeBSD / freebsd (14.4) (push) Skipped
Linux / pre-check (push) Failing after 4s
Linux / latest (clang, no, default) (push) Skipped
Linux / latest (clang, no-testable-ke) (push) Skipped
Linux / latest (clang, yes, default) (push) Skipped
Linux / latest (yes, ld) (push) Skipped
Linux / older (gcc, ubuntu-22.04, nm) (push) Skipped
Linux / alpine (push) Skipped
macOS / pre-check (push) Failing after 4s
SonarCloud / pre-check (push) Failing after 4s
SonarCloud / sonarcloud (push) Skipped
Windows / pre-check (push) Failing after 3s
CodeQL / analyze (ruby) (push) Skipped
FreeBSD / pre-check (push) Failing after 4s
Linux / latest (apidoc) (push) Skipped
Linux / latest (clang, yes, fuzzing) (push) Skipped
Linux / latest (dist) (push) Skipped
Linux / latest (gcc, no, default) (push) Skipped
Linux / latest (gcc, yes, default) (push) Skipped
Linux / latest (no-testable-ke) (push) Skipped
Linux / crypto (ubuntu-latest, botan) (push) Skipped
Linux / older (clang, ubuntu-22.04, all) (push) Skipped
TKM / pre-check (push) Failing after 4s
Windows / cross-compile (win32) (push) Skipped
Windows / cross-compile (win64) (push) Skipped
Android / pre-check (push) Failing after 6s
CIFuzz / pre-check (push) Failing after 3s
CodeQL / analyze-cpp (push) Skipped
FreeBSD / freebsd (15.0) (push) Skipped
Linux / latest (clang, no-dbg) (push) Skipped
Linux / latest (clang, yes, all) (push) Skipped
Linux / latest (gcc, no, all) (push) Skipped
Linux / latest (nm) (push) Skipped
Linux / latest (no-dbg) (push) Skipped
macOS / macos (macos-14) (push) Skipped
macOS / macos (macos-latest) (push) Skipped
Windows / native (x86_64, mingw64, win64) (push) Skipped
Android / android (push) Skipped
CIFuzz / fuzzing (undefined) (push) Skipped
Linux / latest (clang, no, all) (push) Skipped
Linux / latest (clang, no, printf-builtin) (push) Skipped
Linux / latest (coverage) (push) Skipped
Linux / latest (gcc, no, printf-builtin) (push) Skipped
Linux / latest (gcc, yes, all) (push) Skipped
Linux / crypto (ubuntu-22.04, openssl-sys) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-3) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-4) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-awslc) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-sys) (push) Skipped
Linux / older (gcc, ubuntu-22.04, all) (push) Skipped
Windows / native (i686, mingw32, win32) (push) Skipped
CIFuzz / fuzzing (address) (push) Skipped
Linux / crypto (ubuntu-latest, wolfssl) (push) Skipped
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-14 09:42:48 +07:00
Denozordec and Claude Sonnet 5.5
228f9f6004
android: deleting or updating a profile no longer crashes when its data source was already closed
...
A profile keeps the VpnProfileSqlDataSource it was loaded from, and close() nulls its database, so insert/update/delete on that profile hit a NullPointerException and the profile stayed in place. The data source now reopens the database on demand.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-14 09:41:29 +07:00
Denozordec and Claude Sonnet 5.5
6756d2fca5
android: version 2.18.1 (166)
...
CodeQL / analyze (python) (push) Skipped
FreeBSD / freebsd (14.4) (push) Skipped
Linux / pre-check (push) Failing after 4s
Linux / latest (clang, no, default) (push) Skipped
Linux / latest (clang, no-testable-ke) (push) Skipped
Linux / latest (clang, yes, default) (push) Skipped
Linux / latest (yes, ld) (push) Skipped
Linux / older (gcc, ubuntu-22.04, nm) (push) Skipped
Linux / alpine (push) Skipped
macOS / pre-check (push) Failing after 4s
SonarCloud / pre-check (push) Failing after 4s
SonarCloud / sonarcloud (push) Skipped
Windows / pre-check (push) Failing after 3s
CodeQL / pre-check (push) Failing after 5s
CodeQL / analyze (ruby) (push) Skipped
FreeBSD / pre-check (push) Failing after 3s
Linux / latest (apidoc) (push) Skipped
Linux / latest (clang, yes, fuzzing) (push) Skipped
Linux / latest (dist) (push) Skipped
Linux / latest (gcc, no, default) (push) Skipped
Linux / latest (gcc, yes, default) (push) Skipped
Linux / latest (no-testable-ke) (push) Skipped
Linux / crypto (ubuntu-latest, botan) (push) Skipped
Linux / older (clang, ubuntu-22.04, all) (push) Skipped
TKM / pre-check (push) Failing after 3s
Windows / cross-compile (win32) (push) Skipped
Windows / cross-compile (win64) (push) Skipped
Android / pre-check (push) Failing after 5s
CIFuzz / pre-check (push) Failing after 4s
CodeQL / analyze-cpp (push) Skipped
FreeBSD / freebsd (15.0) (push) Skipped
Linux / latest (clang, no-dbg) (push) Skipped
Linux / latest (clang, yes, all) (push) Skipped
Linux / latest (gcc, no, all) (push) Skipped
Linux / latest (nm) (push) Skipped
Linux / latest (no-dbg) (push) Skipped
macOS / macos (macos-14) (push) Skipped
macOS / macos (macos-latest) (push) Skipped
Windows / native (x86_64, mingw64, win64) (push) Skipped
Android / android (push) Skipped
CIFuzz / fuzzing (undefined) (push) Skipped
Linux / latest (clang, no, all) (push) Skipped
Linux / latest (clang, no, printf-builtin) (push) Skipped
Linux / latest (coverage) (push) Skipped
Linux / latest (gcc, no, printf-builtin) (push) Skipped
Linux / latest (gcc, yes, all) (push) Skipped
Linux / crypto (ubuntu-22.04, openssl-sys) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-3) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-4) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-sys) (push) Skipped
Linux / older (gcc, ubuntu-22.04, all) (push) Skipped
Windows / native (i686, mingw32, win32) (push) Skipped
CIFuzz / fuzzing (address) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-awslc) (push) Skipped
Linux / crypto (ubuntu-latest, wolfssl) (push) Skipped
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-14 01:52:12 +07:00
Denozordec and Claude Sonnet 5.5
5998c0fc46
android: Home view model no longer re-reads the Wi-Fi SSID on every signal-strength tick (state recomputed only when the transports change); energy plan: no shared network-callback hub, why
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-14 01:44:03 +07:00
Denozordec and Claude Sonnet 5.5
f5b15a0394
android: health check skips probes while inbound tunnel traffic proves liveness (adaptive mode, real probe at least every 5 min) and probes a single target with the screen off; unit tests; energy plan notes keepalive stays at 45 s
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-14 01:22:09 +07:00
Denozordec and Claude Sonnet 5.5
38e5fd84bb
android: less idle CPU work: TUN reader waits on poll+eventfd instead of a 1 s select; scenario app polling stops with the screen and slows down when idle; site DNS refresh waits for the screen; ServerActivity and rememberNow loops follow the lifecycle; energy plan
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-14 01:18:15 +07:00
Denozordec and Claude Opus 5.5
e0113e3413
android docs: the Final 2026 mockup (143 artboard sources and canvas.json) with an artboard-to-code map; app overview, code map, localization and release guide; AGENTS.md updated; old UI plan marked as archive
...
CodeQL / analyze (python) (push) Skipped
FreeBSD / freebsd (14.4) (push) Skipped
Linux / pre-check (push) Failing after 4s
Linux / latest (clang, no, default) (push) Skipped
Linux / latest (clang, no-testable-ke) (push) Skipped
Linux / latest (clang, yes, default) (push) Skipped
Linux / latest (yes, ld) (push) Skipped
Linux / older (gcc, ubuntu-22.04, nm) (push) Skipped
Linux / alpine (push) Skipped
macOS / pre-check (push) Failing after 4s
SonarCloud / pre-check (push) Failing after 4s
SonarCloud / sonarcloud (push) Skipped
Windows / pre-check (push) Failing after 4s
CodeQL / pre-check (push) Failing after 4s
CodeQL / analyze (ruby) (push) Skipped
FreeBSD / pre-check (push) Failing after 4s
Linux / latest (apidoc) (push) Skipped
Linux / latest (dist) (push) Skipped
Linux / latest (gcc, no, default) (push) Skipped
Linux / latest (gcc, yes, default) (push) Skipped
Linux / latest (no-testable-ke) (push) Skipped
Linux / crypto (ubuntu-latest, botan) (push) Skipped
Linux / older (clang, ubuntu-22.04, all) (push) Skipped
TKM / pre-check (push) Failing after 4s
Windows / cross-compile (win32) (push) Skipped
Windows / cross-compile (win64) (push) Skipped
Android / pre-check (push) Failing after 6s
CIFuzz / pre-check (push) Failing after 4s
CodeQL / analyze-cpp (push) Skipped
FreeBSD / freebsd (15.0) (push) Skipped
Linux / latest (clang, no-dbg) (push) Skipped
Linux / latest (clang, yes, all) (push) Skipped
Linux / latest (clang, yes, fuzzing) (push) Skipped
Linux / latest (gcc, no, all) (push) Skipped
Linux / latest (nm) (push) Skipped
Linux / latest (no-dbg) (push) Skipped
macOS / macos (macos-14) (push) Skipped
macOS / macos (macos-latest) (push) Skipped
Windows / native (x86_64, mingw64, win64) (push) Skipped
Android / android (push) Skipped
CIFuzz / fuzzing (undefined) (push) Skipped
Linux / latest (clang, no, all) (push) Skipped
Linux / latest (clang, no, printf-builtin) (push) Skipped
Linux / latest (coverage) (push) Skipped
Linux / latest (gcc, no, printf-builtin) (push) Skipped
Linux / latest (gcc, yes, all) (push) Skipped
Linux / crypto (ubuntu-22.04, openssl-sys) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-3) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-4) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-sys) (push) Skipped
Linux / older (gcc, ubuntu-22.04, all) (push) Skipped
Windows / native (i686, mingw32, win32) (push) Skipped
CIFuzz / fuzzing (address) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-awslc) (push) Skipped
Linux / crypto (ubuntu-latest, wolfssl) (push) Skipped
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 09:31:05 +07:00
Denozordec and Claude Opus 5.5
637b8061ed
android: version 2.18.0 (165)
...
CodeQL / analyze (python) (push) Skipped
FreeBSD / freebsd (14.4) (push) Skipped
Linux / pre-check (push) Failing after 4s
Linux / latest (clang, no, default) (push) Skipped
Linux / latest (clang, no-testable-ke) (push) Skipped
Linux / latest (clang, yes, default) (push) Skipped
Linux / latest (yes, ld) (push) Skipped
Linux / older (gcc, ubuntu-22.04, nm) (push) Skipped
Linux / alpine (push) Skipped
macOS / pre-check (push) Failing after 3s
SonarCloud / pre-check (push) Failing after 4s
SonarCloud / sonarcloud (push) Skipped
Windows / pre-check (push) Failing after 4s
CodeQL / pre-check (push) Failing after 4s
CodeQL / analyze (ruby) (push) Skipped
FreeBSD / pre-check (push) Failing after 3s
Linux / latest (apidoc) (push) Skipped
Linux / latest (clang, yes, fuzzing) (push) Skipped
Linux / latest (dist) (push) Skipped
Linux / latest (gcc, no, default) (push) Skipped
Linux / latest (gcc, yes, default) (push) Skipped
Linux / latest (no-testable-ke) (push) Skipped
Linux / crypto (ubuntu-latest, botan) (push) Skipped
Linux / older (clang, ubuntu-22.04, all) (push) Skipped
TKM / pre-check (push) Failing after 3s
Windows / cross-compile (win32) (push) Skipped
Windows / cross-compile (win64) (push) Skipped
Android / pre-check (push) Failing after 6s
CIFuzz / pre-check (push) Failing after 3s
CodeQL / analyze-cpp (push) Skipped
FreeBSD / freebsd (15.0) (push) Skipped
Linux / latest (clang, no-dbg) (push) Skipped
Linux / latest (clang, yes, all) (push) Skipped
Linux / latest (gcc, no, all) (push) Skipped
Linux / latest (nm) (push) Skipped
Linux / latest (no-dbg) (push) Skipped
macOS / macos (macos-14) (push) Skipped
macOS / macos (macos-latest) (push) Skipped
Windows / native (x86_64, mingw64, win64) (push) Skipped
Android / android (push) Skipped
CIFuzz / fuzzing (undefined) (push) Skipped
Linux / latest (clang, no, all) (push) Skipped
Linux / latest (clang, no, printf-builtin) (push) Skipped
Linux / latest (coverage) (push) Skipped
Linux / latest (gcc, no, printf-builtin) (push) Skipped
Linux / latest (gcc, yes, all) (push) Skipped
Linux / crypto (ubuntu-22.04, openssl-sys) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-3) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-4) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-sys) (push) Skipped
Linux / older (gcc, ubuntu-22.04, all) (push) Skipped
Windows / native (i686, mingw32, win32) (push) Skipped
CIFuzz / fuzzing (address) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-awslc) (push) Skipped
Linux / crypto (ubuntu-latest, wolfssl) (push) Skipped
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 00:31:57 +07:00
Denozordec and Claude Opus 5.5
29095e087f
android: de, pl, uk, zh-CN and zh-TW translations of all new strings and plurals; old English leftovers in pl/uk/zh-TW translated; short German and Ukrainian tab labels on one line; trusted-network hint centred; German keeps noun capitals in mid-sentence labels
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 22:29:05 +07:00
Denozordec and Claude Opus 5.5
e3e6d51f6f
android: no unattended start of a profile without a saved password (watchdog, network rules, scenarios, reserve, bridge): an event that opens the server instead; «password missing» ends the watchdog expectation; resume and restore keep a typed password; warning on the server page
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 22:01:41 +07:00
Denozordec and Claude Opus 5.5
df1575fe27
android: one order for the network rules and the scenarios (top wins), hand actions beat a running scenario until it ends
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 21:35:17 +07:00
Denozordec and Claude Opus 5.5
a39993075e
android: the rest of the UI in the Final 2026 style: setting rows as on the sub pages, kit colours and type everywhere, server picker labels, shortcut picker and remediation screens; the rules server moves to Scenarios, the old Trusted networks screen goes
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 19:51:18 +07:00
Denozordec and Claude Opus 5.5
9ed278b440
android: mockup line icons everywhere, mockup dialog buttons, server picker sheet as on F_Servers; drop the unused old Home and routing parts
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 19:33:42 +07:00
Denozordec and Claude Opus 5.5
16d4c72920
android: bridge question back in Help
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 16:11:51 +07:00
Denozordec and Claude Opus 5.5
1e32410fca
android: system notifications as in the Final 2026 mockup: connecting with Stop, answers in suggestion pushes, Update / What is new, weekly summary
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 16:09:51 +07:00
Denozordec and Claude Opus 5.5
8880601ef6
android: DNS and ads as in the Final 2026 mockup: filtering resolvers (AdGuard, Cloudflare 1.1.1.2), own DNS, applied to the tunnel
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 16:04:01 +07:00
Denozordec and Claude Opus 5.5
dcf8ace6e1
android: Home scenario hints as in the Final 2026 mockup (trusted network pill, rule suggestion), profile update from the error and expiry cards, a stop button on errors
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 15:58:57 +07:00
Denozordec and Claude Opus 5.5
1a6fb85259
android: scenarios as in the Final 2026 mockup: network rules with own switches, user scenarios (Wi-Fi, mobile, app, time, roaming, whitelists) with an engine, app picker
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 15:47:53 +07:00
Denozordec and Claude Opus 5.5
5ca60d7066
android: resilience of F_Profile at work: backup ports, reserve server, bridge while whitelists are on
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 15:33:36 +07:00
Denozordec and Claude Opus 5.5
e7b801d584
android: server page as in the Final 2026 mockup; profile source, link updates with a diff sheet and a daily check, per-profile IKE fragmentation
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 15:22:53 +07:00
Denozordec and Claude Opus 5.5
638c58f0e4
android: daily traffic history and the statistics screen as in the Final 2026 mockup; today's traffic on Home and the widget
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 15:08:13 +07:00
Denozordec and Claude Opus 5.5
92627da459
android: remove the pre-mockup Home parts (hero, banners, availability card, traffic tiles, glow)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 14:47:33 +07:00
Denozordec and Claude Opus 5.5
15ad5c1151
android: install-permission sheet before updating as in the Final 2026 mockup
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 14:42:18 +07:00
Denozordec and Claude Opus 5.5
92e2f4f069
android: connection steps on Home as in the Final 2026 mockup, read from the daemon log
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 14:39:26 +07:00
Denozordec and Claude Opus 5.5
a08c193a90
android: hint behind the system VPN consent window as in the Final 2026 mockup
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 14:36:09 +07:00
Denozordec and Claude Opus 5.5
8fbebed140
android: battery saving instructions screen as in the Final 2026 mockup
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 11:07:20 +07:00
Denozordec and Claude Opus 5.5
9c96c36fc6
android: all dialogs in the Final 2026 look (28dp card, 22/800 title, 50% scrim), login fields as form fields
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 11:01:25 +07:00
Denozordec and Claude Opus 5.5
ffa38d5f28
android: certificate expiry card on Home as in the Final 2026 mockup
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 10:55:39 +07:00
Denozordec and Claude Opus 5.5
e465797b5f
android: certificates screen as in the Final 2026 mockup (from profiles, added, system; expiry colors)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 10:51:13 +07:00
Denozordec and Claude Opus 5.5
b4a311c84f
android: notification settings as in the Final 2026 mockup (problems, new apps, updates)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 10:47:24 +07:00
Denozordec and Claude Opus 5.5
739068ccb9
android: help screen as in the Final 2026 mockup; log opens directly from settings
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 10:43:54 +07:00
Denozordec and Claude Opus 5.5
8cd704ed08
android: log screen as in the Final 2026 mockup
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 10:35:42 +07:00
Denozordec and Claude Opus 5.5
eb5a89623b
android: server delete confirmation as in the Final 2026 mockup
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 10:31:32 +07:00
Denozordec and Claude Opus 5.5
f193661e68
android: quick settings tile states and widget sizes as in the Final 2026 mockup
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 10:25:38 +07:00
Denozordec and Claude Opus 5.5
53623ebb4a
android: home screen widget in three sizes as in the Final 2026 mockup
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 10:18:47 +07:00
Denozordec and Claude Opus 5.5
db6c806d58
android: VPN notification as in the Final 2026 shade: protected title, pause and change actions
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 10:12:41 +07:00
Denozordec and Claude Opus 5.5
6652970925
android: first-run onboarding and permissions screen as in the Final 2026 mockup
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 10:08:57 +07:00
Denozordec and Claude Opus 5.5
dc8f5a75e1
android: appearance, kill switch and update pages as in the Final 2026 mockup
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 10:04:12 +07:00
Denozordec and Claude Opus 5.5
fecef1135c
android: import preview/error sheet and profile form as in the Final 2026 mockup
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 10:00:09 +07:00
Denozordec and Claude Opus 5.5
200697216d
android: add-server sheet with QR scan and link, share-by-QR screen (Final 2026)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 09:49:51 +07:00
Denozordec and Claude Opus 5.5
434e5bad4e
android: Servers, Settings and Apps direct screens as in the Final 2026 mockup
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-12 09:43:13 +07:00
Denozordec and Claude Opus 5.5
4ff5ed11bb
android: routing phase 3 and the Final 2026 design system (WIP)
...
- Routing: site and direct-address rules (sites resolved to addresses,
refreshed on connect and every 30 min), package patterns can be
switched off; unified Rules screen with add sheet and empty state;
"How traffic goes" for a site, IP or app with reasons, reachability and
one-tap rules; Recent apps (usage access) with failing apps; new-app
"go direct?" suggestions in Events.
- Diagnostics screen (all-in-one check), "Fastest" server, pause until
morning / until the network changes.
- Design system of the mockup: Manrope font, mockup palette for light and
dark, ShxKit components (cards, rows, switch, buttons, chips, tabs,
fields, sheets), mockup line icons; Home, nav bar, Routing, Rules,
Recent, Events, Diagnostics and route check rebuilt on it; shared
components restyled so the remaining screens pick up the look.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 22:46:27 +07:00
Denozordec and Claude Opus 5.5
60252437ac
android: home phase 2 - events inbox and problem notifications
...
- EventLog keeps what the app noticed and did by itself for 30 days on the
device (events.json); repeats of the same event within 30 minutes are
merged (x3), problems that go away are marked resolved.
- Recorded: connection errors and recovery, carrier whitelists on/off,
health-check reconnects, auto-connect starting/parking the tunnel, the
end of a pause, available updates.
- Problems are pushed on a new "Connection problems" channel, but only
while the app is in the background (Home shows them already).
- «Events» screen (InboxActivity): filters (all, need attention,
connection, routes, app), grouped by day, one action per event; opened
from a bell with an unread badge in the Home header.
- Amber warning colours in the status palette, used for whitelists, no
network and an unresponsive server.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 21:54:01 +07:00
Denozordec and Claude Opus 5.5
75849beb90
android: home phase 1 - header, quick actions, pause, problem cards
...
- Connect tab gets the Shield-S header and, while connected, three quick
actions: pause, switch server, "site not loading?" (route check).
- Pause VPN for 5/15/30/60 min (PauseManager + PauseReceiver): disconnects
like a manual stop and reconnects on an alarm; auto-connect waits, any
connect request cancels the pause. Home shows a countdown, "turn on now"
and "+15 minutes".
- Connection errors become plain-language cards with one fixing action:
no internet (tracked via a non-VPN network callback), server not
responding (with the retry countdown and "other server"), server not
found, sign-in rejected, server not verified, generic failure.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 21:36:34 +07:00
Denozordec and Claude Opus 5.5
8f21e16277
android: 2.17.1 - Shield-S launcher, shortcut and status bar icon
...
CodeQL / analyze (python) (push) Skipped
FreeBSD / freebsd (14.4) (push) Skipped
Linux / pre-check (push) Failing after 4s
Linux / latest (clang, no, default) (push) Skipped
Linux / latest (clang, no-testable-ke) (push) Skipped
Linux / latest (clang, yes, default) (push) Skipped
Linux / latest (yes, ld) (push) Skipped
Linux / older (gcc, ubuntu-22.04, nm) (push) Skipped
Linux / alpine (push) Skipped
macOS / pre-check (push) Failing after 3s
SonarCloud / pre-check (push) Failing after 4s
SonarCloud / sonarcloud (push) Skipped
Windows / pre-check (push) Failing after 4s
CodeQL / pre-check (push) Failing after 4s
CodeQL / analyze (ruby) (push) Skipped
FreeBSD / pre-check (push) Failing after 3s
Linux / latest (apidoc) (push) Skipped
Linux / latest (dist) (push) Skipped
Linux / latest (gcc, no, default) (push) Skipped
Linux / latest (gcc, yes, default) (push) Skipped
Linux / latest (no-testable-ke) (push) Skipped
Linux / crypto (ubuntu-latest, botan) (push) Skipped
Linux / older (clang, ubuntu-22.04, all) (push) Skipped
TKM / pre-check (push) Failing after 3s
Windows / cross-compile (win32) (push) Skipped
Windows / cross-compile (win64) (push) Skipped
Android / pre-check (push) Failing after 6s
CIFuzz / pre-check (push) Failing after 3s
CodeQL / analyze-cpp (push) Skipped
FreeBSD / freebsd (15.0) (push) Skipped
Linux / latest (clang, no-dbg) (push) Skipped
Linux / latest (clang, yes, all) (push) Skipped
Linux / latest (clang, yes, fuzzing) (push) Skipped
Linux / latest (gcc, no, all) (push) Skipped
Linux / latest (nm) (push) Skipped
Linux / latest (no-dbg) (push) Skipped
macOS / macos (macos-14) (push) Skipped
macOS / macos (macos-latest) (push) Skipped
Windows / native (x86_64, mingw64, win64) (push) Skipped
Android / android (push) Skipped
CIFuzz / fuzzing (undefined) (push) Skipped
Linux / latest (clang, no, all) (push) Skipped
Linux / latest (clang, no, printf-builtin) (push) Skipped
Linux / latest (coverage) (push) Skipped
Linux / latest (gcc, no, printf-builtin) (push) Skipped
Linux / latest (gcc, yes, all) (push) Skipped
Linux / crypto (ubuntu-22.04, openssl-sys) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-3) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-4) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-sys) (push) Skipped
Linux / older (gcc, ubuntu-22.04, all) (push) Skipped
Windows / native (i686, mingw32, win32) (push) Skipped
CIFuzz / fuzzing (address) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-awslc) (push) Skipped
Linux / crypto (ubuntu-latest, wolfssl) (push) Skipped
- adaptive launcher icon as vectors: purple background, white shield with
the S cut out (even-odd), plus a monochrome layer for Android 13+ themed
icons; profile shortcuts use the same icon
- vector legacy icon for Android 7.x in mipmap-anydpi, old strongSwan PNGs
removed
- connected status bar icon is the Shield-S silhouette; connecting,
warning and disconnected states keep their outlined shields
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-11 13:17:24 +07:00
Denozordec and Claude Opus 5.5
12a95d1e89
android: 2.17.0 - stability and battery fixes
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 09:28:46 +07:00
Denozordec and Claude Opus 5.5
66688031cd
android: small cleanups - DB close in finally, single profile reload
...
- HomeViewModel closes the profile database in finally blocks and relies
on the VPN_PROFILES_CHANGED broadcast instead of reloading twice
- READ_EXTERNAL_STORAGE only up to API 32; drop a dead settings flag
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 09:20:28 +07:00
Denozordec and Claude Opus 5.5
7abac87140
android: run DNS/route diagnostics on their own executor
...
They can block for 10-30 s on a degraded network and delayed any profile
load (connect, retry, profile switch) queued behind them.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 09:20:28 +07:00
Denozordec and Claude Opus 5.5
1b4fdc83d8
android: tile/widget/log fixes
...
- tile: query the configured profile once per listening session instead
of on every state notification
- widget: DISCONNECTING is shown as such, with a Disconnect button
- log viewer: bounded to 5000 lines, tails only while visible, picks up
a log created or restarted after opening, and no longer yanks the user
back to the bottom while they scroll up
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 09:19:33 +07:00
Denozordec and Claude Opus 5.5
ce80c36be1
android: routing - package scans off the main thread, no needless reconnects
...
- computeExcludedPackages() (full PackageManager scan) runs on Default,
not Main.immediate, on config changes and package add/remove
- updateConfig() ignores no-op transforms and reconnects when routing is
switched off too (direct apps kept bypassing the tunnel until then)
- config is volatile and read after its version, so an old config can no
longer be cached under a new version
- Direct apps loads the app list once per entry, without GET_META_DATA
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 09:19:33 +07:00
Denozordec and Claude Opus 5.5
07fb02790c
android: CharonVpnService - handover race, cheaper network/notification updates
...
- underlying-network bookkeeping is guarded by one lock and re-applied
after establish(), so a handover racing with it no longer leaves the
tunnel attributed to a lost network
- use the capabilities passed to onCapabilitiesChanged (no IPC per
signal-strength update); mCurrentProfile is volatile
- countdown-only notification re-posts are limited to one per 5 s
- the connected chronometer keeps its start time across re-posts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 09:17:36 +07:00
Denozordec and Claude Opus 5.5
b0f353af90
android: whitelist - working recheck backoff, fewer probe rounds
...
- scheduled rechecks are forced: the 15/30 s steps were below FRESH_MS,
so the unforced recheck returned early and the backoff chain died
- signal-strength-only capability changes are no longer network events
(each one reset the backoff and launched a check)
- tunnel state transitions force a new round at most every 15 s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 09:17:36 +07:00
Denozordec and Claude Opus 5.5
514b15b1ca
android: home/routing UI - poll only while visible, no idle animation
...
- traffic (1 s) and probe (10 s) loops run only while the Home screen is
shown and the VPN is connected; no 1 s idle tick otherwise
- the refresh button no longer runs a second exit-IP trace
- the glow pulse is not composed at all while disconnected or with
animations off (it redrew a transparent circle every frame)
- RTT sparkline appends each probe result once (it duplicated stale ones)
- Routing dead-host poll is lifecycle-aware
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 09:15:10 +07:00
Denozordec and Claude Opus 5.5
5f8b813eb4
android: updates - honour the charging constraint, real metered check
...
- drop the in-process 12 h loop: the VPN keeps the process alive, so it
checked and pre-downloaded on battery, defeating the worker constraint
- the worker now waits for the check and a silent download it starts
- metered is judged by the physical network: the VPN reports itself
unmetered, so pre-downloads ran over cellular while connected
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 09:15:10 +07:00
Denozordec and Claude Opus 5.5
6668dcfb56
android: health check - ping the server only when it can matter
...
- WITH_TUNNEL mode pings the server only once the external targets fail
(no ping fork + DNS lookup outside the tunnel on every healthy cycle;
an ICMP-blocking server no longer forces fast polls)
- initial battery-low state from the sticky ACTION_BATTERY_CHANGED
- non-state notifications no longer restart a pending cycle
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 09:12:22 +07:00
Denozordec and Claude Opus 5.5
1eb1dfe317
android: RU list - no reconnect for an unchanged list, failure backoff
...
- same SHA-256 as the applied list: only bump the timestamp, no parse,
save or tunnel reconnect (it tore a healthy tunnel down daily)
- a failed download is not retried on every cold start (3 h backoff)
- the saved list is read and parsed off the main thread at startup
- switching the split off in system mode reconnects to drop the routes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 09:12:22 +07:00
Denozordec and Claude Opus 5.5
cf89cec20e
android: watchdog backs off whenever a live process owns recovery
...
Retrying, connecting or whitelist-blocked sessions kept the 60 s alarm and
the 10 min Doze wakeup for hours although a live process makes the alarm
useless. They now share the connected backoff (5 min / 60 min).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 09:12:22 +07:00
Denozordec and Claude Opus 5.5
24e536b9b9
android: updates - no stuck Downloading state, thread-safe singleton
...
After a silent pre-download the state stayed Downloading, so tapping the
"update ready" notification did nothing. It now returns to Available;
an install request without a known update (e.g. after a process restart)
re-checks and installs when found.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 09:09:40 +07:00
Denozordec and Claude Opus 5.5
e6c893219c
android: DiagLog thread-safe timestamps; auto-connect survives stop/start
...
- SimpleDateFormat is now used under the lock; rotation counts bytes
- AutoConnectManager.stop() clears pendingEvaluate, whose reset runnable
it removes, so later connects are not silently swallowed
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 09:09:40 +07:00
Denozordec and Claude Opus 5.5
01c398f2f7
android: tile/control activity - no bind leaks, no callbacks after destroy
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 09:09:40 +07:00
Denozordec and Claude Opus 5.5
f2e4ffe860
android: VpnStateService - single retry countdown, isolated listeners
...
- remove pending RETRY_MSG on reset/set: a Retry tap during a backoff
started a second countdown chain (double-speed ticks, two reconnects)
- notify listeners over a copy with per-listener error handling
- disconnect() tolerates the VPN service not running
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 09:09:40 +07:00
Denozordec and Claude Opus 5.5
358dcb94b2
android: CharonVpnService - safer foreground and teardown handling
...
- DISCONNECT (plain startService) no longer promotes to the foreground,
and startForeground() refusals on Android 12+ are logged, not fatal
- drop the placeholder notification when nothing was running, so the
service does not stay in the foreground with a stale Disabled state
- onDestroy: shutdownNow/await the profile executor before closing the
database; profile loads catch errors instead of killing the process
- unbind by bind result, not by mService (binding leaked if destroyed
before onServiceConnected)
- the connection thread's crash guard can no longer throw itself
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 09:09:39 +07:00
Denozordec and Claude Opus 5.5
2b40eebf5b
android: close TCP probe sockets right after connecting
...
tcpPing never closed its socket: every health/whitelist/home probe leaked
an fd until GC and the peer's later FIN/RST woke the radio again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 09:09:39 +07:00
Denozordec and Claude Opus 5.5
793ca1b410
android: native - hold charon_mutex while reading routing engine stats
...
getRoutingStats/getDeadDirectTargets are polled from the UI once a second;
a concurrent disconnect frees the engine under charon_mutex, so reading it
without the lock was a use-after-free.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 09:05:09 +07:00
Denozordec and Claude Opus 5.5
5e38fc2f76
android: keep the BETA badge on one line on narrow mode cards
...
CodeQL / analyze (python) (push) Skipped
FreeBSD / freebsd (14.4) (push) Skipped
Linux / pre-check (push) Failing after 4s
Linux / latest (clang, no, default) (push) Skipped
Linux / latest (clang, no-testable-ke) (push) Skipped
Linux / latest (clang, yes, default) (push) Skipped
Linux / latest (yes, ld) (push) Skipped
Linux / older (gcc, ubuntu-22.04, nm) (push) Skipped
Linux / alpine (push) Skipped
macOS / pre-check (push) Failing after 4s
SonarCloud / pre-check (push) Failing after 3s
SonarCloud / sonarcloud (push) Skipped
Windows / pre-check (push) Failing after 3s
CodeQL / pre-check (push) Failing after 4s
CodeQL / analyze (ruby) (push) Skipped
FreeBSD / pre-check (push) Failing after 3s
Linux / latest (apidoc) (push) Skipped
Linux / latest (clang, yes, fuzzing) (push) Skipped
Linux / latest (dist) (push) Skipped
Linux / latest (gcc, no, default) (push) Skipped
Linux / latest (gcc, yes, default) (push) Skipped
Linux / latest (no-testable-ke) (push) Skipped
Linux / crypto (ubuntu-latest, botan) (push) Skipped
Linux / older (clang, ubuntu-22.04, all) (push) Skipped
TKM / pre-check (push) Failing after 4s
Windows / cross-compile (win32) (push) Skipped
Windows / cross-compile (win64) (push) Skipped
Android / pre-check (push) Failing after 5s
CIFuzz / pre-check (push) Failing after 4s
CodeQL / analyze-cpp (push) Skipped
FreeBSD / freebsd (15.0) (push) Skipped
Linux / latest (clang, no-dbg) (push) Skipped
Linux / latest (clang, yes, all) (push) Skipped
Linux / latest (gcc, no, all) (push) Skipped
Linux / latest (nm) (push) Skipped
Linux / latest (no-dbg) (push) Skipped
macOS / macos (macos-14) (push) Skipped
macOS / macos (macos-latest) (push) Skipped
Windows / native (x86_64, mingw64, win64) (push) Skipped
Android / android (push) Skipped
CIFuzz / fuzzing (undefined) (push) Skipped
Linux / latest (clang, no, all) (push) Skipped
Linux / latest (clang, no, printf-builtin) (push) Skipped
Linux / latest (coverage) (push) Skipped
Linux / latest (gcc, no, printf-builtin) (push) Skipped
Linux / latest (gcc, yes, all) (push) Skipped
Linux / crypto (ubuntu-22.04, openssl-sys) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-3) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-4) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-sys) (push) Skipped
Linux / older (gcc, ubuntu-22.04, all) (push) Skipped
Windows / native (i686, mingw32, win32) (push) Skipped
CIFuzz / fuzzing (address) (push) Skipped
Linux / crypto (ubuntu-latest, openssl-awslc) (push) Skipped
Linux / crypto (ubuntu-latest, wolfssl) (push) Skipped
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 01:55:19 +07:00
Denozordec and Claude Opus 5.5
c23d4dad8b
android: 2.16.0 - Routing 2.0: one direct-apps list, inline RU mode, no per-profile app picker
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 01:48:33 +07:00
Denozordec and Claude Opus 5.5
e2ce8420a7
android: remove per-profile app picker, rule-set UI and SelectedApplicationsActivity
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 01:48:00 +07:00
Denozordec and Claude Opus 5.5
488c0aa210
android: Routing tab redesign - RU sites card, direct apps screen, advanced pages
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 01:47:59 +07:00
Denozordec and Claude Opus 5.5
48f1ed7fb8
android: routing 2.0 strings (en/ru/de), drop obsolete rule-set strings
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 01:47:59 +07:00
Denozordec and Claude Opus 5.5
389712bba3
android: global direct-apps routing model, migration, single-source CharonVpnService excludes
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 01:47:58 +07:00