Skip to content

[codex] Add GitHub PR notifications#66

Merged
steipete merged 4 commits into
steipete:mainfrom
Whiteknight07:issue-57-github-notifications
May 14, 2026
Merged

[codex] Add GitHub PR notifications#66
steipete merged 4 commits into
steipete:mainfrom
Whiteknight07:issue-57-github-notifications

Conversation

@Whiteknight07

@Whiteknight07 Whiteknight07 commented May 13, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add opt-in GitHub pull request notifications for pinned repositories.
  • Notify on new PRs, PR updates/state changes, review requests, and new comments, each controlled by Settings > Notifications.
  • Route notification clicks either to the default browser or directly into RepoBar's Issue Navigator with the PR preselected.
  • Reuse the shared RepoBar notification pipeline for local sync notifications and PR notifications.

Closes #57

How notifications work

  • RepoBar only monitors pinned repositories.
  • When PR notifications are first enabled, RepoBar clears the PR notification snapshot store and refreshes immediately.
  • The first refresh records the current PR state without sending a backlog of notifications.
  • For each monitored repo, RepoBar stores PR snapshots plus a repo-level baseline timestamp.
  • A PR is considered new only when its created_at is newer than the repo baseline, so old PRs that re-enter the recent window do not fire as new.
  • PR updates compare stored updated_at, state, and merge state.
  • Review-request notifications compare requested users and requested teams.
  • Comment notifications compare issue conversation comments plus PR review comments.
  • Comment-count fetching is opt-in: normal menu PR loads stay lightweight, and the extra comment-count REST calls only run when comment notifications are enabled.
  • Turning comment notifications on primes counts first, so existing comments do not replay as new notifications.

Settings UI

  • Pull request notifications now live in a dedicated Settings > Notifications tab.
  • Advanced keeps the GitHub References and archive/debug-style settings separate from notification preferences.

Click behavior

  • Default browser opens the PR URL normally.
  • Issue Navigator stores PR metadata in the notification payload and opens Issue Navigator with that PR as the initial match.
  • Older notifications without metadata still open Issue Navigator empty instead of crashing or misrouting.

Review cleanup

  • Rebased on current main.
  • Split the branch into small reviewable commits.
  • Added a changelog entry thanking @Whiteknight07.
  • Hardened detector state decoding for older saved snapshots.
  • Added regression coverage for first-refresh baselining, old PR re-entry, comment tracking, review requests, state changes, and notification click routing.

Validation

  • pnpm check - passed, 403 tests in 86 suites.
  • codex-review --parallel-tests "pnpm check" - clean, no accepted/actionable findings.
  • pnpm restart - relaunched local debug app from /Users/steipete/Projects/RepoBar/.build/arm64-apple-macosx/debug/RepoBar.app/Contents/MacOS/RepoBar.

steipete and others added 3 commits May 14, 2026 19:45
Co-authored-by: stavandx <fiestyboxer@gmail.com>
Co-authored-by: stavandx <fiestyboxer@gmail.com>
Co-authored-by: stavandx <fiestyboxer@gmail.com>
@steipete steipete force-pushed the issue-57-github-notifications branch from 3615437 to ed19e9d Compare May 14, 2026 18:46
@steipete steipete marked this pull request as ready for review May 14, 2026 18:46
@steipete steipete merged commit dfcf509 into steipete:main May 14, 2026
1 check passed
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.

Enhancement request: desktop notifications

2 participants