Skip to content

feat: add notifications and unread state for sessions#22

Open
dakl wants to merge 1 commit intomainfrom
notifications
Open

feat: add notifications and unread state for sessions#22
dakl wants to merge 1 commit intomainfrom
notifications

Conversation

@dakl
Copy link
Copy Markdown
Owner

@dakl dakl commented Mar 25, 2026

Summary

  • Unread state: Sessions that transition to waiting_for_input while not the active session get marked as unread with a persistent chat bubble in the sidebar. The bubble clears after viewing the session for 1.5s, or when the session resumes/archives.
  • Cmd+U shortcut: Manually marks the active session as unread (hold Cmd to see a "U" badge hint on the active session).
  • macOS notifications: When the window is not focused and a session starts waiting for input, a native macOS notification fires. Clicking it focuses the window and navigates to that session.
  • Settings toggle: A new "Notifications" section in Settings lets you enable/disable macOS notifications.

Test plan

  • 10 new tests for unread state in sessionStore.test.ts
  • 4 new tests for isMarkUnreadShortcut in useGlobalShortcuts.test.ts
  • All 56 renderer/shared tests pass
  • Biome lint clean
  • Manual: Start two sessions, switch to one, let the other finish → bubble appears on background session
  • Manual: Click the unread session, wait 1.5s → bubble clears
  • Manual: Click away before 1.5s → bubble persists
  • Manual: Cmd+U on active session → marks it unread
  • Manual: Hold Cmd → "U" badge shows on active session
  • Manual: Minimize window, let session finish → macOS notification appears
  • Manual: Click notification → window focuses, switches to that session
  • Manual: Toggle notifications off in settings → no more notifications

🤖 Generated with Claude Code

Sessions that transition to waiting_for_input while not active are now
marked as unread with a persistent chat bubble in the sidebar. The bubble
clears after viewing the session for 1.5s, or when the session resumes.
Cmd+U manually marks the active session as unread.

macOS notifications fire when the window is unfocused and a session needs
input — clicking the notification navigates to that session. A toggle in
Settings controls this behavior.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant