From b1b9cdda723d9c2ad6313ec7f697af478bb2ad01 Mon Sep 17 00:00:00 2001 From: cproudlock Date: Fri, 28 Aug 2026 23:16:24 -0400 Subject: [PATCH] Add bulk actions to the Fleet list, with a confirmation that names machines Select endpoints, then Collect now or Restart across the selection. Restart is gated on endpoints.restart, both are re-checked server-side. The confirmation names the MACHINES, not just the hostnames: Restart 2 computer(s)? GJX9B2Z3ESF, HOST-7 This STOPS the machines these PCs serve: DT Office A dialog listing eight hostnames tells an operator nothing about what they are about to halt, and that is the whole consequence of the action on a shop floor. Where no machine is recorded it says so, because 'none listed' and 'we did not check' are different things at 6am. Only possible now the Machine column exists. A 409 is reported as a SKIP, not a failure. The queue permits one command in flight per endpoint, so a bulk action across eight PCs where two are already busy says '6 queued' and '2 skipped - a command is already in flight'. Folding those into an error count would make a working button look broken. Selections clear on every reload: the rows they referred to may not be on the new page, and acting on an invisible selection is how bulk tools surprise people. No per-row buttons. They were built first, and a tenth column on a nowrap table pushed itself off the edge - selecting one row costs a single click and leaves one command path instead of two. Full suite 2124 passed, vitest 260 passed, naming gate green. --- .../frontend/views/EndpointsList.vue | 124 +++++++++++++++++- 1 file changed, 122 insertions(+), 2 deletions(-) diff --git a/plugins/endpoints/frontend/views/EndpointsList.vue b/plugins/endpoints/frontend/views/EndpointsList.vue index fc7088b9..66a210a0 100644 --- a/plugins/endpoints/frontend/views/EndpointsList.vue +++ b/plugins/endpoints/frontend/views/EndpointsList.vue @@ -61,6 +61,16 @@ + +
+ {{ selected.length }} selected + + + +
+
Loading...
@@ -73,6 +83,9 @@ + @@ -91,6 +104,9 @@ :class="{ disabled: !item.computerid }" @click="openPc(item)" > + @@ -112,7 +128,7 @@ - @@ -134,9 +150,12 @@
+ + Status Hostname Machine + + {{ statusLabel(item.status) }} {{ formatRelative(item.lastreportedat) }}
+ No endpoints found