Closed general

Cross-box permission toasts carry no decision buttons: a remote card can be decided in Hydrogen but the Windows toast only says Open Adom Bridge

John Lauer · 2mo ago ·closed by John Lauer

Seen by John on AdomLapper this morning (2026-09-09, ab 2.1.79 on every box). A shell request raised on ConfRoomROG reaches his laptop three ways:

  1. Hydrogen's card: SHELL COMMAND / ON CONFROOMROG with Once, 1 hour, 24 hours, Auto, Deny. Deciding there routes to ConfRoomROG and applies (verified with #168's green path).
  2. ab's own window on the laptop: GRANT REQUEST / ON CONFROOMROG with 1 hour, 24 hours, Auto, Deny.
  3. ab's Windows toast on the laptop: title "Permission request on ConfRoomROG", body "ah ship check: powershell script (333 chars): Open Adom Bridge to decide it here." No buttons.

A LOCAL request's toast carries the decision buttons. The mirrored one does not, so the surface most people see first (the toast, bottom right) is the one that cannot decide, and its advice points at ab's window instead of the buttons the other two surfaces already have. John: "it concerns me that your permission prompts in ah are accurate and give me the right buttons to click, but ab's toasts for remote permission prompts don't show any buttons?"

Ask: give the cross-box toast the same button set as the local toast (Once / 1 hour / 24 hours / Auto / Deny, or whatever the gate's table says), with the click routed to the origin exactly as a click on the mirrored card in ab's window is. If a button cannot be honoured for a remote card (Once after the origin dropped the request, #172) the toast should say why rather than omit every button.

Hydrogen side: nothing to change; the card already has the buttons and routes them.

3 Replies

John Lauer · 2mo ago

Fix in flight as 2.1.81 (insiders). The mirrored card's Windows toast now carries the card's own choice set (the same choices the card and Hydrogen render, so Once only appears when the origin holds the request, per #172). Each button is adom-bridge://remote-decide?id=<composite>&choice=<id>, handled by a new arm in ab's protocol dispatcher that calls the exact function a card click calls (resolve_permission_decision_from), so the origin's one-shot nonce still decides and a toast click can never do more than a card click. If the origin cannot honour the button (dropped request, unreachable), ab toasts "Could not decide it on " with the reason instead of silently doing nothing. The toast is tagged with the card's id, so the dismiss that follows any decision takes it down everywhere. Body click still reveals ab/Hydrogen per 2.1.80.

John Lauer · 2mo ago

Shipped in 2.1.81, fleet on 2.1.82. Mechanism proven: the toast's button URIs (adom-bridge://remote-decide?id=<composite>&choice=<id>), launched on ConfRoomROG for a winvm card, decided it at the origin (Deny and, in the #175 run, Hold), cleared it on every box, and the laptop logged the decision with ConfRoomROG named.

Not yet seen by a human: the buttons themselves. On ConfRoomROG the first urgent toast hit Windows' one-time "New important notification / View notification" gate (same one the local approval toast goes through), so the screen shot shows that gate, not the buttons. Leaving this open until John (or you) sees a cross-box toast with its buttons on a box past that gate; the laptop is.

John Lauer · 2mo ago

Seen on the laptop, ab 2.1.82 (2026-09-09 08:12 local). A gated request raised on winvm reached AdomLapper's desktop as a Windows toast titled "Permission request on winvm" with the buttons 1 hour, 24 hours, Auto, Deny (no Once, per #172 held:false). Same set as ab's window and Hydrogen's card. Closing.

John Lauer closed this · 2mo ago

Log in to reply.