Skip to content

feat(browser): support Chrome channels and Chromium profiles - #614

Open
ciltocruz wants to merge 3 commits into
nesszer:mainfrom
ciltocruz:feat/chrome-browser-channels
Open

ciltocruz wants to merge 3 commits into
nesszer:mainfrom
ciltocruz:feat/chrome-browser-channels

Conversation

@ciltocruz

@ciltocruz ciltocruz commented Sep 24, 2026 •

Copy link
Copy Markdown

Summary

Not everyone uses the stable Chrome release, so I thought it would be useful to support the other Chrome channels too.

  • Adds Chrome Beta, Chrome Dev, Chrome Canary, Chrome for Testing, and Chromium as separate cookie-import sources.
  • Keeps the existing Chrome and Microsoft Edge behavior.
  • Supports the requested Windows profile roots, including discovery from WSL paths.

Related issue

Fixes #613

Affected areas

  • Settings UI
  • Documentation
  • Other: browser profile discovery

Validation

  • cargo fmt --all -- --check
  • git diff --check b585d4887499c6b62d3a9ce7c22444e4bd283961...HEAD
  • Focused Rust test could not run in this Linux environment: compilation stops in unrelated rust/src/providers/muse/local_usage/cache.rs because it uses Windows-only APIs.
  • Thermo-nuclear code quality review completed; its duplicate browser registry finding was addressed.
  • Contributor-reported Windows manual smoke test: the app showed Chrome and its profiles in the cookie-import browser list.

UI / tray proof

  • Not applicable
  • CUA Driver visual proof attached
  • CUA Driver was unavailable from this WSL session; equivalent manual check: the contributor launched the Windows app and confirmed Chrome and its profiles appeared in the browser list.

Notes for reviewers

Please review that all six requested User Data roots map to distinct browser choices, while existing Chrome and Edge behavior remains unchanged.

Summary by CodeRabbit

  • New Features
    • Browser import now detects Chrome Beta, Dev, Canary, and Chrome for Testing as separate browser options, with distinct profiles on supported Windows environments.
    • Chrome channel detection is supported in both native Windows and WSL environments.
  • Documentation
    • Updated browser import guides to list Chrome Stable, Beta, Dev, Canary, Chrome for Testing, and Chromium alongside Edge, Brave, and Firefox.

@coderabbitai

coderabbitai Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: fa5c7cf5-10af-4db8-a249-839e1d76f70a

📥 Commits

Reviewing files that changed from the base of the PR and between eec2c47 and cb68c7d.

📒 Files selected for processing (1)
  • rust/src/browser/wsl_paths.rs
🚧 Files skipped from review as they are similar to previous changes (1)
  • rust/src/browser/wsl_paths.rs

Included review availability: Your plan provides up to 4 included reviews per hour; 3 remain after this review.


📝 Walkthrough

Walkthrough

The change adds Chrome Beta, Dev, Canary, Chrome for Testing, and Chromium as distinct browser import sources. It resolves their profile paths, includes them in Windows browser detection, assigns import keys, and updates browser lists in the documentation.

Changes

Browser Import Sources

Layer / File(s) Summary
Browser types and profile paths
rust/src/browser/detection.rs
Adds four Chrome channel variants and maps them, Chrome Stable, and Chromium to Windows profile roots. Updates display names and adds tests for paths and browser type membership.
WSL browser detection
rust/src/browser/wsl_paths.rs
Builds browser candidates from BrowserType::all() and profile paths. Candidate detection still checks directories for profiles. Tests cover the new Chrome channel and Chromium paths.
Import keys and browser lists
apps/desktop-tauri/src-tauri/src/commands/browser_import.rs, README.md, docs/PROVIDERS.md
Maps each new Chrome channel variant to a distinct import key. Updates the README and provider documentation to list the supported browser choices.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant WslBrowserDetector
  participant windows_browser_candidates
  participant BrowserType
  participant user_data_dir_under
  participant Filesystem
  WslBrowserDetector->>windows_browser_candidates: Build browser candidates
  windows_browser_candidates->>BrowserType: Iterate over all browser types
  windows_browser_candidates->>user_data_dir_under: Resolve profile paths
  windows_browser_candidates-->>WslBrowserDetector: Return candidate paths and browser types
  WslBrowserDetector->>Filesystem: Check candidate directories for profiles
Loading

Merge Risk: ⚪ Minimal · up to cb68c

No specific merge-blocking issue is established by the supplied evidence; complete normal checks before merging.

🚥 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 clearly and concisely describes the main change: adding support for Chrome channels and Chromium profiles for browser import.
Linked Issues check ✅ Passed PR #614 meets the coding requirements in issue #613. BrowserType adds separate Chrome Beta, Dev, Canary, and Chrome for Testing variants. user_data_dir_under maps Chrome, all requested Chrome chan…
Out of Scope Changes check ✅ Passed The changes stay within issue #613. Browser detection, bridge keys, discovery tests, and documentation directly support separate Chrome channel and Chromium cookie-import sources or preserve existing …
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 12 functions across 3 files.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

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

Comment @coderabbitai help to get the list of available commands.

@Finesssee

Copy link
Copy Markdown
Collaborator

Thanks for the PR, I will review it ASAP.

@ciltocruz

Copy link
Copy Markdown
Author

Thanks!

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.

[Feature]: Support Chrome channels and Chromium profiles

2 participants