Originally created by: kristofferR
Brings Windows to parity with the macOS/Linux integrations — the umbrella of Epic [#187], delivered as one PR per the maintainer's request.
| Issue | Feature |
|---|---|
| [#183] | Taskbar unread overlay badge (set_overlay_icon) on every Messenger window, reusing tray_badge.rs's renderer widened to Windows |
| [#180] | Native WinRT toast module (src/windows/toast.rs): per-conversation grouping (SetTag/SetGroup), clear-on-read (RemoveGroupWithId), a capped keep-alive map so Action Center clicks fire after the banner times out, and AUMID registration for the portable zip — replaces notify-rust on Windows |
| [#181] / [#86] | Inline quick reply input + Open action on eligible toasts, reusing the shared reply machinery (now compiled on Windows) |
| [#184] | CLI flags + carrier:// protocol: one action_from_argv parser for the cold and single-instance surfaces + tauri-plugin-deep-link registration |
| [#56] | Recent-conversations taskbar jump list (ICustomDestinationList); entries launch --thread <id> |
| [#182] | Taskbar flash on new message via the shared attention_on_message setting |
| [#185] | Monochrome tray icon tinted for the taskbar theme, reading SystemUsesLightTheme (not AppsUseLightTheme, which diverges under Win11 Custom) |
Settings rows: the attention_on_message and tray_icon_style gates in dist/settings.html widen to include Windows (attention relabelled "Flash Taskbar Icon").
Developed and checked by cross-compiling to x86_64-pc-windows-gnu with zig (this box has no MSVC/mingw that rustc accepts):
cargo fmt --check, cargo zigbuild --tests — compiles + links clean, zero rustc warnings, all cfg(windows) code included (WinRT, windows-sys, COM).bun test — green except one pre-existing macOS-only test (PlistBuddy absent on this host).Not verified here: the runtime WinRT/COM behavior (actual toast delivery, taskbar badge/flash, jump list) could not be exercised — that needs an interactive Windows session, and clippy couldn't run under the zig cross-toolchain (ring's build script rejects the target query). Please run the normal macOS/Linux gate (fmt/clippy/cargo test --lib) and a manual Windows QA pass (#28) before merging.
tauri-plugin-deep-link is used for runtime register("carrier") only (HKCU, no admin, covers portable + moved folders). I deliberately did not add plugins.deep-link to tauri.conf.json, because that config also drives the macOS/Linux bundlers and I can't validate the generated installer here — so NSIS install-time registration + uninstall cleanup is a follow-up, documented rather than done.group_notifications_by_conversation toggle isn't consulted there.INotificationActivationCallback) remains out of scope, as the issue specifies.When I started, the working tree already had uncommitted, unrelated changes to dist/settings.html, dist/settings-update.js, and dist/index.html that removed shipped features (the strip_link_tracking row, notification grouping/clear rows, attention_on_message, IS_LINUX, runtime-capability handling). They looked accidental (a regression against main) and would have corrupted this PR, so I reverted those three files to HEAD before making my edits. If that was intentional WIP, it will need to be re-applied — it is not included here.
Added Windows support for deep links, thread launching, reply handling, and notification clearing.
Enhancements
Tickets: #180
Tickets: #181
Tickets: #182
Tickets: #183
Tickets: #184
Tickets: #185
Tickets: #187
Tickets: #247
Tickets: #56
Tickets: #86
Originally posted by: kristofferR
@coderabbitai review
Originally posted by: kristofferR
@codex review
Originally posted by: coderabbitai[bot]
✅ Action performed
Review finished. > Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.Originally posted by: chatgpt-codex-connector[bot]
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.
Originally posted by: coderabbitai[bot]
No actionable comments were generated in the recent review. 🎉
ℹ️ Recent review info
⚙️ Run configuration
**Configuration used**: Path: .coderabbit.yaml **Review profile**: ASSERTIVE **Plan**: Pro Plus **Run ID**: `7905942c-d31d-419d-bd24-f8fa4a65f317`📥 Commits
Reviewing files that changed from the base of the PR and between [eb7833] and bf40e6731656aaecca5ff79acf66e011f21ffde4.📒 Files selected for processing (7)
* `dist/settings.html` * `inject/src/messenger/lib/injected-assets.test.ts` * `src-tauri/Cargo.toml` * `src-tauri/src/lib.rs` * `src-tauri/src/settings.rs` * `src-tauri/src/tray_badge.rs` * `src-tauri/src/windows/jumplist.rs`📝 Walkthrough
## Walkthrough The PR adds Windows support for launch routing, carrier deep links, WinRT toast notifications, inline replies, tray styling, unread badges, taskbar jump lists, and related settings. ### Changes **Windows desktop support** |Layer / File(s)|Summary| |---|---| |**Windows launch and protocol routing**`src-tauri/Cargo.toml`, `src-tauri/src/actions.rs`, `src-tauri/src/cli.rs`, `src-tauri/src/lib.rs`|Windows launch arguments, carrier URLs, deep links, and cold-start thread actions use shared routing.| |**Windows toast notifications and replies**
`src-tauri/src/windows/*`, `src-tauri/src/notifications.rs`, `src-tauri/src/lib.rs`, `src-tauri/src/window.rs`|WinRT toasts support grouping, activation, inline replies, attention requests, sync alerts, and conversation clearing.| |**Tray, taskbar badges, and jump lists**
`src-tauri/src/tray.rs`, `src-tauri/src/tray_badge.rs`, `src-tauri/src/windows/jumplist.rs`, `src-tauri/src/menu.rs`, `src-tauri/src/lib.rs`|Windows tray styles follow taskbar themes, unread counts render as overlay badges, and recent conversations populate jump lists.| |**Windows settings and test coverage**
`dist/settings.html`, `inject/src/messenger/lib/injected-assets.test.ts`, `src-tauri/src/settings.rs`|Windows exposes tray style and attention settings with Windows-specific labels and platform assertions. Notification clearing documentation includes Windows Action Center toasts.| **Estimated code review effort:** 5 (Critical) | ~90 minutes **Merge Risk:** _🟡 Moderate_ · up to `bf40e` The PR should receive owner follow-up before merge because Windows may briefly restore cleared conversation names in the taskbar jump list, and the Windows notification path may apply a clear-on-view setting that users cannot configure there. ### Sequence Diagram(s) :::mermaid sequenceDiagram participant Messenger participant WindowsToast participant User participant SharedHandlers Messenger->>WindowsToast: deliver notification with route and reply metadata WindowsToast->>User: show grouped toast User->>WindowsToast: activate open or reply action WindowsToast->>SharedHandlers: route activation or reply
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
| Check name | Status | Explanation | | :------------------------: | :------- | :-------------------------------------------------------------------------------------------------------------------------------- | | Description Check | ✅ Passed | Check skipped - CodeRabbit’s high-level summary is enabled. | | Title check | ✅ Passed | The title accurately summarizes the PR's Windows integration work and names its main features, although it is somewhat list-like. | | Docstring Coverage | ✅ Passed | Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. | | Linked Issues check | ✅ Passed | Check skipped because no linked issues were found for this pull request. | | Out of Scope Changes check | ✅ Passed | Check skipped because no linked issues were found for this pull request. |✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
- [ ] Create stacked PR - [ ] Commit on current branch📝 Generate docstrings
- [ ] Create stacked PR - [ ] Commit on current branch🧪 Generate unit tests (beta)
- [ ] Create PR with unit tests - [ ] Commit unit tests in branch `feat/windows-integration-push`Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
❤️ Share
- [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)Comment
@coderabbitai helpto get the list of available commands.Originally posted by: kristofferR
@codex review
Originally posted by: kristofferR
@coderabbitai review
Originally posted by: coderabbitai[bot]
✅ Action performed
Review finished. > Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.Originally posted by: chatgpt-codex-connector[bot]
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.
Originally posted by: kristofferR
@coderabbitai review
Originally posted by: kristofferR
@codex review
Originally posted by: coderabbitai[bot]
⚠️ Action not completed
Review rate limited. > Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.Originally posted by: chatgpt-codex-connector[bot]
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.
Ticket changed by: kristofferR