mirror of
https://github.com/okhsunrog/vpnhide.git
synced 2026-07-11 01:58:44 +00:00
The app writes a per-app Java hook selection as a string array ("java":
["lsposed_network", ...]), the same shape as "native". The Rust activator
typed "java" as a plain bool, so serde rejected the whole canonical with
'invalid type: sequence, expected a boolean'. Because the native activator
parses the entire config, a partial Java selection for a single app silently
disabled the kmod/KPM/Zygisk backend for every app.
The activator never acts on "java" (LSPosed self-reads and owns Java hook
selection), it only needs to parse it. Accept both the bool and the array
form, collapsing to enabled-ness.
- activator: de_bool_or_hook_list deserializer for the java field; regression
test covering the array form (and an empty array = disabled), asserting
native projection is unaffected
- testdata/storage_config_v1.json: give org.example.proxy a per-hook java
array so the shared Rust+Kotlin parity fixture exercises the shape that
previously slipped through; update both fixture assertions
|
||
|---|---|---|
| .. | ||
| storage_config_v1.json | ||