The safety layer: two presses for anything you cannot take back

Claude-Session: https://claude.ai/code/session_01Ms2FbjQy31TVf3CEvQhGM8
This commit is contained in:
Gabriel Brown
2026-08-25 00:39:07 -04:00
parent 8b1205e4b8
commit 88371d19f0
17 changed files with 447 additions and 36 deletions
@@ -142,4 +142,11 @@ Singleton {
// Set by Dock.qml so the bar can avoid fighting it for pointer grabs, and
// read by the capture overlay so the dock isn't in the screenshot.
property bool dockRevealed: false
// Exactly one destructive confirmation may be armed at a time, app-wide --
// "two armed destructive actions on screen at once is how the wrong one
// gets pressed" (SyncPage wrote that down for its own card; ConfirmAction
// enforces it for everyone). The token is owned by whichever ConfirmAction
// armed it; arming another disarms the first.
property string armedConfirm: ""
}