Make webapps profile-aware for Chromium-based browsers#6105
Make webapps profile-aware for Chromium-based browsers#6105AndrewGaspar wants to merge 1 commit into
Conversation
Webapps launched with --app= previously used whichever profile last had focus. Now, when the effective browser has more than one profile, the launcher offers a choice (and can remember it per webapp); installs can pre-select a profile; and selections are cleared when the default browser changes. Profile state lives outside .desktop files so it can be invalidated and so existing webapps need no rewrite. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds support for choosing and remembering a Chromium-family browser profile when launching webapps, including stable “remember keys” for dynamic URLs.
Changes:
- Introduces profile discovery (
omarchy-webapp-profiles) and persistence (omarchy-webapp-profile-store). - Prompts for profile selection during install and at launch time, with optional “remember” behavior.
- Clears remembered profile selections when the default browser changes, and stabilizes keys for Zoom/HEY handlers.
Reviewed changes
Copilot reviewed 1 out of 8 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| migrations/1781657000.sh | Announces the new webapp profile feature (no backfill). |
| bin/omarchy-webapp-profiles | Lists available Chromium profiles for the effective webapp browser. |
| bin/omarchy-webapp-profile-store | Stores/reads remembered profile selections per webapp key. |
| bin/omarchy-webapp-install | Offers a profile choice at install time and persists selection. |
| bin/omarchy-webapp-handler-zoom | Sets a stable remember-key for Zoom meeting URLs. |
| bin/omarchy-webapp-handler-hey | Sets a stable remember-key for HEY mailto URLs. |
| bin/omarchy-launch-webapp | Adds interactive profile selection + remembered profile support on launch. |
| bin/omarchy-default-browser | Clears remembered webapp profile selections when default browser changes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Looks like #1266 is related, though that focuses on making it possible to have webapps per-profile, which also seems like a worthy goal, but my main problem currently is just getting the web app to launch in the profile that's already logged into the service I'm wanting to use, and less so needing to use the same installed web app on multiple profiles. |
Webapps launched with --app= previously used whichever profile last had focus. On devices with multiple browser profiles, that could be especially confusing. Now, when the effective browser has more than one profile, the launcher offers a choice (and can remember it per webapp); installs can pre-select a profile; and selections are cleared when the default browser changes. Profile state lives outside .desktop files so it can be invalidated and so existing webapps need no rewrite.
The profile store uses a sha256 of the Web App URL for identity and stores the mapping to the profile name in ~/.config/omarchy/webapps. Open to suggestions for better ways to store these selections.
Demo of all major UX flows:
https://1drv.ms/v/c/ec3aff9eb5567ab6/IQBill3ZNx_rS5sVvQG3KyI_Ae5KPSx_rlXSFAnthPA0ooA?e=0lkwVG