Commit Graph
135 Commits
Author SHA1 Message Date
n30nex 9d08d98956 Merge upstream observer directory into dev1 preview 2.2.2 2026-10-07 05:47:43 -04:00
MrAlders0n a01ddcf4fb fix(observers): rank available traffic over rolling seven days 2026-10-05 08:40:59 -04:00
MrAlders0n 97fff7aa71 Add server-sorted observer directory pagination 2026-10-05 06:31:31 -04:00
n30nex 139d3ce508 feat: stage current preview on dev for dev1 evaluation
Port the qualified web preview at c41e6fa8940fba929704bc2f9a94f119fef4a4ca onto
org dev b4d498e697. Preserve upstream changes and
branch policies; keep the independent private Collector service separate.

Preview-Version: 2.2.1-n30nex.1
Preview-Revision: c41e6fa8940fba929704bc2f9a94f119fef4a4ca
2026-10-04 16:31:50 -04:00
MrAlders0n dc757cfb51 Fix channels page shifting and dropped bottom-nav taps on mobile (#146) 2026-10-03 14:21:06 -04:00
MrAlders0n 0924260dc5 Show activity before the first rollup as a gap (#138) 2026-10-02 19:22:20 -04:00
MrAlders0n acf46342a1 Fix issues from the 2.0.0 release review (#137) 2026-10-02 19:04:46 -04:00
MrAlders0n 4b9e48a35a Hourly observer and node sparklines on scope cards (#136) 2026-10-02 15:46:03 -04:00
MrAlders0n d951a7e362 Sparklines for most path entries and scope activity (#135) 2026-10-02 14:00:39 -04:00
MrAlders0n f6caab663c Add hourly sparklines to analytics stat cards (#134) 2026-10-02 13:37:26 -04:00
MrAlders0n 30a8f94dbd Wait for the selected region before loading lists (#133) 2026-10-02 12:13:41 -04:00
MrAlders0n 39e921c277 Serve analytics from hourly rollups and handle empty regions (#132) 2026-10-02 08:03:00 -04:00
MrAlders0n f9ffb564c7 Drop analytics refresh buttons and repeated titles (#131) 2026-10-01 18:58:26 -04:00
MrAlders0n 609dbc384f Translate the remaining hardcoded UI text (#129) 2026-10-01 17:55:54 -04:00
MrAlders0n e3f98efea9 Open the observer dashboard from Inspect observer (#128) 2026-10-01 16:57:04 -04:00
MrAlders0n e491a822c9 Plain wording across panels and fix retention-bound views (#127) 2026-10-01 16:36:11 -04:00
MrAlders0n bd32c0019f Fold route evidence into Route Detail with a recent packets list (#126) 2026-10-01 15:41:59 -04:00
MrAlders0n a252b953fe List keyed channels up front and load the rest on demand (#125) 2026-10-01 09:18:42 -04:00
MrAlders0n e6e680192a Open the observer dashboard as a mobile overlay (#121) 2026-10-01 07:50:46 -04:00
MrAlders0n a8a248fd9d Keep the packet drawer and windows open across tabs (#120) 2026-10-01 04:09:00 -04:00
MrAlders0n a2ed9f70aa Match the observation card to the theme (#118) 2026-09-30 23:17:20 -04:00
MrAlders0n 24c4abf6f4 Show the observer list beside the dashboard (#117) 2026-09-30 23:03:50 -04:00
MrAlders0n 487dca948c Collapse the analyzer's observations list by default (#116) 2026-09-30 23:03:19 -04:00
MrAlders0n b1ced5150c Clear map borders when the toggle is turned off (#115) 2026-09-30 22:44:52 -04:00
MrAlders0n 24b995bf12 Move channel scope filter into the header (#114) 2026-09-30 22:34:44 -04:00
MrAlders0n 35d117a636 Region-filtered scope lists (#113) 2026-09-30 22:09:37 -04:00
MrAlders0n 85e4d90cbe Analyzer: one observations list, transport scope breakdown (#112) 2026-09-30 21:18:10 -04:00
MrAlders0n e2d272e08e Drop the Observer section from Analytics (#111) 2026-09-30 16:09:13 -04:00
MrAlders0n fb0994bd05 One observations list in the packet analyzer (#110) 2026-09-30 15:43:44 -04:00
MrAlders0n 61ab6697d9 Labelled observer details and stacked header actions (#109) 2026-09-30 14:42:55 -04:00
MrAlders0n 31d01a8425 Shared observer sidebar and header actions (#108) 2026-09-30 14:36:17 -04:00
MrAlders0n b1f41dea1d Observer header details, channel row cleanup, tab order (#107) 2026-09-30 14:10:18 -04:00
MrAlders0n 63344af365 Polish observer cards and clock drift on phones (#106) 2026-09-30 13:47:10 -04:00
MrAlders0n 8d1f30d553 Bring back the Analytics observer tab and tidy analytics (#104) 2026-09-30 13:24:54 -04:00
MrAlders0n 00d859d9a2 fix(nodes): clear a node's position when nodeUpdate sends null (#103)
The server now nulls a location on an explicit 0/0 advert and the WS nodeUpdate
event mirrors that: omitted lat/lng keeps the current position, null clears it.
patchNodeSummary used ?? so a clear was ignored.
2026-09-30 11:29:35 -04:00
MrAlders0n 3e43cfd009 fix: follow up on last week's merges (#55-#101) (#102)
Bugs: clear compare params on tab change, recover channel live messages after a 429,
observer copy link keeps only region params, route table no longer navigates on region
change with nothing selected, map borders memo on data identity, live overview can't
resurrect a failed query, French relative times, no language write on first visit,
0/0 node locations hidden outside the map, path/signal stats use the shared retry rule.

i18n: node/packet/mesh/observer strings that were still hardcoded after #62.

Cleanup: formatUtc, ACTION_BUTTON_CLASS, observer-stats, useWindowedStats, observer-id;
observer pages use StatCard/Card/Field/Segmented/SearchBar/SelectDropdown; one details
chrome on the stats tabs; comment and translations-guide trims; localStorage stub for
Node 26 in the test setup.
2026-09-30 10:19:32 -04:00
MrAlders0n 39b85a9032 fix: follow up on the #75-#99 stack review (#101) 2026-09-30 08:35:07 -04:00
n30nex d259be512e feat: observer monitoring, retained evidence and channel scopes (#75-#99)
Lands the stacked web PRs #75, #79, #80, #81, #83, #85, #87, #89, #92, #95 and #99 in one squash. Server counterparts #166-#176 are merged. Remaining review items follow in a fix PR.
2026-09-30 08:03:13 -04:00
MrAlders0n 54b5093ac0 fix(packets): fold summaries into the endpoints cell (#73) 2026-09-25 11:37:57 -04:00
n30nex 9cd2e8f6db fix(stats): hide unavailable Mesh overview data (#72) 2026-09-25 11:21:29 -04:00
n30nex dce4e49900 fix(stats): hide unavailable Talkers results (#68) 2026-09-25 11:21:07 -04:00
n30nex 9423059b6f feat(i18n): translate stats analytics, clock drift and timestamps (#70) 2026-09-25 11:20:27 -04:00
n30nex 0f0a6ca51c fix(map): omit reset and invalid node locations (#61) 2026-09-23 20:16:26 -04:00
n30nex 929ba83cf1 feat(stats): add Paths and Hashes analytics (#57) 2026-09-23 20:16:23 -04:00
n30nex 2405e1ac96 feat(stats): add RF and signal analytics (#55) 2026-09-23 20:14:03 -04:00
n30nex e01c090c8e feat(stats): add hourly traffic and region-aware scope analytics (#53)
Adds the Traffic and Scopes analytics tabs. Includes the hourly traffic work from #52, which this PR contains in full.

Closes #50. Closes #51.
2026-09-20 11:41:43 -04:00
n30nex 3178713bdb feat(nodes): display the foreign-repeater indication (#49)
* feat(nodes): display the server foreign-repeater indication

* style(ws): align node update event declaration
2026-09-19 22:58:52 -04:00
n30nex 88e2c0f319 feat(stats): compare flood packets heard by two observers (#48) 2026-09-19 22:58:36 -04:00
n30nex 34bd0948bc feat(packets): display payload summaries in packet rows (#46) 2026-09-18 06:09:59 -04:00
n30nex e43de48f0b feat(packets): surface selections outside loaded results (#41)
A ?hash selection outside the loaded or filtered results now shows an Open analyzer notice with loading, error/retry and dismiss states, using the existing detail query.
2026-09-10 09:30:01 -04:00