Repository navigation
Conversation
Automatic Discover picked whichever browser pack happened to appear first in enum declaration order and silently filtered the profile dropdown to that one browser only. On a machine with Firefox Snap and Waterfox both installed, this hid every Waterfox profile even though detection had already found them. - PackSelector now clears its package to None on Auto instead of leaving a stale filter in place. - Page passes no filter to the profile dropdown while autofinding, and syncs the backend's data-path to whichever browser owns the actively selected profile so status stays accurate across restarts. - Profile.display_name now includes the owning pack name so profiles with identical names across browsers (e.g. two "default-release") stay distinguishable in the dropdown. - Mentions Waterfox and CachyOS Browser in the metainfo description, which had fallen out of sync with the supported pack list.
Real-device testing surfaced that syncing the backend's data-path to the actively selected profile on every selection change, combined with GTK's incremental filter/sort model settling, caused the theme to get reinstalled into multiple different profiles/browsers within seconds of a single launch — confirmed via traceback instrumentation, absent entirely on the unmodified code. Installation was never routed through the package/data-path anyway; Backend.begin_install always operates on the selected Profile's own path. Keeping data-path in sync with the UI selection was a status- display nicety, not something the fix needs, so drop it and keep only the verified change: not filtering the profile list while autofinding.
These are local assistant instructions/state for this working copy, not part of the upstream project.
Owner
|
1) This is the wrong solution to this problem. The right solution is to have one combobox that just sorts profiles by their package. Like so But that requires extra design work and refactors. Not a quick hack. 2) I'm not interested in reviewing LLM generated code. Sorry. There are too many problems with the submission as is: main change is smeared across two commits for no reason; metainfo change should be its own commit; Messages are way too verbose. I could provide feedback but at that point I'm just playing telephone with Claude through you. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Problem
Add Water already lists Waterfox (and CachyOS Browser) in
FirefoxPackand the Flatpak manifest already grants the sandbox permissions for it,
but on a machine with more than one Firefox-family browser installed,
Automatic Discover only ever shows profiles from one browser , the
first
FirefoxPackmember (in enum declaration order) whoseprofiles.inihappens to exist.Root cause:
FirefoxAppDetails.__init__falls back toget_valid_packs()[0]when the persisteddata-pathdoesn't resolve toa known pack.
Page.init_guithen passes that single pack into theprofile dropdown as a hard filter, so every other installed browser's
profiles are silently hidden , even though discovery had already found
them. On a machine with Firefox Snap and Waterfox installed, this
means the Waterfox profiles exist, are detected, and never appear in
the UI.
Fix
src/page.py: stop filtering the profile list by pack while"Automatic Discover" is selected , pass
Noneas the filter, whichfilter_profilesalready treats as "show everything".src/gui/pack_selector.py: clearPackSelector.packageback toNonewhen the user switches back to Auto, instead of leaving it atwhatever specific browser was last chosen (previously this left a
stale filter in place even after re-enabling autofind).
src/profile.py:display_namenow includes the owning pack name,since with every browser listed at once, profile names can collide
across browsers (e.g. two
default-releaseprofiles from differentinstalls).
data/dev.qwery.AddWater.metainfo.xml.in: mentions Waterfox andCachyOS Browser in the feature list, matching the existing
FirefoxPackentries and the "Waterfox support." release note thatwas already present but undocumented in the description.
I initially also tried to keep the backend's tracked
data-pathinsync with whichever profile was actively selected while autofinding
(for accurate status reporting). Real-device testing caught that this
caused a repeat-install loop , the theme got reinstalled into multiple
profiles within seconds of a single launch, confirmed via traceback
instrumentation and absent on the unmodified code. That code has been
removed; it wasn't needed for the fix since installation always
operates on the selected
Profile's own path, never on the trackedpackage.
Testing
Verified on a machine with Firefox Snap, native Waterfox, and Waterfox
Flatpak all installed:
Automatic Discover.
correctly disambiguated by pack name.
Backend.begin_install) against areal native Waterfox profile , confirmed
chrome/firefox-gnome-theme/,userChrome.css's@import, andlegacyUserProfileCustomizations.stylesheetsall landed correctly,and no other profile was touched.
after removing the sync code above.
the profile list to that browser only (no regression to existing
behavior).