RKNnoVPN/daemon/internal
Repository files (latest commit first)
Filename Latest commit message Latest commit date
loop-uh e175f6a0c7 Fix import, update parsing, and self-update resilience
Import flow (6 fixes):
- Use LinkParser.parse() instead of inline regex (was creating empty outbound)
- Show errors in ImportSheet (were swallowed silently)
- Add "No URIs detected" feedback
- Auto-select imported node group
- Add hysteria2/hy2/tuic to KNOWN_SCHEMES
- Clear error on sheet open/close

Update system (4 fixes):
- Add update commands to privctl CLI (were missing from commands map)
- Fix version response key mismatch (daemon vs APK)
- Fix boolean parsing: use .booleanOrNull not .content.toBoolean
- Fix logs response unwrapping (object with "lines" key, not bare array)

Self-update resilience (7 fixes):
- Atomic binary copy (write temp + rename, not truncate in-place)
- Rollback on failure (backup binaries before update)
- Verify new binary before switching (run --version, check signals)
- Schedule old daemon self-exit after IPC response
- Wait for new daemon to start (10s socket check)
- Handle old privctl "unknown command" gracefully → MODULE_TOO_OLD
- Fallback "Open GitHub Releases" button when module too old

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 19:39:11 +03:00
..
config Fix Go daemon ↔ shell script bridge gap 2026-04-11 15:51:46 +03:00
core Fix Go daemon ↔ shell script bridge gap 2026-04-11 15:51:46 +03:00
health Initial commit: PrivStack v1.0.0 2026-04-11 15:32:59 +03:00
ipc Initial commit: PrivStack v1.0.0 2026-04-11 15:32:59 +03:00
rescue Fix Go daemon ↔ shell script bridge gap 2026-04-11 15:51:46 +03:00
updater Fix import, update parsing, and self-update resilience 2026-04-11 19:39:11 +03:00
watcher Initial commit: PrivStack v1.0.0 2026-04-11 15:32:59 +03:00