Skip to content

fix(FilterNavigatorBar): clip overflow so many breadcrumbs do not expand the parent - #6085

Merged
mstange merged 1 commit into
firefox-devtools:mainfrom
spokodev:fix/filter-navigator-bar-overflow
Jun 4, 2026
Merged

fix(FilterNavigatorBar): clip overflow so many breadcrumbs do not expand the parent#6085
mstange merged 1 commit into
firefox-devtools:mainfrom
spokodev:fix/filter-navigator-bar-overflow

Conversation

@spokodev

Copy link
Copy Markdown
Contributor

Fixes#6028.

Without overflow: hidden, the breadcrumb bar's intrinsic min-content width (sum of all nowrap children) propagates up through the flex column parent and forces #flame-graph-tab to grow horizontally past the viewport. On the profile shared in the issue (https://share.firefox.dev/3RKVQPY) the tab ends up around 15k px wide and gains a horizontal scrollbar.

The change is one CSS line on .filterNavigatorBar in src/components/shared/FilterNavigatorBar.css:

 display: flex;
+ overflow: hidden;
height: 24px;

Items inside the bar already have text-overflow: ellipsis on .filterNavigatorBarItemContent, so clipping at the bar level is the intended behaviour. The pre-existing comment in this file explicitly noted that overflow: hidden was omitted to preserve a fade-out animation on items at the end; that animation has since been removed, so the constraint no longer applies. The comment is updated to describe the current reason for overflow: hidden.

Verification

  • yarn ts clean
  • yarn lint-css clean (the stylelint order/properties-order rule wants overflow directly after display)
  • yarn fmt-check clean
  • yarn lint-js clean
  • yarn license-check clean
  • Targeted tests green: yarn test FilterNavigatorBar|ProfileFilterNavigator|FlameGraph -> 2 suites, 19 tests, 9 snapshots, all pass. Snapshots are unchanged because the React structure is the same; the fix is CSS only.

This is a CSS-only fix, so there is no unit test surface inside Jest. The profile from the issue is the manual verification path: load it into a local dev server before and after the change and observe whether #flame-graph-tab overflows.

Related

…and the parent
Without overflow: hidden the bar's intrinsic min-content width (sum of all
nowrap children) propagates up through the flex column parent and makes the
flame-graph tab grow horizontally past the viewport. With many breadcrumbs
the tab ends up around 15k px wide and gains a horizontal scrollbar.
Items inside the bar already have text-overflow: ellipsis on
.filterNavigatorBarItemContent, so clipping at the bar level is the
intended behaviour. The original comment noted that overflow was omitted
to preserve a fade-out animation on items at the end; that animation has
since been removed, so the constraint no longer applies.
Closesfirefox-devtools#6028
@mstange

Copy link
Copy Markdown
Contributor

Thank you! I noticed this too recently.

@codecov

codecovBot commented Jun 4, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.70%. Comparing base (3d1ca29) to head (cef92f1).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@ Coverage Diff @@## main #6085 +/- ##
=======================================
Coverage 83.70% 83.70% =======================================
Files 337 337 Lines 35575 35575 Branches 9973 9878 -95 =======================================
Hits 29778 29778 Misses 5369 5369 Partials 428 428 

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@mstange
mstange marked this pull request as ready for review June 4, 2026 14:14
@mstange
mstange merged commit 0d3c35c into firefox-devtools:mainJun 4, 2026
23 checks passed
@canovacanova mentioned this pull request Jun 16, 2026
canova added a commit that referenced this pull request Jun 16, 2026
Changes:
[Nazım Can Altınova] Fix call node context menu being hidden behind
source view bottom box (#6045)
[Nazım Can Altınova] Pass `--use-env-proxy` only when the node version
is >= 24 (#6064)
[fatadel] Upgrade @firefox-devtools/react-contextmenu to 5.2.4 (#6066)
[Markus Stange] Switch profiler-edit from minimist to commander (#6065)
[Markus Stange] Support reading profiles from JsonSlabs files (#6037)
[Florian Quèze] Don't fail profile processing when a marker's stack
field is not a backtrace (#6069)
[fatadel] Replace the footer-links overlay with a settings menu (#6042)
[fatadel] Upgrade @types/node to match Node 24 (#6070)
[fatadel] Remove unused undici-types package (#6074)
[cathaysia] Update isLocalURL to include LAN addresses, .local domains,
and hostn… (#5973)
[Markus Stange] Fix from-url with binary profiles (#6072)
[fatadel] Upgrade to React 19 (#6067)
[Markus Stange] Add an insertStackLabels helper. (#6076)
[fatadel] Drive counter tooltips from a tooltipRows schema (#6023)
[fatadel] Add TrackPower--tooltip-average-power-microwatt (#6080)
[Markus Stange] Downgrade to React 19.1 to fix unusable dev build
performance. (#6082)
[Nazım Can Altınova] Add source map symbolication and source view
support (#6018)
[spokodev] fix(FilterNavigatorBar): clip overflow so many breadcrumbs do
not expand the parent (#6085)
[Markus Stange] Move paddings inside the tree header cells. (#6002)
[Markus Stange] Add an --insert-label-frames argument to the
profiler-edit tool (#5966)
[Markus Stange] Stop printing "error: too many arguments" during tests.
(#6088)
[Markus Stange] More additions to profiler-edit, for sp3 profiles
(#6009)
[Nazım Can Altınova] Do not rely on localized texts in the settings menu
tests (#6101)
And special thanks to our localizers:
be: Andrei Mukamolau
de: Ger
de: Michael Köhler
de: Ralf Duehnfahr
el: Jim Spentzos
en-CA: chutten
en-GB: Ian Neal
es-CL: ravmn
fr: Théo Chevalier
fr: wy
fur: Fabio Tomat
fy-NL: Fjoerfoks
ia: Melo46
it: Francesco Lodolo [:flod]
nl: Mark Heijl
ru: Valery Ledovskoy
sr: Марко Костић (Marko Kostić)
sv-SE: Andreas Pettersson
tr: Grk
tr: Selim Şumlu
zh-CN: Olvcpr423
zh-TW: Pin-guang Chen
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Flame graph: Large number of breadcrumbs expands graph width excessively

2 participants

@spokodev@mstange