fix: harden UI actions and daemon calls for reliable control (v1.3.2)

Retry and serialize pineapd/hak5 calls, queue virtual-pager keys, and grey out buttons until the pager finishes. Deploy now installs python3-light after factory firmware. Bump version to 1.3.2.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-20 15:49:10 -05:00
co-authored by Cursor
parent cd26553d21
commit 7d48b7ad06
25 changed files with 3625 additions and 782 deletions
+7 -5
View File
@@ -16,7 +16,7 @@ terminal.
## Requirements
- WiFi Pineapple Pager, firmware `Pineapple Pager 24.10.1`
- `python3` on the device (present on current firmware)
- `python3` on the device (factory 24.10.1 may not ship it; `scripts/deploy.sh` installs OpenWrt `python3-light` from offline ipks)
- Python 3.11 on the development machine
## Install (sideload)
@@ -53,10 +53,12 @@ Then on the Pager menu, run **Mark VIII**:
Every payload run (and every service startup) first runs an **environment
check** that prints on the payload screen / `/tmp/pagerwebui.log`: daemon
reachable, pineapd alive, sane-off PineAP UCI defaults applied (SSID pool
broadcast off, 6GHz hopper disabled, monitor bands), runtime pool sync, monitor
interfaces up, and recon DB readable. Anything fixable is fixed and re-verified;
startup aborts only if a core dependency fails.
reachable, pineapd alive, monitor interfaces up, and recon DB readable. On a
healthy pager it **does not rewrite** live PineAP or wireless UCI (SSID pool,
hopping, dummy_radio0 STA, Open AP). Crash-prone settings are reported as
warnings. Startup aborts only if a core dependency fails. The health monitor
will restart a dead pineapd and re-raise dropped monitors; it will not clear
the SSID list or disable pool broadcast.
Browse `http://172.16.52.1:8080/` and log in with the device password.