Watch
1
0
Fork
You've already forked SouveraineOS
0
SouveraineOS/docs/tasks/21-reboot-android-confirmation.md
Fimeg adce4441cc tasks: log 07-21 findings (culver A/B/D/E, mic wedge, overview, keyboard); add 19-23
Records what the 2026-07-21/22 sessions actually found and shipped,
so the ledger matches reality:

- TASK-16: A, B, D landed; C (contact card) implemented, phone
  acceptance pending; new unit E (history-fill boot amnesia) done.
- TASK-08: shell-side state projection exists; add the maintenance-
  lease requirement so a deploy can never race the idle lock again
  (root cause of the 19:29 auto-lock-during-deploy crash).
- TASK-09: stale-lock incident — panel/IRQ alive, session-lock
  routing stale; capture both in the resume test.
- TASK-14: expand to the Auxo-style running-app surface and an
  unconditional Home tap; folds in the GLES OpacityMask and
  workspace-ratchet findings.
- TASK-17: pin the iOS-like keyboard target and the Hyprland
  key-safety hammer test.
- Mic trace path corrected to its new home.

New: TASK-19 (settings control center), TASK-20 (player video +
agent control), TASK-21 (reboot-to-Android confirmation), TASK-22
(settings/fullscreen tweaks), TASK-23 (culver locked-notification
nudge).
2026-07-24 10:21:44 -04:00

44 lines
2 KiB
Markdown

# TASK 21 — reboot-to-Android confirmation applet
**Status:** 2026-07-22 — scoped, not started.
**Size:** single-session.
## Why (it went off)
`/usr/share/applications/blueline-reboot-android.desktop` on the phone execs
`blueline-reboot-android` (slot switch to B + warm reboot) with ZERO
confirmation. On 2026-07-22 the overview OSK preedit bug made typed search
silently empty, Casey tapped blind, hit this entry, and the phone slot-
switched to Android mid-session. Recovery needed fastboot
(`fastboot set_active a; fastboot reboot`). A one-tap irreversible slot flip
must not sit bare in app search.
Also relevant: the warm reboot it performs is the cold-boot-doctrine
violation (TZ/remoteproc poison) — the applet should warn about that, or the
script should do the cleanest shutdown it can before switching.
## Do
1. Short term (one line): set `NoDisplay=true` in the .desktop so it leaves
app search; keep the script callable by hand.
2. Real fix: a confirmation surface in the shell —
- Dialog in souveraine style (the stepUp-card / sessionScreen pattern):
"Switch to Android? The phone reboots into slot B; getting back needs
Reboot-to-Linux from Android or fastboot."
- Confirm → run existing `blueline-reboot-android`; cancel → no-op.
- Point the .desktop `Exec` at the applet, e.g.
`qs -c souveraine ipc call session rebootAndroid` with the handler in
sessionScreen, which already owns power actions.
3. Verify the Android side has a symmetric "reboot to Linux" path so the
round trip never needs fastboot; name it in the applet text.
## Acceptance
Tapping the search result shows the confirmation; cancel is a no-op; confirm
lands in Android; slot a boots back to Linux afterward without fastboot.
## Connects to
TASK-14 (the search bug that pulled the pin), blueline-mark-boot-successful
(already guards retry exhaustion — this failure was a deliberate slot
switch, not retry burn), session authority / sessionScreen power actions.