Repository navigation
v0.2.2
Quantus Node v0.2.2 (versionCode 28)
A diagnostic update: the shared log now explains the phone it came from. The node launch arguments, the database and the bundled node binary are unchanged (still the versionCode 10 build). One permission is added: ACCESS_NETWORK_STATE (a normal, read-only permission), used only for the network-change stamps below.
Highlights
- A summary block heads every shared log. App and device (app version, Android version and API level, device model and maker, chain, install and update times), the state at share time (status, session uptime, best / highest / peer counts, when the last RPC response arrived, telemetry on or off — the running session's launched value, or the saved setting, marked as such, when stopped), device resources (node data size, free storage, battery level and temperature, free memory, battery-optimization exemption, notification permission), session history (how the previous session ended and its exit code — kept across a restart, so it survives into the next session —, starts in the last 24 hours, the cumulative track record, when each setting last changed) and facts about the log itself (the shared excerpt's time range, whether it was truncated, WARN / ERROR line counts). Labels are fixed English; a value the app cannot know is printed as "n/a", never guessed — the finalized height, the bundled binary's own version and the genesis hash are the standing examples. The block sits outside the excerpt's existing 100,000-character cap.
- Network changes are stamped into the log. When the default network's type changes (wifi / cellular / none / other), the service writes an "[app] network: …" line, so a peer drop in a shared log can be read against the connection it rode on. This is what ACCESS_NETWORK_STATE is for; the stamps stay in the on-device log and nothing is transmitted.
- Sharing can mask identifying values, on by default. The share dialog gains a toggle (on unless the user turns it off): the display name — both the running session's launched name and the current setting's —, the IP addresses of this device's current network interfaces and the app-private paths are replaced in the shared log text, as whole tokens only (a peer's similar address, e.g. 10.0.0.10 next to this device's 10.0.0.1, is left untouched), so a log pasted into a public issue keeps its diagnostic structure without them. The summary block carries none of those values either way. If the device's addresses cannot be enumerated, masking stays on for that share.
Verification
The changes are verified on the JVM harness: 4,696 checks passed, 0 failed. On a real device (Pixel 9a / GrapheneOS), an in-place update over v0.2.1 was installed, and an actual share confirmed the summary block and the masking — the display name, this device's own IP address and the app-private paths masked, with the diagnostic structure intact.
Requirements
Android 12 or later, arm64 device.
APK
- File: quantus-node-v0.2.2.apk
- Size: 55,733,030 bytes
- SHA-256: e1b8fef1f4cde966b5bfe40fdc135c380fd6d555d82d96d06dc5d685ad72b701