Closed Bug 1842547 Opened 1 year ago Closed 1 year ago

Search Shortcuts settings missing headers / header labels don't update dynamically

Categories

(Firefox :: Search, defect)

Firefox 116
defect

Tracking

()

VERIFIED FIXED
117 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox-esr115 --- verified
firefox115 --- wontfix
firefox116 + verified
firefox117 --- verified

People

(Reporter: blakewolf, Assigned: Gijs)

References

(Regression)

Details

(Keywords: regression)

Attachments

(3 files)

Steps to reproduce:

Go to about:preferences#search --> "Search Shortcuts" section

Actual results:

Table is missing headers

Expected results:

Table should have headers to identify columns

Keywords: regression
Regressed by: 1831259

The Bugbug bot thinks this bug should belong to the 'Firefox::Settings UI' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Settings UI

:Gijs, since you are the author of the regressor, bug 1831259, could you take a look? Also, could you set the severity field?

For more information, please visit BugBot documentation.

Flags: needinfo?(gijskruitbosch+bugs)

Eemeli, can you help me understand why these elements are not being translated by fluent here?

They end up in an open shadowroot. Before the regressing change, we explicitly called translateFragment before the DOM fragment was inserted into the "real" DOM, which meant that the treecol elements like #engineKeyword were not in any shadowroot (ie "just" light DOM).

I know that for closed roots, the root needs to add itself to fluent's collection of roots. I didn't think that was the case for open shadowroots?

