From b74e4b967246febdb263e86db7482d759f1b9786 Mon Sep 17 00:00:00 2001 From: Stuart Meeks Date: Mon, 8 Jun 2026 05:04:34 +0000 Subject: [PATCH 1/6] Fix History list overflowing to the right at narrow widths MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A run card's metadata line (CLI · time · duration) was a multi-Run TextBlock with the default NoWrap, sitting in a star (*) grid column. A non-wrapping TextBlock in a star column won't shrink below its single-line width, so at narrow window widths it forced the card past the right edge and clipped — the issue none of the other content templates hit (they have no non-wrapping text in a star column). Wrap the line, and disable horizontal scrolling on the History ScrollViewer as a backstop. Co-Authored-By: Claude Opus 4.8 (1M context) --- CHANGELOG.md | 4 ++++ src/Snipdeck.App/Views/ShellPage.xaml | 9 +++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e6041a5..52ff3b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Fixed +- History view no longer overflows to the right and clips at narrower window widths — + a run's metadata line now wraps instead of forcing the card wider than the viewport. + ## [1.0.0] - 2026-06-08 ### Added diff --git a/src/Snipdeck.App/Views/ShellPage.xaml b/src/Snipdeck.App/Views/ShellPage.xaml index d7f465d..a476986 100644 --- a/src/Snipdeck.App/Views/ShellPage.xaml +++ b/src/Snipdeck.App/Views/ShellPage.xaml @@ -740,7 +740,7 @@ - + @@ -818,8 +818,13 @@ TextWrapping="Wrap" MaxLines="2" TextTrimming="CharacterEllipsis" /> + + Foreground="{ThemeResource TextFillColorSecondaryBrush}" + TextWrapping="Wrap"> From f6bf68c60de4d9cbfe213fc7d2c732e7d251a551 Mon Sep 17 00:00:00 2001 From: Stuart Meeks Date: Mon, 8 Jun 2026 05:17:40 +0000 Subject: [PATCH 2/6] History overflow: also disable horizontal scroll *mode*, not just the scrollbar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The screenshot showed the whole History content centred in a region wider than the window, spilling off the right. Setting only HorizontalScrollBarVisibility=Disabled wasn't enough — the ScrollViewer still measured its content unconstrained. Adding HorizontalScrollMode=Disabled forces measurement at the viewport width so the content fills/centres within the visible area instead of overflowing. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/Snipdeck.App/Views/ShellPage.xaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Snipdeck.App/Views/ShellPage.xaml b/src/Snipdeck.App/Views/ShellPage.xaml index a476986..b867dfd 100644 --- a/src/Snipdeck.App/Views/ShellPage.xaml +++ b/src/Snipdeck.App/Views/ShellPage.xaml @@ -740,7 +740,13 @@ - + + From 75c4a1e82d4273ae6248d1dd322880a00ccc276c Mon Sep 17 00:00:00 2001 From: Stuart Meeks Date: Mon, 8 Jun 2026 05:33:30 +0000 Subject: [PATCH 3/6] Unify the content-page layout; fix the right-drift across all of them MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The drift wasn't History-specific: Settings, Trash, Shared parameters, Tags and History all share the same content container, and HorizontalAlignment="Stretch" + MaxWidth mis-positioned the band (drifting right, worst on History at MaxWidth 860). Give them one shared mechanism: a single left-aligned content band capped at a shared ContentMaxWidth resource (720). HorizontalAlignment="Left" + MaxWidth fills up to the cap, left-aligned, and squashes when narrower — deterministic, no drift. History drops its odd 860 width and its bespoke ScrollViewer props to match the rest. Also: each page's primary action (Save / Add parameter / Clear all) now sits on the heading row (vertically centred to the heading only), with the description beneath. Co-Authored-By: Claude Opus 4.8 (1M context) --- CHANGELOG.md | 7 +- src/Snipdeck.App/Views/ShellPage.xaml | 142 ++++++++++++++------------ 2 files changed, 79 insertions(+), 70 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 52ff3b4..eb9a0b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,8 +8,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ### Fixed -- History view no longer overflows to the right and clips at narrower window widths — - a run's metadata line now wraps instead of forcing the card wider than the viewport. +- The list/content pages (Settings, Trash, Shared parameters, Tags, History) no longer + drift right and clip at narrower window widths. They now share one layout: a single + left-aligned content band of consistent maximum width that fills the available space + and squashes when narrower. Each page's primary action (Save, Add parameter, Clear + all) is aligned to its heading row, with the description beneath. ## [1.0.0] - 2026-06-08 diff --git a/src/Snipdeck.App/Views/ShellPage.xaml b/src/Snipdeck.App/Views/ShellPage.xaml index b867dfd..b2ae757 100644 --- a/src/Snipdeck.App/Views/ShellPage.xaml +++ b/src/Snipdeck.App/Views/ShellPage.xaml @@ -55,6 +55,11 @@ + + 720 + @@ -268,7 +273,7 @@ - + @@ -429,7 +434,7 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Foreground="{ThemeResource TextFillColorSecondaryBrush}" /> + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - + - - - - - - - - - + + + + + + + + + - + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + From c0adede68648f3e9533a535127742b17f4aea8e6 Mon Sep 17 00:00:00 2001 From: Stuart Meeks Date: Mon, 8 Jun 2026 07:55:53 +0000 Subject: [PATCH 6/6] Make content bands fill to a consistent width, not size-to-content MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous fix centred the bands with HorizontalAlignment=Center, but a centred StackPanel sizes to its content (clamped to MaxWidth), so narrow pages (History) shrank below 720 while others sat near it — inconsistent widths. Switch the five content StackPanels back to HorizontalAlignment=Stretch. Inside the Grid's finite slot, Stretch+MaxWidth fills the band to min(viewport, 720) on every page (cards stretch to match) and centres the capped band when the viewport is wider. Co-Authored-By: Claude Opus 4.8 --- src/Snipdeck.App/Views/ShellPage.xaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Snipdeck.App/Views/ShellPage.xaml b/src/Snipdeck.App/Views/ShellPage.xaml index b63be77..32b4544 100644 --- a/src/Snipdeck.App/Views/ShellPage.xaml +++ b/src/Snipdeck.App/Views/ShellPage.xaml @@ -274,7 +274,7 @@ - + @@ -437,7 +437,7 @@ - + - + @@ -617,7 +617,7 @@ - + @@ -760,7 +760,7 @@ - +