-
-
Notifications
You must be signed in to change notification settings - Fork 18
PWA and Offline
DOCSight is a mobile-first Progressive Web App. You can install it from a modern browser and open it like an app from your phone, tablet, or desktop.
Offline support is intentionally conservative. DOCSight is a monitoring tool, so it should never make stale modem or connection data look live. When the network is unavailable, the app can keep the dashboard shell usable, but live readings, API data, modem polls, and health checks still require a connection to the DOCSight server and your modem.
- Install DOCSight from supported browsers as a standalone app.
- Open the installed app at the dashboard start URL.
- Use home-screen or browser shortcut entries for common sections where the platform supports them.
- Keep the core app shell, styles, icons, fonts, and built-in module assets available from the browser cache.
- See a clear offline banner when DOCSight is offline or when a cached shell is being shown.
- Avoid confusing cached pages with fresh monitoring data.
DOCSight ships a web app manifest with:
- App identity:
DOCSight, root scope, and stable app id/. - Standalone display mode for installed-app surfaces.
- Start URL:
/?source=pwa. - 512x512 PNG and SVG icons.
- Narrow and wide dashboard screenshots for install prompts and app stores that use manifest screenshots.
- Shortcuts for the live dashboard, event log, and channels.
Install prompts depend on the browser and operating system. If your browser does not show an install button automatically, use the browser menu and choose Install app, Add to Home Screen, or the closest equivalent.
DOCSight uses a service worker with separate strategies for app shell, static assets, and live data.
The dashboard shell is handled with a network-first strategy:
- Try to load the current dashboard from the DOCSight server.
- Store a successful shell response for later.
- If the network fails, fall back to the cached shell.
- Mark the cached response as an offline shell so the UI can show the offline state.
When a cached shell is used, DOCSight adds an offline marker internally and shows the offline status banner in the UI.
Static assets use a cache-first strategy:
- CSS and JavaScript
- icons and manifest
- fonts and bundled vendor assets
- built-in module styles and scripts
- manifest screenshots
This keeps the installed app responsive and avoids blank screens when the network is temporarily unavailable.
Live data is not generically cached by the service worker.
Requests such as API calls, health checks, modem polling, and mutating actions go to the network. If the DOCSight server, modem, or local network is unavailable, those requests should fail visibly instead of reusing stale values as if they were fresh.
This is deliberate. Signal levels, errors, speedtest state, outages, and health summaries are time-sensitive. Showing old values as live data would make the monitoring experience less trustworthy.
When DOCSight detects that the browser is offline or that the service worker returned a cached offline shell, it shows an offline banner.
The offline state means:
- The visible app shell may come from cache.
- Live dashboard values may not refresh.
- The refresh button is kept disabled while the app is in the offline shell state.
- You should reconnect before treating health status, modem values, or event state as current.
DOCSight does not currently provide:
- Background sync of modem readings.
- Offline creation of new measurements or incidents that sync later.
- Cached API snapshots presented as current values.
- A complete historical offline browser database.
- Push notifications from the PWA service worker.
Historical data is still stored by the DOCSight backend, usually in SQLite. The PWA cache is only for browser-side app shell resilience, not a replacement for DOCSight's database or backups.
For local development on localhost or 127.0.0.1, DOCSight normally disables the service worker. This avoids stale development caches while editing the UI.
The PWA test gate can opt in explicitly with:
?enable-sw-test=1
That test mode lets automated browser tests verify service worker registration and offline shell behavior without changing the normal local development experience.
Check that you are using a supported browser, that DOCSight is served from a secure context, and that the manifest is reachable at /static/manifest.json.
For local network installs, browser behavior varies. Some browsers allow installation from private-network origins, while others are stricter.
The browser is offline, the DOCSight server cannot be reached, or the service worker is serving a cached shell after a failed network request.
Reconnect to the DOCSight host and reload before relying on current modem values.
Refresh the app after connectivity returns. If the browser still behaves unexpectedly, close the installed app and reopen it. As a last resort, clear site data for the DOCSight origin from your browser settings.
Home | Quick Start | Configuration | API Reference | GitHub
- Quick Start
- Installation
- Running without Docker
- Podman Quadlet
- Configuration
- Reverse Proxy
- Example Compose Stacks
- Dashboard
- Connection Monitor
- Signal Trends
- Before/After Comparison
- Channel Timeline & Compare
- Event Log
- Smart Capture
- Gaming Quality Index
- Modulation Performance
- Cable Segment Utilization
- In-App Glossary
- Speedtest Tracker
- BNetzA Breitbandmessung
- ThinkBroadband BQM
- Smokeping
- Weather
- Netzbremse (Peering)
- Home Assistant (MQTT)
- Prometheus Metrics