From 4e8486a5dac23eaeb2c5d6d3cf9c9690aaf1ac3c Mon Sep 17 00:00:00 2001 From: Stu Leak Date: Mon, 29 Dec 2025 02:31:57 -0500 Subject: [PATCH] fix(ui): Prevent queue items from jumping during updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Changed text wrapping from TextWrapWord to TextTruncate on desc/status labels - Set fixed minimum height (140px) for job item cards - Prevents height fluctuations when status text changes - Resolves janky jumping behavior in job queue 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- internal/ui/queueview.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/internal/ui/queueview.go b/internal/ui/queueview.go index d750cc2..ee0ea9f 100644 --- a/internal/ui/queueview.go +++ b/internal/ui/queueview.go @@ -317,7 +317,7 @@ func buildJobItem( descLabel := widget.NewLabel(descText) descLabel.TextStyle = fyne.TextStyle{Italic: true} - descLabel.Wrapping = fyne.TextWrapWord + descLabel.Wrapping = fyne.TextTruncate // Progress bar (for running jobs) progress := NewStripedProgress(ModuleColor(job.Type)) @@ -343,7 +343,7 @@ func buildJobItem( statusText := getStatusText(job, queuePositions) statusLabel := widget.NewLabel(statusText) statusLabel.TextStyle = fyne.TextStyle{Monospace: true} - statusLabel.Wrapping = fyne.TextWrapWord + statusLabel.Wrapping = fyne.TextTruncate // Control buttons var buttons []fyne.CanvasObject @@ -409,6 +409,7 @@ func buildJobItem( // Card background card := canvas.NewRectangle(bgColor) card.CornerRadius = 4 + card.SetMinSize(fyne.NewSize(0, 140)) // Fixed minimum height to prevent jumping item := container.NewPadded( container.NewMax(card, content),