fix(web): keep machine names visible and health tooltips touchable (#1049)

* fix(web): improve machine health sidebar UX

Keep machine names visible, align health metrics, and make nested health tooltips usable with touch and keyboard input.

via [HAPI](https://hapi.run)

Co-Authored-By: HAPI <noreply@hapi.run>

* fix(web): preserve tooltip focus reveal groups

Keep the unnamed group used by existing focus reveal classes while retaining named hover groups for nested machine health tooltips.

via [HAPI](https://hapi.run)

Co-Authored-By: HAPI <noreply@hapi.run>

* fix(web): add exec* timestamps to ToolCard test fixture

Unblocks typecheck after #1036 made execStartedAt/execCompletedAt
required on ChatToolCall; fixture was missing both fields.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(web): align machine health status with meters

Right-align the capacity status with the utilization meter edge to balance the tooltip header without shortening the bars.

via [HAPI](https://hapi.run)

Co-Authored-By: HAPI <noreply@hapi.run>

* fix(web): restore machine health disclosure semantics

Expose the machine group's expanded state on its toggle and describe the health trigger with the tooltip body for assistive technologies.

via [HAPI](https://hapi.run)

Co-Authored-By: HAPI <noreply@hapi.run>

---------

Co-authored-by: HAPI <noreply@hapi.run>
Co-authored-by: Debian <heavygee@oos-linux.in.lockhouse>
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ananovo
2026-07-19 12:24:09 +08:00
committed by GitHub
co-authored by Cursor HAPI Debian
parent f1b5ed5e5d
commit 77f94ef738
9 changed files with 186 additions and 121 deletions
+3 -4
View File
@@ -269,14 +269,13 @@ export default {
'machine.health.status.elevated': 'Elevated — new agents may run slower',
'machine.health.status.high': 'High pressure — avoid spawning more here',
'machine.health.status.unknown': 'Metrics unavailable',
'machine.health.metric.cpu': 'CPU across all cores',
'machine.health.metric.cpuWithCount': 'CPU across all {n} cores',
'machine.health.metric.ram': 'RAM in use',
'machine.health.metric.cpu': 'CPU',
'machine.health.metric.ram': 'RAM',
'machine.health.tooltip.load': 'Run queue (1 min): {value}',
'machine.health.tooltip.loadShort': 'Load (1m)',
'machine.health.tooltip.uptimeShort': 'Uptime',
'machine.health.uptimeCompact': 'up {value}',
'machine.health.tooltip.hint': 'Updated every ~20s from the runner on this machine.',
'machine.health.tooltip.hint': 'Updated every ~20s from the runner on this machine',
'machine.health.aria.cpu': 'CPU {n} percent',
'machine.health.aria.ram': 'RAM {n} percent',
'machine.health.aria.unknown': 'Machine health unavailable',