Map: wall forgets layers and view on every reload — saved views in the URL hash, per-viewer memory, kiosk mode #234

Closed
opened 2026-10-05 02:08:34 -04:00 by logan · 0 comments
Owner

Problem

MapView.tsx:351 — 'Overlays start unchecked'; only Nodes, Active Incidents and Incident Paths are checked (MapView.tsx:1228-1242). Radar, cameras, viewsheds, traffic, aircraft, vessels reset to off on every load. The wall hash (liveWall.ts:158-163) carries only inc/cam/tour — no layers, viewport, basemap or filters. No fullscreen, Screen Wake Lock, reconnect detection or large-type mode exist in drb-frontend. A wall PC that reboots at 03:00 comes back bare.

Who asked

All 8 personas. Highest-demand single item.

Proposal

  • Extend parseWallHash/wallHash with layers, z/lat/lon (or bbox), base, tourMs, and the filter state from the filter-bar issue.
  • Remember each viewer's last layers/viewport in localStorage (wrapped in try/catch; render correctly without it).
  • ?kiosk=1: hide nav, fullscreen button, Screen Wake Lock, reconnect watchdog (snapshot listener error/offline → visible banner + retry), 10-foot type scale (18-24 px rail text).
  • Org-shared named profiles: later, and server-mediated via c2-core, because Firestore rules are not deployed (#13).

Data source and terms

None external.

Effort

S

Acceptance criteria

  • Ticking Radar + Cameras, reloading, and opening the copied URL in another browser both restore the same layers and viewport.
  • Kiosk mode survives a browser restart with no clicks and keeps the screen awake.
  • Works with storage blocked (private window).

Notes

Fold #137 (zoom back on close) into the same view-state work if convenient.


Reviewed against Server origin/main c4e1f9a (2026-10-05), from code only. Source: map persona panel 2026-10-05 (tracking issue lists all items).
Persona key: TOC = county PD real-time crime center supervisor; NOC = Con Ed electric ops NOC; RCC = MTA rail/bus control desk; GSOC = corporate security operations analyst; OEM = county emergency management duty officer; NEWS = TV newsroom assignment editor; FD = volunteer fire chief / county fire dispatcher; HOBBY = scanner power user / local journalist.

## Problem `MapView.tsx:351` — 'Overlays start unchecked'; only Nodes, Active Incidents and Incident Paths are `checked` (`MapView.tsx:1228-1242`). Radar, cameras, viewsheds, traffic, aircraft, vessels reset to off on every load. The wall hash (`liveWall.ts:158-163`) carries only `inc/cam/tour` — no layers, viewport, basemap or filters. No fullscreen, Screen Wake Lock, reconnect detection or large-type mode exist in `drb-frontend`. A wall PC that reboots at 03:00 comes back bare. ## Who asked All 8 personas. Highest-demand single item. ## Proposal - Extend `parseWallHash`/`wallHash` with `layers`, `z/lat/lon` (or bbox), `base`, `tourMs`, and the filter state from the filter-bar issue. - Remember each viewer's last layers/viewport in localStorage (wrapped in try/catch; render correctly without it). - `?kiosk=1`: hide nav, fullscreen button, Screen Wake Lock, reconnect watchdog (snapshot listener error/offline → visible banner + retry), 10-foot type scale (18-24 px rail text). - Org-shared named profiles: later, and server-mediated via c2-core, because Firestore rules are not deployed (#13). ## Data source and terms None external. ## Effort S ## Acceptance criteria - Ticking Radar + Cameras, reloading, and opening the copied URL in another browser both restore the same layers and viewport. - Kiosk mode survives a browser restart with no clicks and keeps the screen awake. - Works with storage blocked (private window). ## Notes Fold #137 (zoom back on close) into the same view-state work if convenient. --- Reviewed against Server origin/main c4e1f9a (2026-10-05), from code only. Source: map persona panel 2026-10-05 (tracking issue lists all items). Persona key: TOC = county PD real-time crime center supervisor; NOC = Con Ed electric ops NOC; RCC = MTA rail/bus control desk; GSOC = corporate security operations analyst; OEM = county emergency management duty officer; NEWS = TV newsroom assignment editor; FD = volunteer fire chief / county fire dispatcher; HOBBY = scanner power user / local journalist.
logan added the
type
feature
area/maparea/frontend
priority
p1
labels 2026-10-05 02:08:34 -04:00
logan closed this issue 2026-10-05 03:03:26 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: logan/server-26#234