Skip to content

Conversation

@Amolith
Copy link
Contributor

@Amolith Amolith commented Oct 31, 2025

Implement delayed and cancellable cross-platform desktop notifications using gen2brain/beeep. There's not yet an application icon as was requested in #230 (comment) but adding one once it exists, either before or after merge, should be simple based on beeep's docs.

I've tested and had it working on from-vanilla Arch and Debian 13, but I've not tested on any other system. I know all of the CoderAgent tests are failing, at least locally. How do I update those/resolve the issue?

Peek.2025-10-31.17-27.mp4

I found a couple potential issues in internal/permission/permission.go and internal/permission/permission_test.go and fixed them in individual commits (b35c245, f2288be, and f4ac82e) so they can be discarded if non-issues or unwanted or separated into individual PRs or something. The actual feature is 4ebd6fb and docs are d35aa46.

@Amolith Amolith requested a review from a team as a code owner October 31, 2025 23:34
@Amolith Amolith requested review from raphamorim and tauraamui and removed request for a team October 31, 2025 23:34
@Amolith Amolith force-pushed the 1224-interaction-notifications branch from f7b585a to d35aa46 Compare October 31, 2025 23:38
@Amolith
Copy link
Contributor Author

Amolith commented Nov 3, 2025

Hmm I've been using this since opening the PR and it seems like the sub-agent's session also sends a notification when it's finished, instead of just the main agent. I'll look into differentiating between them so the user isn't mistakenly notified when the sub-agent's done but the main agent isn't.

@Amolith Amolith force-pushed the 1224-interaction-notifications branch 2 times, most recently from 918a165 to 25116c2 Compare November 5, 2025 22:28
@Amolith
Copy link
Contributor Author

Amolith commented Nov 11, 2025

I'm aware of the new conflicts, will get them resolved sometime in the next few days

@Amolith Amolith force-pushed the 1224-interaction-notifications branch from 25116c2 to 787c5dc Compare November 12, 2025 16:23
@Amolith
Copy link
Contributor Author

Amolith commented Nov 12, 2025

The Windows CI is very helpful 🙏

@Amolith Amolith force-pushed the 1224-interaction-notifications branch from 02674b6 to aebc12e Compare November 13, 2025 20:29
@meowgorithm
Copy link
Member

@Amolith do you need an icon for this one? I'm looking forward to to getting this one in :)

@Amolith
Copy link
Contributor Author

Amolith commented Nov 14, 2025

@meowgorithm yes, when you can!

Amolith and others added 6 commits November 17, 2025 19:55
Add desktop notification system with delayed reminders:
- Native notifications via beeep library
- Agent completion notifications (cancelled on new user message)
- Permission request notifications (cancelled on
  scroll/navigation/grant/deny)
- Configurable via DisableNotifications option

Implementation:
- Notifier interface for scheduling delayed notifications with
  cancellation
- Agent schedules completion notifications on turn end
- Permission service schedules reminders when requesting permission
- Permission dialog emits interaction events on first user action
- Both services track and cancel scheduled notifications per
  session/tool call

Resolves: charmbracelet#1224
Resolves: charmbracelet#390
References: charmbracelet#230
Co-authored-by: Crush <[email protected]>
Prevent completion notifications from showing when users are actively
interacting with the chat interface (typing, clicking, scrolling,
opening dialogs).

Co-Authored-By: Crush <[email protected]>
Windows caught the permission notifier publishing its event before the
notification had been scheduled, so subscribers saw zero queued calls.
Move the scheduling step ahead of publish to ensure the notifier is
ready before any listener inspects it.

Assisted-by: GPT-5 via Crush
@Amolith Amolith force-pushed the 1224-interaction-notifications branch from aebc12e to fe95055 Compare November 18, 2025 02:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants