Skip to content

Signal and memory history in the details page - #99

Merged
XNinety9 merged 1 commit into
devfrom
feat/history
Oct 1, 2026
Merged

XNinety9 merged 1 commit into
devfrom
feat/history

Conversation

@XNinety9

@XNinety9 XNinety9 commented Oct 1, 2026

Copy link
Copy Markdown
Owner

Fixes #98

  • Server (history.py): device_samples (migration 0021): one sample per device every 5 min from check-ins (signal, free heap), plus one at once on a restart carrying its reset reason. Pruned after 7 days, at most hourly. GET /api/devices/{id}/history?hours=24|168 → samples and restarts. Samples go with the device.
  • Dashboard: a History card in the details page, 24 h / 7 days toggle. Two charts (signal in dBm, free memory in KB) — one measure per chart, no dual axis. 2 px line, recessive grid, restarts as dashed lines (red with ⚠ after a crash) with a legend, the line broken where the device was away, half-hour means over a week, crosshair + tooltip on hover, an aria summary per chart. Light and dark.

Checked with a simulated week (night signal dips, a slow leak, a restart and a crash, an outage) in light and dark, 24 h and 7 days, hover, no console errors.

🤖 Generated with Claude Code

Otter keeps a sample of each device's signal and free memory every 5
minutes for 7 days, from its check-ins; a restart adds one at once with
its reset reason. The details page charts them over 24 hours or 7 days
(half-hour means over a week), one chart per measure, restarts marked
(red after a crash), the line broken while the device was away, and the
nearest sample shown on hover.

Fixes #98
@XNinety9
XNinety9 merged commit b2c90b5 into dev Oct 1, 2026
12 checks passed
@XNinety9
XNinety9 deleted the feat/history branch October 1, 2026 18:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Signal and memory history in the details page

1 participant