Skip to content

M2: Notifications (read + unread count)#289

Draft
michaeljolley wants to merge 1 commit into
mjolley/cmdpal-github-extension-planfrom
mjolley/m2-notifications
Draft

M2: Notifications (read + unread count)#289
michaeljolley wants to merge 1 commit into
mjolley/cmdpal-github-extension-planfrom
mjolley/m2-notifications

Conversation

@michaeljolley

Copy link
Copy Markdown

Milestone 2 - Notifications (read + counts)

Stacked on M1 (targets mjolley/cmdpal-github-extension-plan). Adds GitHub notifications support to the Command Palette extension.

Delivered

  • Notifications list page - NotificationsPage lists the signed-in user's unread notifications. Each item opens in the browser and offers Mark as read and Copy URL actions.
  • Top-level Notifications command - subtitle shows the unread count (the menu-bar "unread" reinterpretation from the roadmap). The count refreshes on sign-in and whenever notifications change, driven by a NotificationsMediator event - no polling loop.
  • Live-fetch data path - INotificationsDataManager / NotificationsDataManager backed by the GitHub Activity API (Activity.Notifications), kept separate from the search-keyed SQLite cache since notifications do not fit that model.
  • Subject-URL to browser-URL helper - converts notification subject API URLs (issues, pulls, commits) to browsable URLs, with sensible fallbacks for releases and discussions.

Verification

  • Built x64 Debug.
  • Full test suite: 172/172 passing (9 new tests covering the page, unread-count refresh, empty state, and the URL helper).

Part of the stacked milestone series toward RayCast feature parity.

Co-authored-by: Copilot App 223556219+Copilot@users.noreply.github.com

Introduce a live-fetch notifications data path (INotificationsDataManager /
NotificationsDataManager) backed by the GitHub Activity API, a NotificationsPage
that lists unread notifications with open-in-browser, mark-as-read, and copy-URL
actions, and a top-level Notifications command whose subtitle shows the unread
count. The count refreshes on sign-in and whenever notifications change via a
NotificationsMediator, avoiding a polling loop. Adds a subject-URL to browser-URL
helper, notification icon, localized strings, and unit tests.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
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