Repository navigation
Conversation
Atlas cards now use the Signal tab StatCard tiles, shared Card, badges, action buttons, IATA chips and search bar. Polling moves to TanStack Query with the app retry policy, pauses while rate-limited, and recovers a pin whose server ID changed by its full public key. Search results show a key prefix and explain short or non-hex input; heard-by states which packet it counts. Sparkline component removed in favour of the stats one.
…to codex/dev1-topology-web-20261013
…into codex/sync-dev1-web-20261015
n30nex
left a comment
There was a problem hiding this comment.
This is the primary basic Atlas/Topology review lane, paired with #183 for dev1. It includes the existing observer/card, exact-cursor and trace-quality work; merging every older Atlas/Topology PR independently would duplicate overlapping candidates.
The performance follow-up now bounds camera redraws, skips unchanged idle paints, releases inactive canvas resources while retaining the camera, indexes chatter observers and deduplicates animation of the same packet/path heard by several observers. It preserves raw report counts, distinct paths, particle effects and Public-message provenance. The extra Path2D cache experiment was removed because its timing benefit was inconsistent.
Please keep hardware/browser performance and backend loading as separate acceptance checks. A fixed frame budget is not a 30-FPS guarantee, and CPU raster fixtures do not qualify a MacBook or phone GPU. The currently overloaded Pi also prevents a reliable cold-query speedup claim.
The test-only c2c3ecb change drains TanStack's delayed scroll callback before jsdom teardown; it addresses the same unhandled-error failure seen in #186 without suppressing errors or changing production behavior. The development dependency advisory track still needs its own updated lockfile and complete checks.
Keep collected telemetry in #184/#185 and Flutter #11. Use the project roadmap in MeshCore-Beacon/beacon-docs#43/#45 for the staged release and disposition of older drafts; this review does not approve live deployment.
Combine current dev with the existing basic Atlas/observer cards and Topology work from #179. Optional collected telemetry and Flutter intake support remain in a separate dependent draft stack.
Topology retains dense graph layers, live moving packet cores/glow, Public-message bubbles, camera continuity, exact cursors and TRACE quality. It now reuses projected active-segment geometry between frames, invalidates it on camera changes, and retains only currently animated segments. Missing RF measurements stay absent rather than becoming synthetic zeros. The core app stays on the Web 2.1 compatibility line.
Validation: current native CI, build/lint and targeted renderer/lifecycle tests pass. The renderer regression proves geometry reuse while packet animation continues. The test-only virtualizer teardown fix drains pending scroll timers before jsdom disappears instead of suppressing unhandled failures. These checks do not claim a universal FPS improvement.
This must be paired with the consolidated backend's Topology/evidence contracts. Core Atlas works without the optional telemetry gateway. The draft includes current upstream cursor, retry/error and MeshMapper label changes.
Refs #181. Consolidates #179 and its existing Atlas/Topology ancestry. No production deployment or review request is made by opening this draft.
The follow-up enforces the frame budget during camera interaction, avoids unchanged idle paints, releases inactive canvas buffers while restoring the camera, indexes observer lookup for chatter, and coalesces animation of identical packet/path hearings. Raw reports, trails, distinct paths, glows and Public chatter remain.
Current qualification and promotion gates - 23 October
The full project roadmap, issue/PR disposition and staged promotion plan are in docs #43, tracked by docs #45. Core server #266/#267 and web #182/#183 are one paired candidate; optional server #268/#269, web #184/#185, docs #44 and Flutter #11 remain a separate rollout.
Current application heads pass native CI. Canadaverse now runs server
054e08de7d7fd581e55544e0326ca92596b9a990and web8dcb7f2f233c8ac4086c1ebe02f81d348630321b(2.5.1-n30nex.1), including preview extras. Its complete native frontend suite passed 1,560 tests in 172 files. Public verification matched all 34 assets and both source archives, with both MQTT brokers connected, six retained telemetry histories, and invalid-signature/unenrolled submission rejection. Preview artifacts are local builds of exact clean native-CI-qualified source; this is not a stable release.On a restored snapshot, the committed global Topology query median improved from 1.3691 s to 0.9836 s (28.2%), with the same 9,975 edges. All six unique-traffic raster cases retained identical pixels. These are query/CPU-raster checks, not browser/GPU FPS or production throughput measurements. The later public 24h sample returned the same 9,346 links in 5.619 s cold and 0.191 s warm; earlier severe shared-host I/O pressure caused timeouts. Cold-load capacity, target-browser/device checks and production-shaped migration/recovery soak remain acceptance gates.
Production/dev/dev1 were inspected read-only. Dev1 services are stopped. This preview update changed no schema, retention, intake/worker, credentials or radio ownership. Prior restored-database qualification is recorded separately; no fresh browser or physical mobile/background qualification is claimed here. Dependency advisories and the separate Vite #186 candidate still need their own resolution and qualification. No org merge or release approval is implied.