Fix console parallel stages overflow#26135
Fix console parallel stages overflow#26135LakshyaBagani wants to merge 1 commit intojenkinsci:masterfrom
Conversation
The Pipeline plugin uses ::before pseudo-elements with position:absolute and translateX(-100%) to place branch labels in the left margin of console output. When labels are long, they overflow into the sidebar. This fix overrides the plugin styling to display labels inline with the console output text instead of in the left margin.
7bc6bc8 to
d2139ee
Compare
|
wrong place I would say. That is something that should be fixed in pipeline (not sure which plugin exactly) and not here. When pipeline decides to use a different class (although unlikely), the fix would no longer work. |
|
I placed this change in core because it already handles .console-output styling, and the pipeline-node-* naming has been stable for years since it’s based on internal node IDs. Given that, it didn’t feel worth doing a separate plugin release just for this. Would you prefer that I move these changes to the plugin instead ? |
| // Fix for JENKINS-76029: Prevent pipeline branch labels from overflowing into sidebar | ||
| // The Pipeline plugin uses ::before pseudo-elements with position:absolute and translateX(-100%) | ||
| // to place labels in the left margin. Override this to display inline instead. | ||
| .console-output [class*="pipeline-node-"]::before { |
There was a problem hiding this comment.
this should be done in pipeline not here, a pipeline class doesn't make sense to be in core
|
Having this in the plugin has the advantage that all you need is a plugin update and not a Jenkins update. So all users of pipeline benefit from it also that are not on the latest Jenkins. Consider that it will take weeks until this change reaches a LTS version. |
|
Since changes in plugins can be rolled out faster, I’m going to close this PR . Thanks for the feedback . |
|
@mawinter69 @timja |
Fixes #16806
When parallel pipeline stages have long names, the branch labels in the console output overflow into the left sidebar, making them hard to read and overlapping with navigation items.
The Pipeline plugin uses
::beforepseudo-elements withposition: absoluteandtransform: translateX(-100%)to position these labels in the left margin. This fix overrides that behavior to display labels inline instead.Testing done
Created a pipeline job with parallel stages having long names and ran it multiple times. Checked the console output page before and after the fix:
Also verified that regular console output (non-pipeline) still works correctly.
Screenshots
Before
After
Proposed changelog entries
Proposed changelog category
/label bug,web-ui
Proposed upgrade guidelines
N/A
Submitter checklist
@Restrictedor have@since TODOJavadocs, as appropriate.@Deprecated(since = "TODO")or@Deprecated(forRemoval = true, since = "TODO"), if applicable.evalto ease future introduction of Content Security Policy (CSP) directives (see documentation).Desired reviewers
@timja @MarkEWaite @mawinter69