Skip to content

fix(scm): Prevent 1px text shift when toggling SCM integration row#110799

Merged
ryan953 merged 2 commits intomasterfrom
ryan953/fix/scm-row-text-shift-on-toggle
Mar 16, 2026
Merged

fix(scm): Prevent 1px text shift when toggling SCM integration row#110799
ryan953 merged 2 commits intomasterfrom
ryan953/fix/scm-row-text-shift-on-toggle

Conversation

@ryan953
Copy link
Copy Markdown
Member

@ryan953 ryan953 commented Mar 16, 2026

The RowContainer used border-bottom on rows and none on :last-child.
With box-sizing: border-box, the presence or absence of that 1px border
changed the content area height (56px vs 55px). Child elements using
height: 100% inherited this, so flex-centered text shifted by 1px
whenever a row's last-child status changed — which happens whenever the
integration row is expanded or collapsed.

Fix by drawing the separator via a position: absolute ::after pseudo-element
instead. Since the pseudo-element is outside the box model, the container's
content area is always the full 56px and height: 100% resolves consistently.

ryan953 and others added 2 commits March 16, 2026 13:19
The RowContainer used border-bottom on rows and none on :last-child.
With box-sizing: border-box, the presence or absence of that 1px border
changed the content area height (56px vs 55px). Child elements using
height: 100% inherited this, so flex-centered text shifted by 1px
whenever a row's last-child status changed — which happens whenever the
integration row is expanded or collapsed.

Fix by keeping the border always present but making it transparent on
:last-child. The content area is now a consistent 55px in all cases,
so height: 100% resolves to the same value regardless of DOM position.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
The RowContainer used border-bottom on rows and none on :last-child.
With box-sizing: border-box, the presence or absence of that 1px border
changed the content area height (56px vs 55px). Child elements using
height: 100% inherited this, so flex-centered text shifted by 1px
whenever a row's last-child status changed — which happens whenever the
integration row is expanded or collapsed.

Fix by drawing the separator via a position: absolute ::after pseudo-element
instead. Since the pseudo-element is outside the box model, the container's
content area is always the full 56px and height: 100% resolves consistently.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
@github-actions github-actions bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Mar 16, 2026
@ryan953 ryan953 requested a review from billyvg March 16, 2026 20:26
@ryan953 ryan953 merged commit 6a9058e into master Mar 16, 2026
64 checks passed
@ryan953 ryan953 deleted the ryan953/fix/scm-row-text-shift-on-toggle branch March 16, 2026 20:32
JonasBa pushed a commit that referenced this pull request Mar 16, 2026
…110799)

The RowContainer used border-bottom on rows and none on :last-child.
With box-sizing: border-box, the presence or absence of that 1px border
changed the content area height (56px vs 55px). Child elements using
height: 100% inherited this, so flex-centered text shifted by 1px
whenever a row's last-child status changed — which happens whenever the
integration row is expanded or collapsed.

Fix by drawing the separator via a position: absolute ::after
pseudo-element
instead. Since the pseudo-element is outside the box model, the
container's
content area is always the full 56px and height: 100% resolves
consistently.

---------

Co-authored-by: Claude Sonnet 4.6 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants