Skip to content

LocalStorage Schema

Marco edited this page Aug 30, 2026 · 33 revisions

🇮🇱 עברית

Local storage schema

All application-owned browser keys use the navaid.* prefix. This page is a human-readable map; the complete enforceable registry is GDRIVE_SETTINGS_KEYS plus NOT_A_SYNCED_SETTING in tests/settings-sync-allowlist.spec.js, which scans current app source.

Main families

  • navaid.route, navaid.routes, navaid.view, navaid.layer, navaid.lang — working route/library and map state.
  • navaid.show*, opacity/size/color keys, navaid.navDataPrefix, navaid.imsPwx, navaid.sigwxOv, navaid.wxTime, and wind-field keys — active layer/display choices.
  • navaid.fpl.<field>, navaid.aircraft, navaid.profileVS — flight-plan and aircraft profile values. aisEmail is device-local because it controls the filing destination; the user's replyTo may sync.
  • navaid.ai.* — provider/model/key/base URL. Provider and model choices may sync when Sync settings too is enabled. API keys and the base URL stay device-local. A successful settings sync removes any API-key copy left in Drive by an older version — see AI Assistant.
  • navaid.*Pos, navaid.sec.*, collapse/hint/search state — device-local UI geometry and one-time presentation state. Language-specific widgets use families such as navaid.clockPos.<lang>.
  • navaid.settingsSyncedAt, navaid.settingsSnapshot, navaid.settingsSnapKeys, navaid.syncSettings — settings-sync bookkeeping.
  • navaid.gistCache — the last remote config seen on this device, applied at boot so the first frame is already configured (see Tuning Panel). Device-local: it is a copy of a remote file, refetched on every load.
  • navaid.headingUp, navaid.gpsFollow — the in-flight map controls (heading-up orientation, follow lock). Per device, like the rest of the map state.
  • navaid.followMeSession, navaid.followMeCode — the live-share session (topic, key, aircraft code) and the code last typed. Never synced: the session is a capability to watch this aircraft right now, not a preference, and syncing it would put two devices on one topic and hand the key to every device on the account. See Follow me.
  • navaid.notamModalSize — the size the NOTAM sheet was dragged to. Device-local geometry.
  • navaid.selected, navaid.fpOpen, navaid.openChartModal — session-only restoration keys.

Settings-sync protocol

Drive settings use a separate app-data document from saved routes. null is a deletion tombstone; an absent key means no information. Timestamps are monotonic, snapshots use canonical allowlist order, first sync unions non-conflicting values, conflicts require a user decision, and applying a remote snapshot is all-or-nothing. API keys, destination endpoints, working route, route library, caches, and device geometry are excluded.

When adding a key, update code, the allowlist or device-local reason, and this page in the same PR.

NavAid · 🇮🇱 עברית

For pilots

For developers


🇮🇱 עברית

לטייסים

למפתחים


🌐 Live 🧪 Staging 📦 Repo 💡 Ideas / bugs

Clone this wiki locally