Files
flvx/plans/061-node-os-logo.md
sagit 8ebde9dca9 feat: node OS logo and UI fixes (#367)
* chore: update AGENTS.md with next release info

* feat: node OS logo, UI rate fix, and monitor trend updates
2026-03-22 05:03:04 +00:00

1.1 KiB

Plan 061: Node Logo By OS Type (Linux Distro)

Objective

Display different logos for nodes in the 'Monitor - Node - Card/List View' based on their Linux distribution (Ubuntu, Debian, CentOS, Alpine, etc.).

Tasks

  • Agent: Use gopsutil/v3/host.Info().Platform to detect the Linux distro and include it in the version string (distro.go).
  • Agent: Update main.go to call socket.DetectDistro() instead of runtime.GOOS.
  • Agent: Ensure version parameter is URL-escaped since it now includes distro info with special chars.
  • Backend: Select version column in ListMonitorNodes.
  • Backend: Include version in monitorNodeListItem JSON response.
  • Frontend: Add version to TypeScript interfaces (MonitorNodeApiItem, MonitorNode, MonitorViewProps).
  • Frontend: Create distro-icon.tsx component with SVG logos for Ubuntu, Debian, CentOS/Rocky/Alma, Alpine, Fedora, Arch/Manjaro, and a default Linux (Tux) fallback.
  • Frontend: Use DistroIcon in ServerCard (card view) and list view name column with branded colors per distro.
  • All three projects compile cleanly (go build, tsc --noEmit).