vpnhide/scripts
okhsunrog 9d56892d61 refactor(lsposed): serializable domain, single-JSON debug export
Make the domain state @Serializable and dump it straight to JSON instead of
hand-writing a parallel DTO plus a pile of text-file builders that kept drifting
out of sync with what the app renders. This also fixes a real export-path bug:
the debug bundle re-derived module state from a shell snapshot that never emitted
proc_exists/ports_chain, so native/ports always read "inactive" in every bundle.

- Annotate the domain @Serializable (DiagnosticReport, sealed CheckOutcome /
  LayerStatus / ModuleState, enums, DashboardState, NativeBackendStates), with
  compact @SerialName discriminators; make generated HookIds.Hook serializable
- Add one canonical VpnHideState aggregate serialized via kotlinx.serialization;
  delete DiagnosticReportRender (ReportJson/toDiagnosticsText) and every
  build*Text bundle builder
- Debug export is now a single vpnhide_debug_<ts>.json; kernel-image and
  full-logcat exports keep a zip but bundle the same state.json inside
- Derive the bundle's module/liveness state from RootSnapshotCache (the same
  snapshot the dashboard uses); DebugShellSnapshot is forensic-only. Guard test
  pins that the snapshot command emits every detector-required section
- Add a snapshot_shell_uid probe and runtimeCheckable: a liveness read from a
  non-root shell is untrustworthy, so render "status not verified" (new
  LayerStatus.Unverified) instead of a false "inactive"
- Reorder/rename the Diagnostics export cards for clarity
2026-08-19 15:21:34 +03:00
..
build-version.py fix(build): port build scripts to Python to allow Windows contributors to build subprojects (#83) 2026-04-25 19:53:15 +03:00
build_lib.py fix(release): keep Cargo.lock in sync on version bump; build --locked (#239) 2026-07-05 00:10:14 +03:00
changelog.py Close audit findings in clean-device, release, changelog, update-json, codegen (#209) 2026-06-30 11:31:45 +03:00
changelog_lib.py chore: CI + scripts cleanup (review items #12 #13 #24 #31 #32 #37) 2026-04-27 01:14:03 +03:00
clang-format-c.sh Pin C formatting to clang-format 18 2026-06-29 02:55:57 +03:00
clean-device.sh refactor(storage): remove legacy configuration migration 2026-08-11 22:06:44 +03:00
codegen-hooks.py refactor(lsposed): serializable domain, single-JSON debug export 2026-08-19 15:21:34 +03:00
codegen-interfaces.py Close audit findings in clean-device, release, changelog, update-json, codegen (#209) 2026-06-30 11:31:45 +03:00
codegen_lib.py Close audit findings in clean-device, release, changelog, update-json, codegen (#209) 2026-06-30 11:31:45 +03:00
measure-startup.py Address startup cache review findings 2026-06-22 22:58:05 +03:00
preview-changelog.py fix(scripts): CHANGELOG.md at release time + Markdown fragments 2026-04-19 21:57:34 +03:00
release.py fix(release): keep Cargo.lock in sync on version bump; build --locked (#239) 2026-07-05 00:10:14 +03:00
stats.py ci+chore: add ruff (format + lint) for python scripts 2026-04-26 23:48:37 +03:00
update-json.sh docs: refresh installation/backend docs + 1.0.0 screenshots (#224) 2026-07-02 00:03:17 +03:00