feat(admin): overview dashboard sections + system temperature/load sensors (0.85.0) #11

Merged
fabi merged 2 commits from feat/admin-overview-sections into main 2026-06-16 18:46:28 +00:00
Owner

Admin overview dashboard sections + System-tab CPU temperature/load sensors (sysinfo component feature). Reviewed: clean merge into main, all runtime SQL columns verified against migrations, sysinfo 0.32 API correct, new tests deterministic (temps array tolerated empty, no timing assertions). Backend container can read host thermals (/sys/class/thermal), so temps will populate. 0.85.0.

Admin overview dashboard sections + System-tab CPU temperature/load sensors (sysinfo `component` feature). Reviewed: clean merge into main, all runtime SQL columns verified against migrations, sysinfo 0.32 API correct, new tests deterministic (temps array tolerated empty, no timing assertions). Backend container can read host thermals (/sys/class/thermal), so temps will populate. 0.85.0.
fabi added 2 commits 2026-06-16 18:46:25 +00:00
Rework the admin Overview tab into a full-width vertical list of
per-section summary cards (System, Crawler, Analysis, Mangas, Users,
Settings), each linking to its tab. Crawler and Analysis cards update
live over the existing SSE streams; System/Mangas/Users poll; the
Settings strip reflects daemon state. The disk/memory/CPU boxes move
into the System card.

Add a composed GET /admin/overview endpoint returning Users, Mangas and
Analysis aggregates (user counts + newest, manga sync-state counts +
chapter/page totals + newest, library analysis coverage), reusing the
existing MANGA_SYNC_STATE_CASE and the storage handler's try_join fan-out.

Extend the System tab with hardware sensors: CPU load average and
per-core usage (sysinfo), plus temperatures via sysinfo's Components API
(enabled the `component` feature). Sensors degrade to an "unavailable"
state when not exposed (e.g. inside containers without /sys access), and
a temperature at/above its critical threshold raises a warning alert.

Tests: integration tests for /admin/overview and the extended /admin/system
shape; vitest coverage for the new client types and getOverviewStats.
Bump to 0.85.0 (minor) in lockstep.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
refactor(admin): focus System tab temperatures on the CPU die
Some checks failed
deploy / test-frontend (pull_request) Waiting to run
deploy / build-and-push (pull_request) Blocked by required conditions
deploy / deploy (pull_request) Blocked by required conditions
deploy / test-backend (pull_request) Has been cancelled
d64ab038ef
The Temperatures box listed every component sysinfo exposes (per-core,
chipset, NVMe…), dominating the System tab. Surface only the CPU
die/package reading and collapse the rest behind a disclosure.

Add a tested pure helper, pickCpuTemp, that selects the best CPU sensor
(Intel package → AMD Tctl/Tdie → hottest core → any cpu/coretemp → null),
and render it via a shared Temp snippet with the remaining sensors in a
default-closed "N other sensors" details element.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
fabi merged commit cde4aca98b into main 2026-06-16 18:46:28 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: fabi/Mangalord#11