Skip to content

Dashboard job table no longer scrolls horizontally after the page layout refactor (regression of JENKINS-73695) #27198

Description

@Anexus5919

Jenkins and plugins versions report

Jenkins master (2.577-SNAPSHOT, commit e8809b0 and later). Not yet in any released weekly: the latest release at the time of filing is 2.576, which is unaffected. No plugins required.

What Operating System are you using (both controller, and any agents involved in the problem)?

Any (found on Windows 11, but the change is platform-independent CSS).

Reproduction steps

  1. Run Jenkins built from master at or after commit e8809b0 ("Standardise experimental Jenkins pages, make the side panel independently scrollable + make the build bar sticky", PR Standardise experimental Jenkins pages, make the side panel independently scrollable + make the build bar sticky #26863).
  2. Create enough jobs (or install plugins that add list-view columns, or narrow the browser window) so that the job table on the dashboard is wider than the page.
  3. Look at the job status table on the dashboard and try to reach the rightmost columns.

Screenshots

Image

The same dashboard at a 900px viewport (Chrome DevTools responsive mode): the Project description column is clipped at the page frame and there is no scrollbar to reach it.

Image

Expected Results

The job table scrolls horizontally within its own container, as introduced by JENKINS-73695 (PR #9667): a scrollbar appears under the table, and the columns can be scrolled while the rest of the page stays in place.

Actual Results

The scroll container is gone. PR #26863 removed the

.app-project-status-table {
  width: 100%;
  overflow-x: auto;
}

rule from src/main/scss/base/_layout-commons.scss during the layout restructuring, but core/src/main/resources/lib/hudson/projectView.jelly (line 70) still wraps table#projectstatus in <div class="app-project-status-table">. The class is now dead: it appears in the DOM but no longer matches any rule in the compiled styles.css (verified by grep). With no overflow-x: auto anywhere around the table, a too-wide job table cannot be scrolled within its own container anymore; its overflow is instead handled (clipped or scrolled as a whole) by the new .app-page-body card, so the JENKINS-73695 behavior is lost.

Anything else?

Found by code inspection while working on #27187 and PR #27197, which fixes the same class of problem on the Nodes page.

Two straightforward ways to fix it:

  1. Reinstate the removed .app-project-status-table rule; or
  2. Reuse the generic .jenkins-table-wrapper class introduced by PR Prevent nodes table from overflowing the page in the new Manage Jenkins UI #27197 (width: 100%; overflow-x: auto;) in projectView.jelly and delete the dead dashboard-specific class name.

Since the regression is only on master, fixing it before the next weekly ships would avoid it ever reaching users.

Are you interested in contributing a fix?

Yes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions