fix(detail): display:contents on SSE wrapper to restore ticket-page scroll (0.22.2)#52
Merged
Merged
Conversation
The 0.22.1 fix made #detail-content a nested flex column, but that still left .detail-header/.detail-grid one level below the [data-detail-page] flex column — vertical scroll stayed broken and the extra flex nesting let wide content force a horizontal scrollbar. display:contents removes the wrapper's box so its children lay out as direct flex children of [data-detail-page], exactly as before the wrapper was introduced: the grid reclaims height, the columns scroll vertically and independently, and no horizontal scrollbar appears. The element stays in the DOM so the SSE innerHTML swap (detail-sse.js) is unaffected.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The 0.22.1 release was meant to restore vertical scroll on the focused ticket page, but it regressed: vertical scroll still didn't work, and a spurious horizontal scrollbar appeared.
Root cause
The live-spec-authoring change (
659ec5d) inserted a#detail-contentwrapper between[data-detail-page]and.detail-gridso the SSE live-update code (detail-sse.js) can swap itsinnerHTML. The detail CSS, however, was written assuming.detail-headerand.detail-gridare direct flex children of the[data-detail-page]flex column (that's how it shipped before the wrapper existed).0.22.1 (#51) tried to patch around the wrapper by making
#detail-contenta nested flex column (flex: 1; min-height: 0; display: flex). But that still left.detail-gridone level removed from[data-detail-page], so the height chain never bounded the grid (no vertical scroll), and the extra flex formatting context let wide content force a horizontal scrollbar.Fix
Use
display: contentson#detail-content. The wrapper's box disappears, so.detail-headerand.detail-gridlay out as direct flex children of[data-detail-page]— byte-for-byte the layout from before the wrapper was introduced:.detail-grid(flex: 1; min-height: 0) reclaims the remaining height →.detail-main/.detail-railoverflow-y: autoengage → vertical scroll works, columns scroll independently.[data-detail-page]'s owngap: 14px(same value the wrapper used).The element stays in the DOM (id,
data-*attributes,innerHTML), so the SSE swap indetail-sse.jsis unaffected — it only uses the element forinnerHTML, attributes, and DOMcontains(), none of which need a layout box.Release
Bumps version to 0.22.2 + CHANGELOG entry. Merging to
maintriggers the release workflow (PyPI + GitHub release), as with prior releases.Generated by Claude Code