25 lines
1.6 KiB
Plaintext
25 lines
1.6 KiB
Plaintext
/* The relay's content-free APNS wake (cloud/nucleic-edge apns.ts `approvalPayload`):
|
|
the push deliberately carries no approval detail (the relay can't read it — E2EE), so
|
|
this localized alert is all the lock screen shows. The app pulls the real approval
|
|
over the encrypted channel on open. */
|
|
"approval.pending" = "A session is waiting for your approval";
|
|
|
|
/* Title of an *alerting* Live Activity update (apns.ts `liveActivityAlert`): a new approval landed
|
|
while the phone was away, so the glance itself sounds/vibrates instead of a separate wake tickle.
|
|
Shown only on Apple Watch (on iPhone the glance updates in place); the body reuses
|
|
`approval.pending`. Still content-free — the real approval is pulled over the encrypted channel. */
|
|
"approval.title" = "Approval needed";
|
|
|
|
/* The same content-free wake, but the block is an agent question (`AskUserQuestion`) rather than
|
|
a tool approval — the host tags the wake `kind:"question"` so the lock screen reads accurately.
|
|
Still content-free: the real question is pulled over the encrypted channel on open. */
|
|
"question.pending" = "A session is waiting for your answer";
|
|
|
|
/* Title + body of an *alerting* Live Activity update for a session that finished its turn and is
|
|
waiting on the user's next prompt (apns.ts `liveActivityAlert("input")`, and the phone's local
|
|
`AlertConfiguration`). This is the needs-input counterpart to `approval.*`: when the phone is
|
|
backgrounded the glance itself carries the sound/haptic instead of a separate banner. Shown only
|
|
on Apple Watch on iPhone the glance updates in place. */
|
|
"input.title" = "Your turn";
|
|
"input.pending" = "A session is waiting for you";
|