Note
Reviews paused
It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.
- Last reviewed commit: 7573ff4c63c813ef9af57d3ef2d04bf02064e895
Use the following commands to manage reviews:
@coderabbitai resumeto resume automatic reviews.@coderabbitai reviewto trigger a single review.
Use the checkboxes below for quick actions:
- Resume reviews
- Trigger review
No actionable comments were generated in the recent review.
Walkthrough
-
This PR adds Windows native thread notifications to the desktop bridge. It validates notification payloads, routes show, close, and readiness calls through IPC, and delivers activations to the renderer. The web coordinator uses native delivery when available and retains the browser notification fallback.
Changes: Windows thread notifications
Layer / File(s) Summary Notification contract and IPC bridge
packages/contracts/src/ipc.ts,apps/desktop/src/ipc/channels.ts,apps/desktop/src/ipc/methods/threadNotifications.ts,apps/desktop/src/ipc/DesktopIpcHandlers.ts,apps/desktop/src/preload.ts,apps/desktop/src/main.ts,apps/desktop/src/ipc/methods/threadNotifications.test.ts,apps/desktop/src/app/DesktopApp.test.tsAdds schemas for notification targets and payloads, IPC methods with sender checks, preload bridge methods, and desktop application registration. Tests cover sender validation, payload limits, and startup wiring. Native notification lifecycle
apps/desktop/src/app/DesktopThreadNotifications.ts,apps/desktop/src/app/DesktopThreadNotifications.test.tsAdds Windows notification display, replacement and closure, activation handling, renderer readiness, and cleanup. Tests cover timeout behavior, activation validation and delivery, replacement, shutdown, and non-Windows behavior. Web coordinator integration
apps/web/src/components/ThreadNotificationCoordinator.tsx,apps/web/src/components/ThreadNotificationCoordinator.badge.browser.test.tsUses the native bridge for Windows notifications when its methods are available. Handles activation navigation and falls back to browser notifications when native delivery fails. Tests cover fallback delivery, stale results, and changes to notification availability. Estimated code review effort: 4 (Complex) | ~45 minutes
Change: Bug fix · Severity of issue fixed: Low
Sequence Diagram(s)
mermaid1 sequenceDiagram 2 participant ThreadNotificationCoordinator 3 participant desktopBridge 4 participant threadNotificationsIPC 5 participant DesktopThreadNotifications 6 participant ElectronNotification 7 ThreadNotificationCoordinator->>desktopBridge: showThreadNotification 8 desktopBridge->>threadNotificationsIPC: invoke show 9 threadNotificationsIPC->>DesktopThreadNotifications: show validated notification 10 DesktopThreadNotifications->>ElectronNotification: create toast 11 ElectronNotification-->>DesktopThreadNotifications: activation target 12 DesktopThreadNotifications->>desktopBridge: send activation target to renderer 13 desktopBridge->>ThreadNotificationCoordinator: notify activation listener 14 ThreadNotificationCoordinator->>ThreadNotificationCoordinator: navigate to target thread Possibly related PRs
- pingdotgg/t3code#22458: Changes the same coordinator and supplies completion notices consumed by this PR’s native delivery path.
- pingdotgg/t3code#31932: Changes the notification-tag helper used by the coordinator; native notification identity and replacement tracking use that tag.
- pingdotgg/t3code#24493: Changes which thread alerts the coordinator emits after environment reconnects; this PR adds native delivery for those alerts.
Suggested labels:
bugfixSuggested reviewers:
juliusmarminge
Merge Risk: External image Minimal · up to 7573f
-
Windows thread notifications now use the native path with a browser fallback, and no actionable merge-blocking issue remains in this review. Native Windows acceptance testing is still pending and should be done before release.
Pre-merge checks: Passed 3 · Inconclusive 1
-
Failed Failed checks: 1 inconclusive
Check name Status Explanation Resolution Linked Issues check Inconclusive Issue #26341requires Windows desktop completion notifications to time out. The native path sets ElectrontimeoutType: "default"and omits reminder behavior. Mock tests verify those options and acti…Provide installed-Windows evidence that completion notifications expire normally while activation remains functional after timeout. Passed Passed checks: 3 passed
-
Check name Status Explanation Title check Passed The title clearly identifies the Windows thread-notification change and the goal of preserving activation while allowing notifications to expire. Description check Passed The description covers the Problem, Change, Scope and approval, and Verification sections with specific implementation details and test results. It also clearly states that maintainer approval and ins… Out of Scope Changes check Passed The changes add the Windows desktop notification path and its IPC, routing, validation, lifecycle handling, and tests. These changes support issue #26341. The diff does not show unrelated model, provi…Full details: Description check
-
Explanation
The description covers the Problem, Change, Scope and approval, and Verification sections with specific implementation details and test results. It also clearly states that maintainer approval and installed-Windows acceptance evidence are still pending.
Full details: Out of Scope Changes check
-
Explanation
The changes add the Windows desktop notification path and its IPC, routing, validation, lifecycle handling, and tests. These changes support issue
#26341. The diff does not show unrelated model, provider, mobile, or focus-restoration changes.
-
Full details: Linked Issues check
-
Explanation
Issue
#26341requires Windows desktop completion notifications to time out. The native path sets ElectrontimeoutType: "default"and omits reminder behavior. Mock tests verify those options and activation handling. The PR reports that installed-Windows banner expiration and activation were not tested, so the required OS behavior is not established.Resolution
Provide installed-Windows evidence that completion notifications expire normally while activation remains functional after timeout.
-
Finishing Touches
-
Generate unit tests (beta)
-
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
External image Recent review info
-
External image Run configuration
-
- Source mode: Auto
- Repository: pingdotgg/t3code
- Branch: main
- File: .coderabbit.config.ts
- Commit: 17a6a01
- Layers: Repository TS config
- Review profile: CHILL
- Plan: Advanced
- Run ID:
569b368a-af60-4df8-97ac-ca2a721272a2
External image Commits
-
Reviewing files that changed from the base of the PR and between c59ba84c0b5a021f9f4d5200dc2ceff5981d40cd and 7573ff4c63c813ef9af57d3ef2d04bf02064e895.
External image Files selected for processing: 6
-
apps/desktop/src/app/DesktopApp.test.tsapps/desktop/src/ipc/DesktopIpcHandlers.tsapps/desktop/src/preload.tsapps/web/src/components/ThreadNotificationCoordinator.badge.browser.test.tsapps/web/src/components/ThreadNotificationCoordinator.tsxpackages/contracts/src/ipc.ts
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.
External image Recent review info
-
External image Run configuration
-
- Source mode: Auto
- Repository: pingdotgg/t3code
- Branch: main
- File: .coderabbit.config.ts
- Commit: 17a6a01
- Layers: Repository TS config
- Review profile: CHILL
- Plan: Advanced
- Run ID:
569b368a-af60-4df8-97ac-ca2a721272a2
External image Commits
-
Reviewing files that changed from the base of the PR and between c59ba84c0b5a021f9f4d5200dc2ceff5981d40cd and 7573ff4c63c813ef9af57d3ef2d04bf02064e895.
External image Files selected for processing: 6
-
apps/desktop/src/app/DesktopApp.test.tsapps/desktop/src/ipc/DesktopIpcHandlers.tsapps/desktop/src/preload.tsapps/web/src/components/ThreadNotificationCoordinator.badge.browser.test.tsapps/web/src/components/ThreadNotificationCoordinator.tsxpackages/contracts/src/ipc.ts
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.
-