Skip to content

feat(observers): lead with activity and readable health metrics - #80

Open
n30nex wants to merge 3 commits into
MeshCore-Beacon:devfrom
n30nex:codex/beacon-observer-dashboard
Open

n30nex wants to merge 3 commits into
MeshCore-Beacon:devfrom
n30nex:codex/beacon-observer-dashboard

Conversation

@n30nex

@n30nex n30nex commented Sep 27, 2026 •

Copy link
Copy Markdown
Contributor

The observer dashboard puts six readable metrics and packet activity/type/signal charts first. Device telemetry and expandable hardware/radio/broker details follow. A searchable observer chooser replaces the always-visible leaderboard; phone layouts use two-column metrics and stacked charts. New text/chart labels are English/French.

Closes #77; related #12 remains open for other screens. Depends on #79 at 4f3819b805ff8293939d1e6fb3918f05cafaadd5. Focused diff. Server #169 supplies complete-window packet summaries; older servers show an explicit unavailable state instead of using the legacy counter as packet volume. Query transitions never borrow another observer's telemetry, and shared clock snapshots support freshness badges.

Original feature validation on b3a6b08: Windows and native Pi build/lint/all 882 tests pass, including metric sources, missing summaries, French, Back, status/arrival distinction and timestamps. Exact-head build CI passes; upstream CodeQL is skipped and the existing virtualizer compiler warning remains. The combined preview passes desktop/phone/keyboard/locale checks with source and rollback recorded. Child #81 adds the aligned comparison and handles the legacy server's encoded status metadata for current noise-floor readings.

AI-assisted implementation under n30nex's approved plan and standing authorization; no specific human review of this new diff is claimed.

Current integration (28 September): the queue is refreshed onto accepted web dev 17f48fb9. Parent 4f3819b805ff8293939d1e6fb3918f05cafaadd5, published head 04ca3da919d9b0430f364a1a93bf36cf56e9770a. Focused diff. Build/lint/tests pass for this refreshed tree and actual-head build CI passes (repository CodeQL skipped). The full web composition 6b688495 is now deployed on Pi server 2ed2e031, retaining every candidate. Its native build/lint and all 935 tests pass; all 18 public assets and both source archives match. Web assets are byte-identical to the previously geometry-tested build; fresh English desktop/French phone and Public-message packet inspection pass. Current evidence and recovery. Earlier feature-specific validation above is historical. No feature behavior changed in this base refresh.

@n30nex

n30nex commented Sep 27, 2026

Copy link
Copy Markdown
Contributor Author

@MrAlders0n, this observer-release slice is ready for your/Claude's review at b3a6b088. Web order is #75 → #79 → #80 → #81. This exact presentation candidate passes 882 native tests. Please review the six cards/activity-first layout in both languages; #81 adds comparison and the legacy encoded-status reader correction.

The combined Pi preview is live at https://canadaverse.org/beacon-dev/?tab=Observers with server 88c2c10c / web 42ae09b7, preserving #166/#167/#75. Desktop, 390-pixel phone, English/French, keyboard and navigation checks pass; the changelog and exact source are at https://canadaverse.org/beacon-dev/source.html. Build CI passes (web CodeQL remains skipped). No merges or production switch were performed.

Docs #5 carries the observer-first plan and subsequent connected-investigation work. The proposed public per-IATA MeshMapper scope catalogue is drafted separately, with manual scopes retained; its endpoint/schema is not yet published. The captured historical 1,810 counter difference remains unexplained, not a measured packet-loss claim.

@n30nex
n30nex force-pushed the codex/beacon-observer-dashboard branch from b3a6b08 to 04ca3da Compare September 28, 2026 22:38
@MrAlders0n

Copy link
Copy Markdown
Member

Looks good and matches server #169. Please fix:

  • ObserverTab.tsx has several comments that no longer match the code:
    • keepPreviousData (removed).
    • A 404 "hides the heard group" (it now shows the unavailable card).
    • The "honest header number" (there's no header figure now).
    • The isPlaceholderData checks, which can't be true any more; please drop those too.

Minor:

  • ObserverTab.tsx:362: heardData is set to undefined on activity.isError, so one failed poll blanks all the cards even with good cached data. Please keep showing the cached data.
  • ObserverSummary.tsx:98: averaged noise shows unrounded (-112.333333 dBm).
  • The indentation is mixed, and the tests at ObserverTab.test.tsx:735-754 are one-liners with a stray top-level it.

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.

Present observer activity and device health in one readable dashboard

2 participants