Repository navigation
Conversation
…to codex/dev1-topology-web-20261013
…into codex/sync-dev1-web-20261015
…171) * Add live map lit-node and label helpers * Add solid lit icons with a built-in ring * Light crossed nodes as solid icons, newest on top * Show idle repeaters and companions as dots in Live Map * Disable the clustering control during Live Map * Turn clustering off while Live Map is on * Keep the live map helpers lint-clean * Let a click on a lit icon win over the dot beneath it * Tidy live map clicks, comments and filtered selection
* Speed up the Nodes table: mount only on-screen rows and sort with a shared collator * Fit the Nodes table beside the detail panel and tidy virtualization Name takes a 22% share and the table's floor drops to 52rem, so 1280 and 1366 px laptops no longer scroll sideways with a node open. Long names get a title. Card dividers follow list position so heights stay put, cards and rows cache sizes apart, getItemKey stays stable, and the table reports its full row count to screen readers. Tests share one layout stub instead of a global offsetHeight shim.
Chrome on macOS lays an emoji out 1em wide but paints Apple's about 1.25em wide at small sizes on standard-density screens, so it overlapped the next letter (☠️Grunt, 🍓Strawberry). Each emoji in a node, observer or sender name, and in channel messages, now sits in its own span that gets 0.3em of extra room below 1.5x density. Retina screens render unchanged.
Map and Nodes fetch a region at the server's 200 cap instead of 50, a quarter of the requests. A 429 now pauses paging until Retry-After and retries the refused page, instead of stopping with "Some nodes failed to load".
* Send pageCursor next to cursor for packets, nodes and observers * Page nodes by the exact cursor when the server sends one * Page packets by the exact cursor when the server sends one * Retry a busy 503 or a 429 after the server's Retry-After * Bump version to 2.1.0 * Recover from an invalid pageCursor; cap 503 waits
…messages or adverts fail to load (#178)
This was referenced Oct 21, 2026
Draft
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is the optional collected-telemetry layer above core #182/#183. It integrates #180 while preserving current upstream virtualization, exact pagination, retry/error behavior, basic Atlas and the enhanced Topology renderer.
Nodes gains an on-demand availability filter keyed by full repeater identities. Node details and Atlas show attributed battery and environmental readings, retaining channel 2 and explicit zeros. Sparklines distinguish measured segments from gap estimates. A capped history is labeled rather than presented as a complete 30-day series; legacy capped responses are handled conservatively. Optional-service failure remains visible and retryable.
Targeted telemetry/filter/coverage tests and build passed. Current native CI and the paired public preview checks pass; fresh browser/device qualification remains pending. The intake remains optional for all core views. No physical mobile polling or overnight background qualification is claimed by web tests.
This dependent branch contains core ancestry until core is accepted. Review optional changes against
codex/release-core-20261021. No production deployment or review request is made by this draft.This target presents the same optional head against
dev1; the core migration/client integration must be qualified first.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.
Review the optional-only delta: codex/release-core-20261021...codex/release-telemetry-20261021 . This PR retains its requested
dev1target.