Outreachy8 min read

Sunday, March 22, 2026 · Okhuomon Ajayi

My First Deep Dive into Firefox Open Source: Fixing a Split View Bug

Contributing to a large open-source project can feel intimidating at first especially something as massive as Firefox. But recently, I worked on a bug in Firefox’s tab system, and the experience completely changed how I think about debugging UI issues at scale.

Getting started

I picked up a bug related to Split View and vertical tabs:

Tabs appeared misaligned when using Split View, especially in collapsed vertical tab mode.

At first glance, it looked like a simple alignment issue. But like most real-world bugs, it turned out to be deeper than that.

Understanding the problem

Initially, I assumed:

  • The tabs themselves were not centered

But after reading through reviewer comments and investigating the layout, I realized:

The issue was not alignment - it was incorrect container width

When vertical tabs were collapsed:

  • The Split View container was wider than it should be
  • This made the tabs look off-center, even though they were technically aligned within the container

Takeaway: UI bugs are often about layout context, not the elements alone.

Reproducing the bug

To properly understand the issue, I had to:

  1. Enable vertical tabs
  2. Collapse the sidebar (icon-only mode)
  3. Open Split View
  4. Hover over tabs to reveal layout inconsistencies

The hover state was especially helpful it exposed the actual boundaries of the UI elements and made the bug more obvious.

Debugging the layout

The fix involved digging into Firefox’s tab styling (tabs.css) and understanding how Split View was structured.

Some key discoveries:

  • Split View uses CSS Grid to layout tabs
  • It switches between:
    • 1fr 1fr (side-by-side tabs)
    • 1fr (stacked tabs when space is small)
  • Some styles assumed a horizontal layout even when the tabs were stacked vertically

This caused misalignment in certain responsive states.

Reviewer feedback (and what I learned)

One of the most valuable parts of this experience was the code review.

I received feedback like:

  • Apply horizontal-specific styles only when layout is actually horizontal
  • Remove unnecessary margins that were breaking centering
  • Consider responsive behavior (stacked vs side-by-side)

Takeaway: Do not fix symptoms fix the underlying layout logic.

Key lessons

1. Misalignment is not always an alignment problem

Sometimes things look off because the container is wrong, not the content.

2. Responsive UI is tricky

Your UI might work in one layout but break in another:

  • Wide vs narrow
  • Expanded vs collapsed

3. CSS can have hidden assumptions

Rules written for one layout can accidentally affect another.

4. Code review matters

Having experienced reviewers guide you is one of the best ways to grow.

What I would do differently next time

  • Think about all layout states early (not just the main case)
  • Test aggressively with resizing and edge cases
  • Use browser dev tools more deeply from the start

Why this matters

Working on this bug gave me a real taste of:

  • Large-scale frontend architecture
  • Collaborative development
  • Writing fixes that do not introduce regressions

It is one thing to build your own projects it is another to contribute to something used by millions.

Closing

This was more than just fixing a UI bug.

It was about:

  • Understanding how complex systems behave
  • Learning to read and respect existing code
  • Iterating based on feedback

I am just getting started.

If you are thinking about contributing to open source, especially something like Firefox do it. The learning curve is real, but so is the growth.

This is an excerpt from Okhuomon Ajayi's My First Deep Dive into Firefox Open Source: Fixing a Split View Bug article. I highly recommend you give it a read!