surface rate_limited status as red badge on per-agent page and dashboard
- add rate_limited: Arc<AtomicBool> to Bus; set/cleared by emit_status - write/remove sentinel file hyperhive-rate-limited in state dir so host-side dashboard can detect it without a live socket call - api_state returns status=rate_limited when flag is set (cold-load accurate) - ALIVE_LABELS gains rate_limited entry (⊘ red chip) on per-agent page - ContainerView gains rate_limited: bool read from sentinel file - dashboard container row shows ⊘ rate limited badge (red) ahead of needs_login Closes #24
This commit is contained in:
parent
808b9cbe1a
commit
804875d670
7 changed files with 69 additions and 10 deletions
|
|
@ -531,6 +531,10 @@
|
|||
if (pending) {
|
||||
head.append(el('span', { class: 'pending-state' },
|
||||
el('span', { class: 'spinner' }, '◐'), ' ', pending + '…'));
|
||||
} else if (c.rate_limited) {
|
||||
head.append(el('span',
|
||||
{ class: 'badge badge-rate-limited', title: 'API rate-limited — harness is parked, will retry automatically' },
|
||||
'⊘ rate limited'));
|
||||
} else if (c.needs_login) {
|
||||
head.append(el('a',
|
||||
{ class: 'badge badge-warn', href: url, target: '_blank', rel: 'noopener' },
|
||||
|
|
|
|||
|
|
@ -115,6 +115,10 @@ a:hover {
|
|||
color: var(--amber); border-color: var(--amber);
|
||||
text-shadow: 0 0 6px rgba(250, 179, 135, 0.5);
|
||||
}
|
||||
.badge-rate-limited {
|
||||
color: var(--red); border-color: var(--red);
|
||||
text-shadow: 0 0 6px rgba(243, 139, 168, 0.5);
|
||||
}
|
||||
.badge-muted {
|
||||
color: var(--muted); border-color: var(--purple-dim);
|
||||
background: rgba(127, 132, 156, 0.08);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue