[pdm-devel] [PATCH datacenter-manager v2 11/13] ui: add remote update view
Thomas Lamprecht
t.lamprecht at proxmox.com
Tue Oct 21 21:18:27 CEST 2025
Nice work overall, some things that I noticed inline.
Am 17.10.25 um 14:10 schrieb Lukas Wagner:
> +fn render_remote_summary_counter(count: u32, task_class: RemoteSummaryIcon) -> Html {
> + let (icon_class, icon_scheme, state_text) = match task_class {
> + RemoteSummaryIcon::UpToDate => (
> + "check",
> + FontColor::Success,
> + tr!("One node is up-to-date." | "{n} nodes are up-to-date." % count),
> + ),
> + RemoteSummaryIcon::Error => (
> + "times-circle",
> + FontColor::Error,
> + tr!("Failed to retrieve update info for one node."
> + | "Failed to retrieve update info for {n} nodes." % count),
> + ),
> + RemoteSummaryIcon::Updatable => (
> + "refresh",
> + FontColor::Primary,
> + tr!("One node has updates available." | "{n} nodes have updates available." % count),
> + ),
> + };
> +
> + let icon = Fa::new(icon_class).margin_end(3).class(icon_scheme);
> +
> + Tooltip::new(
> + Container::from_tag("span")
> + .with_child(icon)
> + .with_child(count)
> + .margin_end(5),
> + )
> + .tip(state_text)
I found the standalone numbers a bit confusing, i.e. interpreted them as "X updates
available" at first. As we got the horizontal space, what about moving the state_text
out of a tooltip and make it the always visible text?
btw. could be nice to show single-node remotes (PBS, single-node PVEs and potentially
PMG in the future) directly at the top level, i.e. without a nesting level indirection.
That would save a bit vertical space and avoid clicks.
Some other things that might not belong to this reply but I noticed:
- do we have the last apt update time available? could be nice to show that as column,
e.g. colored as warning if it's older than a day or so (but can be added anytime so
definitively not a blocker now).
- Might be nicer to add the horizontal scrolling to the inner views, as with 1440x900
there are already columns cut-off in the Update List view on the right, and that
resolution is definitively one that should still be usable (but doesn't have to look
great).
- Repo state would be really good to see here, as else one might get a false sense
of security/safety if all is green checkmarks, but that then being the result of
bad/no repos configured over the system being actually fully up-to-date.
Besides the unlabeled number these can all be follow ups (if at all), so I'm fine with
applying this as is, but you might have a better gut feeling if it's fine to do follow-ups
over a v3, so just tell me what you prefer.
> + .into()
> +}
...
> + fn render_update_list_panel(&self, ctx: &LoadableComponentContext<Self>) -> Panel {
> + let title: Html = Row::new()
> + .gap(2)
> + .class(AlignItems::Baseline)
> + .with_child(Fa::new("list"))
> + .with_child(tr!("Update List"))
> + .into();
Might be nice to see the selected nodename in the title, especially with many remotes/nodes
and the right list having been scrolled so that the selected one is out of view.
More information about the pdm-devel
mailing list