SideCrab 0.27.0 - panel approvals are safe to turn on
Widget 0.27.0 (SideCrab-0.27.0.icuewidget, attached) and companion crabd 0.29.0. This release closes the two disclosed panel-approval residuals, SEC-a and WID-a.
What changed
- A tap on Approve or Deny now carries a pairing code that crabd mints into
~/.sidecrab/panel-tokenon first start. The widget holds it as the iCUE property Approval Pairing Code, which no web page can read, so a page that forges the widget'snullOrigin is refused with403. Ten wrong codes in a minute lock the gate for a minute. A companion with no gate answers503, never204. - Each pending request carries a
requestIdthe tap must echo; a stale id is409, decided under the broker's lock. Install-SideCrab.ps1 -PairingCodeprints the code;-StatusandTest-SideCrab.ps1show pairing state./v1/stategains anapprovalsblock;/v1/healthgainspanelToken(presence and lockout, never the code).
Upgrade
git pullthenpwsh -File .\setup\Update-SideCrab.ps1(crabd 0.29.0).- Import
SideCrab-0.27.0.icuewidgetinto iCUE (the widget updates only by import). pwsh -File .\setup\Install-SideCrab.ps1 -PairingCode, paste the code into the widget's Approval Pairing Code setting.- Optional:
pwsh -File .\setup\Install-SideCrab.ps1 -WithApprovalsto arm approvals.
A widget older than 0.27.0 cannot approve against crabd 0.29.0: the tap is refused and the terminal dialog decides, which is the safe direction. Contract: docs/STATE-CONTRACT.md v0.29.0.