Repository navigation
fix(toasts): clicking a message notification opens its conversation - #136
Conversation
The toast's omarchy-exec-argv hint called `goto`, which is gated on automation=on. With the default automation=off the click was refused and the toast closed having done nothing; the daemon runs the hint instead of the live default action, so that path never fired either. The hint now calls a new ungated IPC, `notified`. It opens a conversation only if Blip toasted that chat this session (memory, newest 64) or the chat is still unread; anything else opens the list. Another local process therefore cannot use it to open, and so read, an arbitrary conversation. Code toasts are unchanged (transient, click copies).
|
Merged, thank you Ian. Every message toast was a dead click for anyone on the default One small note for the record, not a change request: because the two answers differ, a same-user process can learn whether a chat id is unread or was just toasted by calling |
LR-T: blip, change-log, weekly-notes, #136, toasts, ianswope LR-D: blip Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BeRMdPWNC2myz9U8hEeeCi
It returned "shown" for a toasted or unread chat and "opened" otherwise, so a same-user process could learn whether a chat id was unread or had just been toasted by calling it and reading the reply. It now always returns "opened"; what it opens is unchanged. Raised in the #136 review.
WHAT: openNotified() always returns 'opened'; what a click opens is unchanged (the toasted or still-unread chat, else the list). A ui test pins exactly one return value. From Ian Swope (github.com/ianswope, X @ianfs), answering the review note on #136. WHY: 'shown' vs 'opened' let a same-user process learn whether a chat id was unread or had just been toasted. VERIFIED: merged with main, bun 750 pass; door two-way. LR-T: blip, toasts, notified, ipc, oracle, ianswope LR-D: blip LR-R: #137 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BeRMdPWNC2myz9U8hEeeCi
Problem
Clicking a Blip message notification only dismissed it. The toast's
omarchy-exec-argvhint runsqs ipc call nixfred.blip goto <chat>, andgotois refused unlessautomation=onin bridge.conf. Omarchy's daemon runs the hint in preference to the livedefaultaction (Service.qmlinvokePopupDefault), so with the defaultautomation=offnothing happened.Fix
notified <chat>, used by the toast hint.gotoand the rest of the automation-gated IPC are unchanged. Code toasts are unchanged (transient, no hint, click copies).Verified
bun test: 750 pass.notifications invokeLast): Blip opened (list, since that chat had not been toasted).