aboutsummaryrefslogtreecommitdiffstats
path: root/sb_builder/dashboard.py
AgeCommit message (Collapse)AuthorFilesLines
24 hoursDashboard: freshness dot on the slackpkg tileDanilo M.1-1/+11
Green when the last upgrade is within a day, yellow after one day, red after two; the age text beside it carries the meaning too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
24 hoursDashboard: VM meters and sparklines, slackpkg tileDanilo M.1-10/+136
sbb-remote 0.3.0 adds CPU busy % (two /proc/stat samples), RAM total and available, disk / total and free, and the last slackpkg update (LASTUPDATE) and package change (/var/log/packages), replacing disk_free. The Dashboard shows a VM card with meters for CPU, RAM and disk / (accent, warning from 80%, critical from 90%, value always printed) and CPU/RAM sparklines from this session's polls, and a slackpkg tile in place of VM load. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
25 hoursAdd Packages tab, hint view, Run it and signing key unlockDanilo M.1-1/+13
Packages tab over the helper inventory: query bar with cat:/maint:/ req:/status: prefixes, overlay and status chips, check column, and a detail pane with versions, dependencies after hints and a structured read-only view of the hint (hints.py mirrors slackrepo's parser). Actions start slackrepo previews; the Jobs tab offers Run it with a publish box (default from [builds] publish), asking for the signing key passphrase first when the key is locked. Status bar shows the key state; Dashboard tiles open their tabs; inventory reloads after slackrepo and publish jobs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
26 hoursDashboard: visible neutral swatch, note tiles as future entry pointsDanilo M.1-1/+1
The neutral result color came from QPalette.Mid, which in a dark theme can equal the card background and hid the "removed" swatch; use the muted text color instead. Record in the spec that the dashboard tiles should open their screens once those exist. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
26 hoursRedesign the Dashboard as cards with stat tilesDanilo M.1-37/+178
The tiles were plain group boxes of key: value text and read as text scattered on a page. Now a KPI row (packages, built, last pull, VM load) with large values and muted details, a slackrepo results stacked bar in the reserved status colors with hover counts and a labelled legend, and a recent jobs card. Colors come from the Qt palette, so the user's theme applies. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
26 hoursAdd the PyQt6 GUI: Dashboard, Jobs, VM control, notificationsDanilo M.1-0/+81
All VM access goes through remote.py (ssh with a shared ControlMaster, local virsh). The main window polls jobs, backs off while ssh is down, checks the libvirt domain and offers Start or Resume, and sends freedesktop notifications when a job ends or the VM comes up. The Jobs tab streams a job's log with job-follow and resumes at the last offset after a drop. Config is TOML, validated against built-in defaults. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>