Translations Panels do not populate language dropdowns when creating a new window from a tab that has already opened the panel
Categories
(Firefox :: Translations, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr115 | --- | unaffected |
firefox125 | --- | wontfix |
firefox126 | --- | fixed |
firefox127 | --- | verified |
firefox128 | --- | verified |
People
(Reporter: nordzilla, Assigned: nordzilla)
References
(Regression)
Details
(Keywords: regression)
Attachments
(5 files)
34.88 KB,
image/png
|
Details | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-beta+
|
Details | Review |
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-beta+
|
Details | Review |
Description
Steps to Reproduce
- Open a Firefox window.
- Open a new tab such that you have at least two tabs in the current window.
- Navigate to a translatable website, such as https://es.wikipedia.org
- Open the FullPageTranslationsPanel by clicking the Translations button in the URL bar.
- Observe that the language dropdown menus are populated if you open them, and are pre-selected to languages, such as from Spanish to English.
- Close the panel.
- Click and drag that tab somewhere else on the screen such that the tab becomes its own new window.
- Reopen the FullPageTranslationsPanel by clicking the Translations button in the URL bar.
Expected Behavior
(Left side of image)
The language lists are still populated and pre-selected to languages for translation, such as from Spanish to English.
Actual Behavior
(Right side of image)
The language lists are not populated and are pre-selected to the Choose a language option, such as from Spanish to English.
Tests to implement
- Implement a test that opens a new tab, opens the panel, then moves the tab to its own window, then opens the panel in that window to ensure it still works.
Assignee | ||
Comment 1•7 months ago
|
||
Assignee | ||
Comment 2•7 months ago
|
||
Fixes an issue where the Translations panels initialization
cache would encounter an false cache hit if a tab is dragged
to become its own new window after one of the panels was already
opened in the previous window.
Assignee | ||
Comment 3•7 months ago
|
||
Adds a test case where the FullPageTranslationsPanel is
opened from a new window after click-and-dragging a tab
to become its own window.
Depends on D208820
Assignee | ||
Updated•7 months ago
|
Comment 4•7 months ago
|
||
Set release status flags based on info from the regressing bug 1870327
Updated•7 months ago
|
Updated•7 months ago
|
Assignee | ||
Comment 5•7 months ago
•
|
||
Update
Whew, this has been quite the chain of regressions! My plan is to uplift this patch into Firefox 126 Beta.
I'll provide a breakdown of all the events, as well as a summary of the final resulting behaviors of all the Firefox versions.
Breakdown of Events
-
This regression was caused by Bug 1870327 in Firefox 125.
-
Following that, I attempted to fix the regression by fixing Bug 1889697, which was uplifted into Firefox 125.
-
Unfortunately, that patch fixed most of the issue, but caused a different extremely-unlikely-to-occur regression in the panel's error messaging, which was fixed by Bug 1892541 and uplifted into Firefox 126.
-
But then I realized that Bug 1889697 didn't quite fix all of the issue caused by the original regressor (Bug 1870327). It fixed the issue for opening multiple new windows all on their own, but there was still one unhandled edge case where a user can drag a pre-existing tab to become its own window, causing the panel initialization to still fail if it was already initialized in the previous window.
-
This bug fixes that and adds a test case for that specific scenario.
Summary of behavior in each Firefox version
Assuming this gets uplifted into Firefox 126 beta, the resulting state of everything will be the following:
-
Firefox 124 will work as expected.
-
Firefox 125 will have only the issue described by this bug, where dragging an open tab to a new window and then opening the FullPageTranslationsPanel will fail to populate the dropdown menus only if the panel was opened already in the previous window. However the user will be able to fix the initialization state if they attempt to open the panel from a new tab that was crated within the new window from the start. There are no security risks here, just a minor edge-case inconvenience that is easily fixable by the user.
-
Firefox 126 will work as expected.
Updated•7 months ago
|
Comment 6•7 months ago
|
||
:nordzilla just a reminder that we are in the final week of beta for Fx126.
If you plan on landing this and requesting an uplift then we don't have much time.
Assignee | ||
Comment 7•6 months ago
|
||
Hey Donal, thanks for the reminder.
Greg (the reviewer) was out on Friday and I was out on Monday. Just some unfortunate timing.
All the reviews etc. are approved now and I'll be landing this today.
Assignee | ||
Comment 9•6 months ago
•
|
||
I will request uplift for this as soon as I get confirmation that this is not only in autoland, and is fully resolved and in central.
I pushed it 20 hours ago, and it doesn't usually take so long. I'll keep monitoring it.
I don't want to request uplift if it were to be backed out for some reason (though I have high confidence it won't be).
Comment 10•6 months ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/83bd68625e79
https://hg.mozilla.org/mozilla-central/rev/45fc4d710ebf
Assignee | ||
Comment 11•6 months ago
|
||
Fixes an issue where the Translations panels initialization
cache would encounter an false cache hit if a tab is dragged
to become its own new window after one of the panels was already
opened in the previous window.
Original Revision: https://phabricator.services.mozilla.com/D208820
Updated•6 months ago
|
Assignee | ||
Comment 12•6 months ago
|
||
Adds a test case where the FullPageTranslationsPanel is
opened from a new window after click-and-dragging a tab
to become its own window.
Original Revision: https://phabricator.services.mozilla.com/D208821
Updated•6 months ago
|
Comment 13•6 months ago
|
||
beta Uplift Approval Request
- User impact if declined: Dragging an open tab to a new window and then opening the FullPageTranslationsPanel will fail to populate the dropdown menus only if the panel was opened already in the previous window. However the user will be able to fix the initialization state if they attempt to open the panel from a new tab that was crated within the new window from the start.
- Code covered by automated testing: yes
- Fix verified in Nightly: yes
- Needs manual QE test: no
- Steps to reproduce for manual QE testing: STR described in bug
- Risk associated with taking this patch: Low
- Explanation of risk level: This only affects the Translations panel init cache, which are well tested in general and have a new test case for this specific edge-case.
- String changes made/needed: None
- Is Android affected?: no
Updated•6 months ago
|
Updated•6 months ago
|
Updated•6 months ago
|
Updated•6 months ago
|
Updated•6 months ago
|
Comment 14•6 months ago
|
||
uplift |
Comment 15•6 months ago
|
||
I managed to reproduce this issue in Nightly v127.0a1 (2024-04-28) and verified the fix in Nightly v128.0a1 (2024-05-29) on Windows 10, MacOS11 and Ubuntu22.
Description
•