Skip to content

Build a persistent field dashboard with node check-ins and reports - #1

Merged
CptNope merged 1 commit into
mainfrom
codex/field-dashboard
Oct 23, 2026
Merged

CptNope merged 1 commit into
mainfrom
codex/field-dashboard

Conversation

@CptNope

@CptNope CptNope commented Oct 23, 2026

Copy link
Copy Markdown
Owner

The dashboard currently consists of two bare pages with hardcoded healthy telemetry. This adds a responsive local workspace that persists node check-ins and field reports in SQLite, shows missing measurements as unknown, and flags stale or offline nodes from their last check-in.

Changes

  • Add field reports with priorities, filtering, resolution, browser draft recovery, and request IDs that prevent duplicate reports during retries.
  • Protect updates with an operator token, validate payloads, and show server-disconnection warnings while preserving the last received data.
  • Add a separate, explicitly labeled demo database and serve all dashboard assets locally through Waitress.
  • Document setup, API payloads, deployment boundaries, and the project's actual implementation status; add GitHub Actions checks.

Validation

  • 10 backend tests passed, covering persistence, access control, validation, freshness boundaries, report retries, and demo isolation.
  • Browser checks passed for operator access, draft recovery after reload, report submission/resolution/filtering, literal rendering of HTML in report text, node check-ins, disconnect/reconnect, and mobile layout.
  • JavaScript syntax and Git whitespace checks passed.

Scope and deployment

LoRa/APRS adapters, physical sensors, AI/RAG, and an installable offline PWA remain future integrations. Reads are open to clients that can reach the server; updates use a shared operator token. The default bind address is localhost, with HTTPS and additional authentication recommended for untrusted networks. No local database, access token, or virtual environment is included.

@CptNope
CptNope merged commit f1461ff into main Oct 23, 2026
2 checks passed
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.

1 participant