Watch
0
0
Fork
You've already forked hyperhive
0

hive: remove the read-only schedules page and the old schedule store

Scheduled prompts live at swarm level (swarm-controller's
/api/schedules, `swarmctl schedule`, the swarm UI's /schedules page).
The hive dashboard's SCH3DUL3S tab only listed the rows left in
hive-c0re's `scheduled_prompts` table so operators could copy them
over; the operator confirmed everything is migrated.

Removed:
- the SCH3DUL3S tab, its pane, schedules.js, its CSS (including the
  `.rqe-source*` rules, whose only emitter was schedules.js) and the
  hub tile's "schedules" entry
- hive-c0re's GET /api/schedules and the `scheduled_prompts` store
  (with its v1 column migration and test)
- hive-sh4re's `schedule` wire types, which only that route used
- docs describing the tab, the route and the two tables

The rebuild-queue cancel route that shared the module moves to
dashboard/rebuild_queue.rs under an OpenAPI tag of its own.

The two sqlite tables are not dropped: nothing opens them any more,
and persistence.md says they can be dropped by hand.

Closes #4916
This commit is contained in:
atlas 2026-10-12 20:29:33 +02:00 • committed by mara
commit 78412b3d3b
22 changed files with 84 additions and 979 deletions

View file

@ -4,8 +4,8 @@
/* SYST3M panel rules (rebuild queue / meta inputs / container load)
live in system-sections.css, shared with /core.html. A few are still
referenced from dashboard JS (the schedules view uses `.rqe-source*`),
so the dashboard pulls them in here. */
referenced from the dashboard (`.rebuild-queue`), so the dashboard
pulls them in here. */
@import "./system-sections.css";
@import "@hive/shared/jobq-rollup.css";
@ -709,113 +709,6 @@ footer .banner-thin {
cursor: not-allowed;
}
/* ─── scheduled prompts tab ────────────────────────────────────────
Read-only table of the schedules left in the hive's store. */
.schedules-table-wrap {
overflow-x: auto;
margin-top: 0.5em;
}
.schedules-table {
min-width: 100%;
border-collapse: collapse;
font-size: 0.82em;
}
.schedules-table th,
.schedules-table td {
padding: 0.35em 0.6em;
border: 1px solid var(--border);
vertical-align: middle;
}
.schedules-table thead th {
background: var(--bg-elev);
color: var(--muted);
font-weight: normal;
text-transform: uppercase;
letter-spacing: 0.05em;
white-space: nowrap;
}
.schedules-table-id {
width: 3em;
text-align: center;
}
.schedules-table-next-col {
white-space: nowrap;
}
/* every column: sized to typical content (short durations). */
.schedules-table-every-col {
width: 5em;
white-space: nowrap;
}
.schedules-table-body-th {
min-width: 12em;
}
/* Agent-name columns: 90° vertical text (writing-mode) so names are fully
readable without truncation. Previously used a -45° CSS transform which
clipped names mid-glyph. writing-mode + rotate(180deg) is in-flow and
needs no absolute positioning or overflow hacks. */
.schedules-table-agent-th {
width: 28px;
min-width: 28px;
height: 8em;
padding: 4px 2px !important;
vertical-align: bottom;
text-transform: none !important;
letter-spacing: 0 !important;
overflow: hidden;
}
.schedules-table-agent-th > div {
font-family: ui-monospace, "JetBrains Mono", monospace;
font-size: 0.85em;
color: var(--fg);
/* Rotate 90° bottom-to-top (conventional rotated column header). */
writing-mode: vertical-rl;
transform: rotate(180deg);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-height: 7.5em;
}
.schedules-table-agent-th > div > span {
display: inline-block;
padding: 0 2px;
}
/* Column for an agent no longer in the live roster — its past schedules
linger but the agent is gone. Greyed + struck through. */
.schedules-table-agent-th--gone > div {
color: var(--muted);
text-decoration: line-through;
opacity: 0.75;
}
.schedules-table-row-cancelled td {
opacity: 0.55;
}
.schedules-table-row-paused td {
opacity: 0.75;
}
.sched-paused-label {
color: var(--yellow);
font-size: 0.9em;
}
.schedules-table-body-cell {
max-width: 30em;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-family: ui-monospace, "JetBrains Mono", monospace;
font-size: 0.9em;
}
.schedules-table-check {
width: 28px;
text-align: center;
color: var(--green);
padding: 0.3em 0 !important;
}
.schedules-table-check-cancelled {
color: var(--muted);
font-size: 0.9em;
}
/* Selection bar — sticky-bottom strip for bulk actions. */
.selection-bar {
position: fixed;