wrolpi/controller/lib
Roland a0fa03e6c5
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Controller Tests / controller-tests (push) Waiting to run
Jest Tests / jest-tests (push) Waiting to run
controller: leave a usable terminal when stopping the desktop
Stopping the display manager left the Pi's monitor black with only a blinking
cursor. The console VT is already in the foreground with a getty and a live
shell on it (verified: /dev/vcs1 holds the login banner and prompt) — the
display manager just hands the display back without the console being
repainted, so nothing is visible.

Activate the console VT, then bounce off another VT to force a modeset and
redraw, and print a short message telling the user the Controller stopped the
desktop and how to start it again.

Best-effort throughout: skipped when no getty is on the console VT, a chvt or
console-write failure never fails the stop, and being stranded on the repaint
VT is reported rather than claimed as success. Verified on 10.0.0.8 hardware.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-29 16:07:36 -06:00
..
__init__.py Creating Controller service which will control WROLPi services, admin, SMART, disks, and status. nginx will fallback to Controller UI when React UI is unavailable (such as during upgrades). 2025-12-15 15:48:40 -07:00
admin.py controller: leave a usable terminal when stopping the desktop 2026-07-29 16:07:36 -06:00
config.py Controller: hide Root CA download until drive is ready 2026-07-18 13:44:35 -06:00
disks.py Disks: allow persisting the primary mount from the UI; clean NTFS before mounting. 2026-07-05 14:50:56 -06:00
docker_services.py Remove stale Postgres references after SQLite cutover. 2026-07-18 13:28:54 -06:00
fstab.py Disks: allow persisting the primary mount from the UI; clean NTFS before mounting. 2026-07-05 14:50:56 -06:00
fstab_migration.py Moving WROLPi-managed mounts off /etc/fstab onto a drive-resident fstab.yaml. 2026-05-24 12:44:05 -06:00
fstab_yaml.py Moving WROLPi-managed mounts off /etc/fstab onto a drive-resident fstab.yaml. 2026-05-24 12:44:05 -06:00
mount_executor.py Reconciler: uid/gid and ntfsfix for NTFS secondary mounts. 2026-07-06 20:30:29 -06:00
mount_runner.py Disks: allow persisting the primary mount from the UI; clean NTFS before mounting. 2026-07-05 14:50:56 -06:00
onboarding.py Moving WROLPi-managed mounts off /etc/fstab onto a drive-resident fstab.yaml. 2026-05-24 12:44:05 -06:00
readiness.py Checking readiness of main app in Controller instead of javascript requests, which break with CORS. 2026-03-08 16:05:56 -06:00
reconciler.py Reconciler: uid/gid and ntfsfix for NTFS secondary mounts. 2026-07-06 20:30:29 -06:00
samba.py Adding docker support for samba shares. 2026-03-29 11:14:38 -06:00
scripts.py upgrade: report git branch via --show-current so a stale release tag can't break upgrades 2026-07-29 16:03:33 -06:00
smart.py Surface coarse SMART health for USB-bridge drives (#498) 2026-06-26 09:05:06 -06:00
status.py controller: report idle (0 RPM) fans; prefer the CPU fan over case fans 2026-07-23 19:52:58 -06:00
status_worker.py Warn in the navbar when a hard drive runs hot (#470) 2026-06-11 19:46:33 -06:00
systemd.py controller: group services into Core vs Optional & Maintenance 2026-07-22 19:46:13 -06:00
wrol_mode.py Creating Controller service which will control WROLPi services, admin, SMART, disks, and status. nginx will fallback to Controller UI when React UI is unavailable (such as during upgrades). 2025-12-15 15:48:40 -07:00