Watch
0
0
Fork
You've already forked hyperhive
0

swarm-ui: hives are a folded card on the agents page, and hide developer details also hides the components tab

The hives nav tab and route go, with no redirect; the roster is a card above
the agents panel that starts folded and is read on the first open. The
settings toggle is renamed from hide debug output to hide developer details,
as it now also drops the components tab (the page still answers at
/components); the stored preference keeps its key.
This commit is contained in:
iris 2026-10-26 16:39:39 +01:00 • committed by mara
commit 70917b7dd0
2 changed files with 110 additions and 49 deletions

View file

@ -1,4 +1,4 @@
// Settings-menu row: "hide debug output". Rendered as a `<SettingsMenu>`
// Settings-menu row: "hide developer details". Rendered as a `<SettingsMenu>`
// child (`./SettingsMenu.js`) by each page that has a terminal, the
// per-agent page and the swarm UI, rather than as a prop on the menu: the
// caller owns its row. Both read the same preference (`../prefs.js`), which
@ -11,7 +11,7 @@ export function HideDebugSetting() {
const [hideDebug, setHideDebugState] = useState(() => getHideDebugPref());
return (
<label class="settings-menu-row">
<span>hide debug output</span>
<span>hide developer details</span>
<input
type="checkbox"
checked={hideDebug}

View file

@ -58,7 +58,7 @@ function DiffBody({ text }: { text: string }) {
);
}
// A `debug` row, which follows the "hide debug output" preference as it
// A `debug` row, which follows the "hide developer details" preference as it
// changes. Only debug rows subscribe, so a long terminal does not hold a
// listener per row.
function DebugRow({ row }: { row: TermRow }) {
@ -67,7 +67,7 @@ function DebugRow({ row }: { row: TermRow }) {
() => subscribeHideDebugPref(() => setHidden(getHideDebugPref())),
[],
);
// "hide debug output" is a skip, not a dimmer — a hidden debug row
// "hide developer details" is a skip, not a dimmer — a hidden debug row
// still occupies no DOM node at all, same as it never streamed, rather
// than a CSS `display: none` that would keep it in the layout/DOM for
// no benefit.