Skip to content

Use custom splitter component#4606

Open
mstange wants to merge 3 commits intofirefox-devtools:mainfrom
mstange:new-splitter
Open

Use custom splitter component#4606
mstange wants to merge 3 commits intofirefox-devtools:mainfrom
mstange:new-splitter

Conversation

@mstange
Copy link
Copy Markdown
Contributor

@mstange mstange commented May 4, 2023

Production | Deploy preview

This replaces the splitter component with an implementation which lets us use max-height on the timeline, so that we don't have to compute the timeline height based on the visible tracks.

This PR is based on #5946.

┆Issue is synchronized with this Jira Task

@canova canova mentioned this pull request Sep 4, 2025
4 tasks
@mstange mstange marked this pull request as ready for review April 2, 2026 22:13
@mstange mstange requested review from canova and fatadel as code owners April 2, 2026 22:13
@mstange mstange force-pushed the new-splitter branch 2 times, most recently from 3f0156a to d644702 Compare April 2, 2026 22:18
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 2, 2026

Codecov Report

❌ Patch coverage is 45.56962% with 43 lines in your changes missing coverage. Please review.
✅ Project coverage is 85.36%. Comparing base (e17e396) to head (b9c121e).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
src/components/shared/ResizableWithSplitter.tsx 28.30% 38 Missing ⚠️
src/components/app/BottomBox.tsx 72.22% 3 Missing and 2 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4606      +/-   ##
==========================================
- Coverage   85.38%   85.36%   -0.03%     
==========================================
  Files         322      323       +1     
  Lines       32101    32052      -49     
  Branches     8849     8722     -127     
==========================================
- Hits        27410    27361      -49     
  Misses       4260     4260              
  Partials      431      431              

☔ View full report in Codecov by Sentry.
📢 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 draft April 4, 2026 00:03
@canova canova removed request for canova and fatadel April 7, 2026 10:27
@mstange mstange force-pushed the new-splitter branch 2 times, most recently from 2b5d157 to 939ac2b Compare April 10, 2026 15:51
mstange added 2 commits April 10, 2026 11:52
We originally introduced this to resolve firefox-devtools#1205 and firefox-devtools#736, but these
days it's not needed anymore because we have ResizeObservers in the
relevant places.
This replacement has the following advantages:
It's compatible with React 18, and it supports making "max-height"
the controlled property, which is useful for our timeline splitter.

In the past, we needed to compute the height of the timeline contents,
and then make it so you couldn't move the splitter down more than the
full timeline height, because we didn't want there to be a gap above
the splitter, or even initialize the splitter at a position that creates
such a gap. By making the splitter control max-height instead, even if
the splitter is dragged low enough to say max-height:1000px, the splitter
won't actually move that low because the timeline won't grow beyond its
full size (because there's no longer a height property forcing it to grow).
In the past this was used to prevent the splitter from creating
a gap between the timeline contents and the splitter. But these
gaps only appeared because the splitter set a height.
Now it only sets a max-height so the gaps don't appear.
@mstange mstange marked this pull request as ready for review April 10, 2026 16:04
Sign up for free to 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.

1 participant