(and more generally, do we still stand any chance of changing this design aspect of fluent? It's kind of tedious that anyone who implements a custom element has to remember to do fluent admin in case its consumers need it to work...)

Flags: needinfo?(gijskruitbosch+bugs) → needinfo?(earo)

[Tracking Requested - why for this release]:
Seems bad not to have column labels here.

Status: UNCONFIRMED → NEW
Component: Settings UI → Search
Ever confirmed: true

... actually, it seems the label attribute is being set, but it's not correctly inheriting down into the treecol's content, the way this code suggests that it should...

Flags: needinfo?(earo) → needinfo?(gijskruitbosch+bugs)

Set release status flags based on info from the regressing bug 1831259

Argh, of course, it's something dumb...

bug 1820634 added an attributeChangedCallback to tree.js's treeCol element but it doesn't call super's attributeChangedCallback, so it broke the `inheritedAttributes functionality provided by the superclass.

Assignee: nobody → gijskruitbosch+bugs
Status: NEW → ASSIGNED
Flags: needinfo?(gijskruitbosch+bugs)
Regressed by: 1820634
Pushed by gijskruitbosch@gmail.com: https://hg.mozilla.org/integration/autoland/rev/1b9d8da8776f ensure treecol label, crop and other attributes actually inherit correctly, r=emilio
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 117 Branch

Uplift Approval Request

  • String changes made/needed: No
  • Fix verified in Nightly: no
  • Steps to reproduce for manual QE testing: See comment 0
  • Explanation of risk level: This is reinstating a call that used to exist prior to bug 1820634 (landed in 112) and shouldn't ultimately affect many <treecol> consumers anyway
  • Code covered by automated testing: no
  • Is Android affected?: no
  • Needs manual QE test: yes
  • User impact if declined: Missing labels in the UI
  • Risk associated with taking this patch: minimal
Flags: qe-verify+

The patch landed in nightly and beta is affected.
:Gijs, is this bug important enough to require an uplift?

  • If yes, please nominate the patch for beta approval.
  • If no, please set status-firefox116 to wontfix.

For more information, please visit BugBot documentation.

Flags: needinfo?(gijskruitbosch+bugs)

A patch has been attached on this bug, which was already closed. Filing a separate bug will ensure better tracking. If this was not by mistake and further action is needed, please alert the appropriate party. (Or: if the patch doesn't change behavior -- e.g. landing a test case, or fixing a typo -- then feel free to disregard this message)

I did request uplift... Filed https://github.com/mozilla/bugbot/issues/2167 to fix the bot.

Flags: needinfo?(gijskruitbosch+bugs)

Comment on attachment 9343372 [details]
Bug 1842547 - ensure treecol label, crop and other attributes actually inherit correctly, r?emilio

Approved for 116.0b5

Attachment #9343372 - Flags: approval-mozilla-beta+
QA Whiteboard: [qa-triaged]

Reproducible on a 2023-07-09 Nightly build on Windows 10.
Verified as fixed on Firefox 116.0b5(build ID: 20230713175905) and Nightly 117.0a1(build ID: 20230713214846) on Windows 10, macOS 12, Ubuntu 22.
Search Shortcut table now displays the header properly.

Status: RESOLVED → VERIFIED
Flags: qe-verify+

esr115 is also effected.

Can we get an uplift for esr115?

Flags: needinfo?(gijskruitbosch+bugs)

(In reply to Henry Wilkes (they/them) [:henry-x] from comment #20)

esr115 is also effected.

Can we get an uplift for esr115?

bug 1831259 didn't land there, so I don't think this bug should be reproducible on Firefox esr115 (hence that release being marked as unaffected). Can you clarify how you're reproducing an issue there?

Flags: needinfo?(gijskruitbosch+bugs) → needinfo?(henry)

We have the same problem with missing labels in xul:treecol in tor browser. Basically, setting label attribute on the treecol will not update the xul:label element's value as per the inheritedAttributes.

I think the regression was from https://hg.mozilla.org/integration/autoland/rev/57b5df18c27c#l7.12. I.e. bug 1820634 which landed in 112.

Flags: needinfo?(henry)

I guess it is only really an issue if you set the label after connectedCallback is called. I'm not sure if this happens within firefox though.

(In reply to Henry Wilkes (they/them) [:henry-x] from comment #23)

I guess it is only really an issue if you set the label after connectedCallback is called. I'm not sure if this happens within firefox though.

Actually, this does happen when you switch locales. So in firefox 115.2.1esr, if I switch from "en-US" to another language, the existing tree columns will still have their en-US titles despite their "label" attribute being changed to the new language.

(In reply to Henry Wilkes (they/them) [:henry-x] from comment #22)

We have the same problem with missing labels in xul:treecol in tor browser. Basically, setting label attribute on the treecol will not update the xul:label element's value as per the inheritedAttributes.

Does tor browser do this in places where Firefox does not? Can you clarify where this is? :-)

(In reply to Henry Wilkes (they/them) [:henry-x] from comment #24)

(In reply to Henry Wilkes (they/them) [:henry-x] from comment #23)

I guess it is only really an issue if you set the label after connectedCallback is called. I'm not sure if this happens within firefox though.

Actually, this does happen when you switch locales. So in firefox 115.2.1esr, if I switch from "en-US" to another language, the existing tree columns will still have their en-US titles despite their "label" attribute being changed to the new language.

Thanks, this is helpful. There are many other places where the live switching does not work perfectly so I think this alone would not justify ESR uplift... also because it'd be fixed as soon as you refreshed the settings/prefs. But I guess at least it allows QA to verify the fix on ESR.

Flags: needinfo?(henry)
Attachment #9353660 - Flags: approval-mozilla-esr115?

Uplift Approval Request

  • String changes made/needed: No
  • Code covered by automated testing: no
  • Risk associated with taking this patch: Low
  • Is Android affected?: no
  • Steps to reproduce for manual QE testing: N/A
  • User impact if declined: ESR / tor browser brokenness when column header labels are set dynamically
  • Fix verified in Nightly: yes
  • Explanation of risk level: Minor changes that ensure a subclass calls superclass's "update" methods
  • Needs manual QE test: no

Does tor browser do this in places where Firefox does not? Can you clarify where this is? :-)

Sure, it is in our own saved onion keys dialog (Privacy & Security, Onion Services Authentication, Saved Keys...): https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42109

We've not yet migrated our old strings to fluent yet, so the table's strings are assigned just after the page load.

Flags: needinfo?(henry)
Summary: Search Shortcuts settings missing headers → Search Shortcuts settings missing headers / header labels don't update dynamically

Comment on attachment 9353660 [details]
Bug 1842547 - ensure treecol label, crop and other attributes actually inherit correctly, r?emilio

Approved for ESR 115.3, thanks.

Attachment #9353660 - Flags: approval-mozilla-esr115? → approval-mozilla-esr115+

Reproducible on a 2023-07-09 Nightly build on macOS 12.
Verified as fixed on Firefox ESR 115.3.0(build ID: 20230918121054) on macOS 12, Windows 10, Ubuntu 22.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: