Create a Nimbus variable for controlling whether the sidebar is visible or hidden for horizontal tab users
Categories
(Firefox :: Sidebar, enhancement, P1)
Tracking
()
People
(Reporter: asafko, Assigned: sfoster)
References
Details
(Whiteboard: [fidefe-sidebar])
Attachments
(2 files, 2 external files)
To support experimentation with the new sidebar, let's please create a variable in the Sidebar Nimbus feature that allows us to control whether the sidebar is hidden or visible for horizontal tab users.
Updated•1 year ago
|
Updated•1 year ago
|
Comment 2•1 year ago
|
||
Per initial slack discussion with Ania, the intention is to create a new pref (eg, sidebar.defaultLauncherState) to control the default state of the launcher for horizontal tabs only and register it with nimbus. But then any behavior by the user would override it and toggling it open/close the first time then changing the visibility to always-show and back to hide-sidebar wouldn't reset anything.
Some other aspects that might warrant further discussion is since we persist this value (stored as launcherVisible) as part of session restore we'd probably need to determine precedence. If there is a value saved/restored for launcherVisible does that always take precedence over this new pref? This is where we can run into issues about what the source of truth is if we aren't careful. If the intention is to use this new pref in an experiment would we be using the same advanced targeting for 136 that excludes any sidebar users? That would make things simple, as then we'd use the pref to set the launcherVisible value once unless there is a restored value from a previous session (or saved in sidebar.backupState for users with permanent private browsing/cleared history).
Updated•1 year ago
|
Updated•1 year ago
|
| Assignee | ||
Comment 3•1 year ago
|
||
Depends on D242240
Updated•1 year ago
|
Updated•1 year ago
|
| Assignee | ||
Comment 4•1 year ago
|
||
The patch implements the decision to have launcherVisible values saved in the SessionStore get overridden by this new pref. So for example if you had the sidebar launcher visible when you restart to update Firefox, on startup a pref value of false for sidebar.revamp.defaultLauncherVisible would mean the launcher would be initially hidden.
Comment 6•1 year ago
|
||
| bugherder | ||
| Assignee | ||
Comment 7•1 year ago
|
||
We do need to uplift this patch into 138. Is QA able to verify it before I trigger the request?
| Assignee | ||
Comment 8•1 year ago
|
||
Specifically: the sidebar.revamp.defaultLauncherVisible pref and Sidebar nimbus variable defaultLauncherVisible control the default value (visible/hidden) for the sidebar launcher with horizontal tabs. In-tree, this is true but we want to be able to experiment with having the default be false. I.e. flipping this pref to false while the tab strips is horizontal (and sidebar.revamp is true) should cause the launcher to become hidden, changing from vertical tabs to horizontal tabs should leave the launcher hidden, starting up the browser with a clean profile and these prefs set should leave the launcher hidden.
STR:
- When running the browser with horizontal tabs and the new sidebar treatment, the sidebar launcher should default to being hidden or visible as prescribed by the value of the
sidebar.revamp.defaultLauncherVisiblepreference.
ER:
- Setting the pref should show/hide the launcher, and switching to horizontal tabs should likewise obey this default.
- When restoring a session which has the sidebar launcher visible, the pref value takes precedence and overrides the session value.
Looked over Firefox 139.0a1 (2025-04-07) under macOS 15.4, Windows 11 and Ubuntu 24.04 and the pref is behaving as expected.
- The default for the pref is True.
- Setting it to False, the sidebar is automatically hidden while setting it back to True will show it back again.
- The Show sidebar option stays on in about:preferences when changing the defaultLauncherVisible either on True or False.
- Verified that everything behaves as expected on clean profiles with the defaultLauncherVisible set to False.
- Verified that the pref value takes precendence and overrides the session value on session restore.
Something I noticed is that setting the defaultLauncherVisible pref to True or False, the sidebar is shown/ is hidden, but the toolbar sidebar icon doesn't change it's state (opened/closed) automatically. See attachment.
Another thing is that having the pref on False, activating Vertical tabs and then going back to the Horizontal ones, the sidebar launcher is still shown (despite the pref being on False). It seems that this is not expected behavior as Sam mentioned in Comment 8.
| Assignee | ||
Comment 10•1 year ago
|
||
(In reply to Catalin Sasca, Desktop Test Engineering [:csasca] from comment #9)
Something I noticed is that setting the defaultLauncherVisible pref to True or False, the sidebar is shown/ is hidden, but the toolbar sidebar icon doesn't change it's state (opened/closed) automatically.
This is a good catch, but something I think we can fix in 139 and shouldn't affect uplift here.
Another thing is that having the pref on False, activating Vertical tabs and then going back to the Horizontal ones, the sidebar launcher is still shown (despite the pref being on False). It seems that this is not expected behavior as Sam mentioned in Comment 8.
Ok I see where this is happening. I've filed bug 1959196 as a follow-up bug to fix this. We'll triage and determine if that needs to also get uplifted as well as this patch.
| Assignee | ||
Comment 11•1 year ago
|
||
Original Revision: https://phabricator.services.mozilla.com/D242609
Updated•1 year ago
|
Comment 12•1 year ago
|
||
beta Uplift Approval Request
- User impact if declined: Pref is needed for a planned RC rollout
- Code covered by automated testing: yes
- Fix verified in Nightly: yes
- Needs manual QE test: no
- Steps to reproduce for manual QE testing: See https://bugzilla.mozilla.org/show_bug.cgi?id=1949912#c8
- Risk associated with taking this patch: Low
- Explanation of risk level: The new pref and behavior is confined to sidebar/front-end code, has good code coverage and has been verified in nightly
- String changes made/needed: None
- Is Android affected?: no
Updated•1 year ago
|
Comment 13•1 year ago
|
||
| uplift | ||
Updated•1 year ago
|
Updated•1 year ago
|
Verified that the pref works as expected both set on True and False on Firefox 138.0b5. Tests were performed on macOS 15.4, Windows 11 and Ubuntu 24.04.
Description
•