Skip to content

Repair external node links and deeplink the live coverage overlay - #554

Merged
SimmerV merged 3 commits into
MeshAddicts:developfrom
SimmerV:develop
Aug 2, 2026
Merged

Repair external node links and deeplink the live coverage overlay#554
SimmerV merged 3 commits into
MeshAddicts:developfrom
SimmerV:develop

Conversation

@SimmerV

@SimmerV SimmerV commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator

fix(ui): repair dead and stale external node links

All four default "Elsewhere" links on the node panel were broken in some way:

  • Armooo's MeshView removed everywhere (sidebar tools, elsewhere defaults,
    config.toml.sample) — the instance is offline.
  • Bay Mesh Explorer now points at the new instance at meshview.bayme.sh,
    which deeplinks by decimal node id: https://meshview.bayme.sh/node/{node_id_int}.
  • Liam's Map / MeshMap templates were already correct but rendered as
    ?node_id=NaN on the map panel: node ids arriving with a ! prefix broke
    parseInt(id, 16). The panel now uses convertNodeIdFromHexToInt, and
    resolveElsewhereUrl also strips ! from {node_id_hex} substitutions for
    custom-configured templates.

Note for operators: instances that set mesh.tools / mesh.elsewhere_links in
their own config.toml override these defaults and need the same URL updates
(the Discord bot's "View Elsewhere" field reads the same config section).

feat(map): deeplink the live coverage overlay via ?cov=

Toggling the coverage pill now mirrors into the map URL (cov=1|0) so a shared
link reproduces the sharer's overlay state alongside the existing lat/lng/z:

  • The param overrides the viewer's saved preference for that session without
    overwriting it (same principle as the LOS share links).
  • Pristine URLs are never stamped with cov=0 — the param only appears once
    the overlay has been on; an explicit cov=0 is kept so links shared by
    someone with the overlay off still override a viewer whose default is on.
  • cov=true/false accepted on read, normalized to 1/0 on write.
  • Written via history.replaceState like the pan/zoom sync — toggling never
    re-renders the map route. Composes with ?node= and ?tool= links.

Parse/write rules are pure helpers in coverageUrlParam.ts with unit tests.

Testing

  • 211/211 frontend tests pass (8 new for the ?cov= param semantics)
  • tsc and eslint clean
  • Deployed on a live instance: verified the corrected links resolve, the ?cov=
    param round-trips through share links, and it survives pan/zoom URL rewrites

SimmerV added 3 commits August 1, 2026 22:47
- remove Armooo's MeshView from sidebar tools, elsewhere defaults, and
  sample config (instance is offline)
- point Bay Mesh Explorer at the new meshview.bayme.sh instance, which
  deeplinks by decimal node id (/node/{node_id_int})
- fix NaN in map panel elsewhere links: node ids arriving with a "!"
  prefix broke parseInt; use convertNodeIdFromHexToInt and strip the
  prefix from {node_id_hex} substitutions too
- update config.toml.sample examples to match
Toggling the coverage pill now mirrors into the map URL (cov=1|0) so a
shared link reproduces the sharer's overlay state. The param overrides
the viewer's saved preference for the session without overwriting it,
pristine URLs are never stamped with cov=0, and true/false spellings
are accepted on read. Written via history.replaceState like the
lat/lng/z sync so toggling never re-renders the map route.
@SimmerV SimmerV self-assigned this Aug 2, 2026
@SimmerV SimmerV added this to meshinfo Aug 2, 2026
@SimmerV SimmerV added bug Something isn't working enhancement New feature or request labels Aug 2, 2026
@github-project-automation github-project-automation Bot moved this to Backlog in meshinfo Aug 2, 2026
@SimmerV
SimmerV merged commit 9716fa1 into MeshAddicts:develop Aug 2, 2026
2 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in meshinfo Aug 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant