Skip to content

feat: machine status center — visual health dashboard with service monitoring #463

@hessius

Description

@hessius

Summary

Build a fully visual Machine Status Center accessible from the Settings menu — a Grafana/Datadog-style dashboard showing real-time machine health, service status, and system metrics. This goes beyond the basic health card originally proposed in #327 to become a comprehensive monitoring tool.

Split from #327 (part 3, expanded scope).

Data Sources

meticulous-watcher (port 3000)

  • GET /status — Health of all monitored services (7 services)
  • System metrics: disk usage, memory, uptime, temperature

Machine API

  • Firmware version, serial number, model info
  • Network status (IP, hostname, signal strength)

Design Vision

A dedicated Status Center view (navigated from Settings → Machine Status) with a dashboard-style layout:

Service Health Grid

  • Card per service with status indicator (green/yellow/red)
  • Service name, uptime, last restart time
  • Tap card for detail view with recent logs/errors

System Metrics Panel

  • Disk usage — gauge/ring chart with used/total
  • Memory usage — gauge/ring chart with used/total
  • CPU/board temperature — live thermometer or sparkline
  • Machine uptime — formatted duration since last boot

Network Status Card

  • Connection type (WiFi/Ethernet)
  • IP address, hostname
  • Signal strength indicator (if WiFi)

Refresh & Auto-Update

  • Auto-refresh every 30s with visual countdown
  • Manual refresh button
  • Last-updated timestamp
  • Connection error state with retry

UX Considerations

  • Dark theme friendly (dashboard aesthetic)
  • Responsive: works on phone, tablet, and desktop
  • Graceful degradation when watcher service is unavailable
  • Available in all modes (server proxy, Capacitor) — fetches via machine API relay

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions