Skip to content

Artifactory rail: the board takes a share of the rail, never enough to push the foot off - #245

Merged
scgopi merged 1 commit into
mainfrom
fix/artifactory-rail-share
Sep 1, 2026
Merged

scgopi merged 1 commit into
mainfrom
fix/artifactory-rail-share

Conversation

@scgopi

@scgopi scgopi commented Sep 1, 2026

Copy link
Copy Markdown
Owner

Reported: with the summary, the diagram and the board all present, the rail's content can push the lower sections off the bottom of the window.

Cause

Three flexible sections, two behaviours. The summary and the diagram are greedy (maxHeight: .infinity) — they yield when squeezed. The board hugs its posts with fixedSize up to a fixed 600pt — it is rigid, and on a short window that 600, plus THIS LOOP's 118 and the summary's 120 floor, adds up past the rail. A VStack with more rigid content than space overflows, and what slides off is the foot: the button, the footer.

Fix

The rail measures its own height with an outer GeometryReader — the container, not a guess from inside a scroll view — and hands the board a cap of 40% of the rail (floor 160, ceiling the old 600). A share cannot overflow on its own, and 40% still shows a conversation. The section takes the cap as a parameter; nothing else changes.

Verification

Suite 1506 tests / 156 suites pass (+3 pinning the share, the floor, the ceiling, and that share + rigid sections fit a 700pt rail). swiftlint 0 errors, swift-format --strict clean. Needs a human's eyes on a short window.

🤖 Generated with Claude Code

https://claude.ai/code/session_019A6NULwEiBXEdRXwEKKcRH

…o push the foot off

Reported: with the summary, the diagram and the board all present, the rail's
content can push the lower sections off the bottom of the window.

Three flexible sections, two behaviours. The summary and the diagram are
greedy (maxHeight .infinity) and yield when squeezed. The board hugs its
posts with fixedSize up to a fixed 600pt — rigid — and on a short window that
600, plus THIS LOOP's 118 and the summary's 120 floor, adds up past the rail.
A VStack with more rigid content than space overflows, and what slides off is
the foot: the button, the footer.

The rail now measures its own height with an outer GeometryReader — the
container, not a guess from inside a scroll view — and hands the board a cap
of 40% of the rail (floor 160, ceiling the old 600). A share cannot overflow
on its own, and 40% still shows a conversation. The section takes the cap as
a parameter.

Suite: 1506 tests / 156 suites pass (+3); swiftlint 0 errors, format clean.

Signed-off-by: scgopi <scgopireddy@gmail.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019A6NULwEiBXEdRXwEKKcRH
@scgopi
scgopi merged commit 22394a4 into main Sep 1, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant