Skip to content

[Bug]: active tab loses its selected styling after the first tab switch ([selected="true"] vs valueless [selected]) #4

Description

@w1bbsy

LiquidBird version

0.1.0

Thunderbird version and build

Thunderbird 154.0 (Release channel, aarch64)

Operating system and version

macOS 27

Appearance

Light

Thunderbird density

Compact

Message-list view

Card view

Pane layout

Vertical view

What happened?

LiquidBird's selected-tab rule keys off [selected="true"]:

.tabmail-tab[selected="true"] .tab-background,
.tab-background[selected="true"] {
  border: 1px solid var(--lb-control-border) !important;
  border-radius: var(--lb-radius-pill) !important;
  background: var(--lb-control-fill) !important;
  box-shadow: none !important;
}

On first load the active tab carries selected="true" from the static markup, so the rule matches. After the first tab switch, Thunderbird 154 rewrites the attribute as a valueless boolean (selected, with no ="true"), so [selected="true"] stops matching and the active tab drops back to the resting appearance. With stock LiquidBird the effect is subtle because the selected fill is only a faint grey, but the active tab becomes visually indistinguishable from the inactive ones after any switch. It is very visible once the resting tab is given any fill of its own.

The hover rule has the same problem: .tabmail-tab:hover:not([selected="true"]) starts matching the active tab after a switch, so hovering the current tab shows a hover state it should not.

Expected: the active tab keeps its selected styling across tab switches.

Suggested fix: match the valueless attribute. Replace [selected="true"] with [selected] in the tab rules and in the :not(...) of the hover rule; [selected] matches both selected="true" and the bare boolean. Covering [visuallyselected] as well is harmless.

Reproduction steps

  1. Enable LiquidBird on macOS.
  2. Open a second tab (e.g. the Calendar space) so the tab bar is shown.
  3. On load, the active tab has LiquidBird's selected fill.
  4. Click the other tab, then click back to the first.
  5. Neither tab shows the selected fill any more; the active tab looks like an inactive one.

Sanitized screenshot (optional)

No response

Other customizations and add-ons

Reproduced by editing only the two tab selectors in custom.css: changing [selected="true"] to [selected] on .tabmail-tab / .tab-background (and in the hover :not(...)) makes the active tab keep its fill across switches. No add-ons affect the tab bar.

Isolation checks

  • I reproduced this with personal custom.css rules removed, if practical.
  • I confirmed that disabling LiquidBird removes the problem, if practical.
  • I removed personal data from everything attached to this report.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions