Files
pulse/docs/release-control
rcourtman ae0158ba60 Show the last backup in Proxmox coverage; keep tables whole on phones
Rebuilds #2435 as one commit on current main. Its branch conflicted with
the Tailwind 4 move (#2443) in a host-table test; the three original
commits' reasons follow.

Name the last backup in Proxmox coverage, not the newest snapshot:
The Coverage table's Restore column showed the newest of every artifact,
including guest snapshots. A VM with a snapshot from last night and a
PBS backup from three weeks ago read "Restore 18h ago" in the healthy
green beside a "Needs attention" posture, and the only way to see why
was the row's hover text. Guest snapshots share the guest's storage;
the posture engine already refuses to count them ("snapshots alone do
not prove independent recovery"), so the row contradicted the server.

The column is now Last backup: the newest completed PBS snapshot or PVE
backup file. Snapshot-only rows show None and carry the engine's own
reason on hover, the guest snapshot keeps its dedicated column, and the
sort and the backup-location filter follow the same rule. The location
filter also stops treating running or failed artifacts as a latest
pointer, which the unfiltered model already did.

Keep Proxmox backup and node tables whole on phones:
On a 390px phone the Proxmox tables clipped the values users came for.
The nodes table showed six "Anal…" rows for the Analytics A–F cluster:
a sixth column (temperature) left the node name four characters wide
with the toggle and status dot in front of it. The backup server row
showed "H…" for Healthy, and the coverage and By date rows clipped
"18h ago" to "18 …" and "Running" to "Runni…".

Nodes now carry the same five columns as the guest table beneath them
with a wider identity cell; temperature returns from 440px, where it
fits. Backup ages use a suffix-free compact form ("18h") with the full
timestamp on hover. The server row keeps its status word and used
percentage whole and lets the backup count return at the next width,
and its stale header width classes no longer fight the colgroup. The
By date row keeps its source and state badges whole while the
repository moves to the row's hover title. Just above the phone
projection the servers' used/total pair and the coverage posture word
now fit, and at desktop width "Automation Lab Standalone" no longer
truncates in the nodes table.

Measured with a scrollWidth-over-clientWidth sweep of every table cell
at 1440px, 560px and 390px; only identity strings still clip, each with
its full text on hover.

Name the archive format in By date and widen phone guest names:
The By date table's Details cell showed a PVE backup's full volid,
"backup-vault:backup/vzdump-qemu-1002-2026_10_02-20_10_14.vma.zst",
which repeats the storage, guest type, VMID, and timestamp the row
already shows in their own columns and clipped in every one of its
rows on a 1440px screen. The one fact it adds is the archive format,
so the cell now reads "vma.zst" or "tar.zst", the volid stays on
hover and in search, and a provider with no format falls back to the
file name. The coverage disclosure's evidence table follows suit.

The shared guest table's phone name cell carries the expansion
toggle, status dot, and backup badge before the name, so the shared
30% identity anchor left a 390px phone 66px for the name and clipped
"artifact-cache-310" to "artifact-ca…". It now takes the same 38%
anchor the Proxmox host table uses, which gives the name 95px while
the four metric chips beside it still fit.

Measured with a scrollWidth-over-clientWidth sweep at 1440px, 560px
and 390px: the By date table has no clipped cell at desktop width, and
on phones only long identity strings still clip.

Contract-Neutral: Proxmox coverage, phone and mid-width column projections, By date Details and guest-table phone identity width are presentation only; owning unified-resources and storage-recovery notes updated; no workloads hot-path or frontend-primitives change
2026-10-03 21:25:59 +01:00
..