Redesign queue pages and fix issue #244#253
Merged
marcpope merged 2 commits intomarcpope:mainfrom May 6, 2026
Merged
Conversation
marcpope
added a commit
that referenced
this pull request
May 7, 2026
- Admin summary API: filter latest backup to terminal statuses only; was reporting in-flight queued/sent/running jobs as last_backup_result and ordering by COALESCE(completed/started/queued) which actively preferred in-flight jobs over the last truly finished one. - Queue page: header counters and metric tiles now refresh from /queue/json alongside the tables. Previously the slot counters, 24h totals, and avg-duration drifted to stale values within 10s of page load while the live tables below them updated. - Schedules: when the latest failure for a plan happened in a prior week, fall back to the most recent past block in the current week so the error state stays visible after the week rolls over. The strict 'scheduled before failure' rule was silently dropping the marker because every current-week block's scheduled_at_utc sat after the failure timestamp.
marcpope
added a commit
that referenced
this pull request
May 7, 2026
#244 black box: drop h-100 on Job Details/Stats cards so each sizes to its own content. The cards were forcing equal height, leaving phantom dark filler at the bottom of whichever side had fewer rows. Also remove the dead inline 'background-color: #2c3e50' on the active progress panel (the .queue-progress-panel gradient was already overriding it with !important) and the now-unused dark-mode .queue-stats-panel rule. #254 summary endpoint: rewrite the latest-job lookup as ROW_NUMBER() over a derived table instead of a per-row correlated subquery; expose plan.enabled, repository_id, and repository_name so consumers can tell disabled plans apart and correlate to a repo without a second call. #251 schedule controller: bound both the median-duration query and the latest-terminal-job query to the last 30 days and limit results via window functions; previously each page load scanned every historical job for every plan ever scheduled. Failed schedule blocks on today's lane now keep a clickable minimum width — they were previously allowed to shrink to a 1-pixel sliver as time elapsed. #253 cosmetics: humanize task_type ('s3 sync' instead of 's3_sync') and escape it in both server-rendered and JS-built rows; restore .bg-opacity-10 utility on metric tile icon backgrounds for consistency with the dashboard; drop the hardcoded .queue-pill 'active' class which was decorative-only and didn't track the in-page section.
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.
Summary
Redesigns the Queue list and Queue detail pages so they visually align with the Schedules page treatment.
Changes
/queue.Recently Completed./queue/{id}with a summary hero, meta pills, gradient section headers, and matching active-progress panel.src/Views/queue/index.phpsrc/Views/queue/detail.phpValidation
php -l src/Views/queue/index.phpphp -l src/Views/queue/detail.phpgit diff --check -- src/Views/queue/index.php src/Views/queue/detail.phpTesting