Help & Documentation
Offline-first guidance for safe gear lists.
Offline Workflow
How the app behaves without internet, and how to back up
Cine Power Planner is offline-first. Projects, gear lists, contacts, and the device library all live on this device's IndexedDB (with OPFS as a backup tier). Cloud sync is optional. This article covers what works offline, how auto-save behaves, and the backup / restore flow.
What Works Offline
Your own work runs offline: projects, gear lists, contacts, the device library, PDFs and backups. What reaches other people or a server needs a connection: cloud sync, collaboration, sending emails, public links and bank connections.
- Create and edit projects. The free plan's limit of two projects applies offline as well.
- Build and manage the device library.
- Add and edit contacts.
- Export PDFs (the gear-list PDF and the in-app PDF Tools both work locally).
- Use, edit, and create templates.
- Search across projects, devices, and contacts.
- Import a CSV or a backup .zip (or .json) from the device.
- Create and restore backups.
Tips
- Camera scanning works offline — both the camera viewfinder and HID/USB scanners.
- Sub-rental check-in/out works offline; transactions sync to collaborators once the device is online again.
- Cloud sync needs a network, but the app keeps working without one and queues your changes for upload. The email of an issued quote that cannot go out offline is kept and sent when the connection is back, unless online acceptance is ticked: that link is created on the server.
Where Data Lives
Layered storage so a single browser hiccup doesn't take down the dataset.
- IndexedDB
- Primary store for projects, devices, contacts, owned-gear records, sub-rental transactions, and Auto Gear rules.
- OPFS (Origin Private File System)
- Secondary backup tier. Auto-backups are written here on a schedule.
- LocalStorage
- Small, fast key-value storage. Holds preferences (theme, language, sidebar collapse state) and similar UI state.
- Cache API
- Service worker cache. Stores the app's JS, CSS, and assets so the page loads instantly after the first visit.
Tips
- Private / incognito windows often refuse to register service workers and aggressively wipe IndexedDB on close — use a normal window for real work.
- Corporate browser policies can restrict storage. If data disappears between sessions, this is usually why.
- iOS Safari has storage caps that are lower than desktop browsers — the PWA install is the workaround there.
Turning Offline Mode Off
Offline support costs storage: the app keeps a full copy of itself so it can open with no connection, and writes a local backup of your data every 15 minutes. On a device that is short on memory or storage, you can switch that off and run online only.
- Go to Settings → Backup & Data → Offline availability and turn off "Keep the app available offline".
- Turning it off clears what is already stored right away: the offline copy of the app, cached images and documents, and the local 15-minute backup file.
- Your projects are not affected — only the redundant offline copies are removed.
- The setting applies to this device only. Your other devices keep their own choice.
- Turn it back on and reload the app to restore offline support.
Tips
- With offline mode off, the app needs an internet connection to start. If you shoot in places with poor reception, leave it on.
- Download a backup regularly when running online only — the automatic local 15-minute backup is no longer written.
Auto-Save Behavior
Edits are persisted to IndexedDB continuously. There is no Save button you have to press.
- Save is debounced — changes flush a few seconds after you stop typing.
- On page unload (refresh or tab close) all pending changes are force-flushed before the page navigates away.
- Cmd/Ctrl+S triggers an immediate save (the only purpose of that shortcut).
- OPFS auto-backup runs on its own cadence and is independent from the IndexedDB save.
Tips
- Don't worry about 'have I saved?' — focus on the work. Cmd/Ctrl+S is there if you want the green-checkmark feeling.
- Sync status and offline indicators are about cloud sync, not about local saving. Local save happens regardless of network state.
- Several tabs open at once keep each other's setting changes: a setting you change in one tab (units, simulator stars, favourites) is not undone when another tab saves afterwards. If two tabs change the same setting, the later save wins.
Common Pitfalls
- Treating the 'Offline' indicator as 'unsaved' — it just means cloud sync can't push right now; local writes are unaffected.
- Closing a tab in the first second after a fast edit — wait until the auto-save tick lands or hit Cmd/Ctrl+S first.
Installing the PWA
Installing the PWA on the OS makes the app load offline reliably and improves storage caps. The install prompt appears in-app.
- Visit the app once while online so the service worker caches assets.
- The Install App modal appears — click 'Install App' to add the PWA to your device.
- If you dismiss with 'Not Now', the prompt returns on the next visit.
- On iOS Safari, the modal shows manual instructions: tap Share → 'Add to Home Screen' (iOS doesn't expose a programmatic install).
- Verify by toggling airplane mode and reopening — the app should still load.
Tips
- Install on every device you actually use for prep — laptop, iPad, phone.
- Installation doesn't move data between devices; for that, use cloud sync or a backup file.
Creating a Backup
Backups are full snapshots of local data, downloaded as a .zip bundle (or a plain .json if zipping is unavailable).
- Sidebar → Settings.
- Open the 'Backup & Data' tab.
- Click 'Download full backup'.
- The file (
.zip, or.jsonif zipping is unavailable) lands in the device's default downloads folder with a timestamped name.
Tips
- Make backups before major actions — bulk delete, template restructure, an import that might collide.
- Keep backups in more than one place (local + cloud or external drive).
- Backups are dated in the filename — keep older versions around for at least a few weeks.
Restoring from Backup
Import merges into the existing dataset. It does not replace.
- Settings → Backup & Data.
- Click 'Import full backup'.
- Pick the
.zip(or plain.json) file. - Confirm — the import MERGES the backup with current data. Existing records are not deleted by the import.
- Wait for the process to complete; large backups can take 1–2 minutes.
- Verify projects, devices, and contacts appear correctly.
Tips
- There is no 'Replace' mode in the import UI — for a clean wipe-and-restore, run Factory Reset first, then Import.
- Always run 'Download full backup' BEFORE an import so you can roll back if the merge produces unwanted duplicates.
- Importing the same backup twice can produce duplicates — track which file is the canonical source.
Common Pitfalls
- Expecting Import to replace and being surprised by duplicates — use Factory Reset + Import if 'replace' is the intent.
- Closing the tab mid-import — the merge can leave partial state if interrupted.
- Importing a backup from a much older version of the app — schema migrations should run, but a manual export of the new state right after import is a good safety net.
Moving to a New Computer
Two paths: cloud sync (recommended if you already use it), or a backup file.
- Cloud sync path: sign in on the new device — projects, devices, contacts pull down automatically.
- Backup file path: on the old device, Settings → Backup & Data → 'Download full backup'.
- Transfer the file to the new device (cloud storage, USB, encrypted email).
- On the new device: install / open Cine Power Planner.
- Run Factory Reset on the new device if you want a guaranteed-clean target.
- Settings → Backup & Data → 'Import full backup' → pick the file.
- Verify all projects, devices, and contacts transferred correctly before retiring the old device.
Tips
- Keep the old device intact until you've spot-checked the new one — a corrupted backup file is rare but not impossible.
- If cloud sync is on, you don't strictly need the backup file for migration — but having one as a safety net is good practice.
Local-Only vs Cloud Sync
Cloud sync is opt-in. The app is fully usable without it.
- Local-only
- Data lives on this device. Maximum privacy. No multi-device sharing. Manual backups are your only safety net.
- Cloud sync
- Data mirrors to the self-hosted Supabase backend. Enables multi-device sync, collaboration, and automatic remote backup.
Tips
- You can switch modes any time without losing data.
- Cloud sync does not weaken offline behavior — the offline app still works the same; sync is layered on top.
- Sensitive material may justify staying local-only; for collaborative teams, cloud sync is hard to live without.
Troubleshooting
Common offline-related issues.
- App won't load offline → make sure you visited the URL at least once while online so the service worker had a chance to cache.
- Data missing after restart → check that you weren't in a private / incognito window; storage there is wiped on close.
- Backup fails to download → verify the device has free disk space.
- Import fails or partial → open the file in a text editor; a corrupted backup is usually obvious as broken JSON.
- Storage is full → archive old projects or export-and-delete large media before adding more.
- Refresh the page (Cmd/Ctrl+R).
- Hard refresh (Cmd/Ctrl+Shift+R) to clear cached app assets.
- Clear site data in browser DevTools → Application tab, then reload.
- Try a different browser to isolate whether the issue is browser-specific.
- Open DevTools console (F12) and check for IndexedDB or quota errors.
Local storage is the source of truth. Cloud sync mirrors it. Backups are the safety net. Use all three for serious work.
Related Topics
See also
