Troubleshooting
Troubleshooting Guide
This guide helps you resolve common issues with Cine Power Planner.
Everything here is something you can do from inside the app. It named build tooling — npm install, nvm, port 5173, hot reload — until 2026-09-07, which is advice you cannot follow: this
guide is bundled into the app and read by people who have no checkout. If you are running the
project from source, see setup.md in the developer documentation instead.
Table of Contents
- Before You Start
- The App Won't Load
- Data Issues
- PDF Export Issues
- PDF Tools Issues
- Scanner / Receipt OCR Issues
- Mobile Issues
- Browser-Specific Issues
- Cloud Sync Issues
- Advanced Troubleshooting
- Common Error Messages
- Still Having Issues?
Before You Start
- Check your browser — Chrome, Firefox, Safari or Edge, latest version
- Check your internet connection — required for the first load and for cloud sync; everything else works offline
- Reload the page — a hard reload (
Cmd/Ctrl + Shift + R) clears a surprising number of issues - Check your storage — Settings → Backup & Data → Storage reports whether IndexedDB and OPFS backup are available on this browser. That panel is the app's own answer; it beats guessing from a browser version number.
Gathering Information
Settings → Support → System Info collects your browser, version, platform and app version for you. Copy it into any bug report rather than assembling it by hand.
If you are filing manually, include:
- Browser name and version
- Operating system
- Steps to reproduce
- Expected vs actual behavior
- Screenshots of errors
- Console messages (F12 → Console)
The App Won't Load
Blank white screen
Symptoms: The page loads but stays white.
Solutions:
- Hard reload —
Cmd/Ctrl + Shift + R - Open the browser console (F12 → Console) and look for red errors
- Try a private / incognito window — this rules out an extension
- Disable browser extensions, especially content blockers and script blockers
- Ensure JavaScript is enabled
The app loads but looks unstyled or half-broken
Usually a partially-cached update.
- Hard reload (
Cmd/Ctrl + Shift + R) - Settings → Backup & Data → Cleanup → Clear Browser Cache — clears cached assets. You may need to sign in again.
Data Issues
Back up before you troubleshoot data. Settings → Backup & Data → Backup → Download full backup writes a
.zipto your downloads folder. Do that first — several steps below replace data.
Data not saving
Symptoms: Changes disappear after refresh.
Solutions:
-
Check storage is available
- Settings → Backup & Data → Storage — IndexedDB must read Available
- If it reads Unavailable, the browser is blocking site storage
-
Check browser permissions
- Allow cookies and site data for this site
- Leave private/incognito mode — most browsers discard site storage when the window closes
-
Check for JavaScript errors
- Open the console (F12) and look for red messages
-
Confirm a write lands
- Settings → Backup & Data → Backup → Download full backup
- Reload the page and check whether your data is still there
Data disappeared
Symptoms: All data is missing.
Solutions:
-
Don't panic — check the on-device backups first:
- Settings → Backup & Data → Auto Backups → Browse device backups opens the list of on-device snapshots so you can pick one.
- The Restore from device backup button in the Backup section does not open a list. It immediately restores the most recent on-device backup and replaces your current data, so use it only when that is exactly what you want.
-
Import a backup file:
- Settings → Backup & Data → Backup → Import full backup
- Pick the backup file you downloaded earlier
- Imports merge into your current data rather than overwriting it
-
Check the browser console (F12 → Console) for error messages
-
Be careful with "clear browsing data" — clearing site data for this site deletes your local database. Download a backup first.
Backup import fails
Error: The backup won't restore, or shows errors.
Solutions:
-
Check the file type. A full backup downloaded from this app is a
.zipnamedcine-power-planner-backup-YYYY-MM-DD.zip— it contains the JSON plus your stored images. The importer also accepts a plain.jsonbackup and a gzipped.json.gz.This guide told you to "ensure it's a valid JSON file" and to "open the JSON file in a text editor" until 2026-09-07. Doing that to the
.zipthe app itself produces shows binary noise and looks exactly like corruption. It is not — it is a ZIP archive, and it is the normal backup format. -
Check the file size. Imports are capped at 50 MB. A larger file is refused.
-
Check the file isn't truncated — a download interrupted partway through produces a
.zipthat won't open in your OS file manager either. Re-download it. -
Check the console during the import (F12 → Console) for the specific error.
Device (OPFS) backup not working
Symptoms: The device backup option is unavailable or fails.
Solutions:
-
Check whether this browser supports it
- Settings → Backup & Data → Storage reports OPFS Backup: Available / Not available.
- The app feature-detects this and writes a test file — it does not go by browser name or version, so that panel is authoritative for the browser you are actually using. This guide listed "Chrome 86+, Edge 86+, Opera 72+" until 2026-09-07 and omitted Safari and Firefox, both of which have supported it for years.
-
Leave private / incognito mode — origin-private storage is typically unavailable there, which is the most common reason the panel reads Not available on a browser that otherwise supports it.
-
Free up disk space — the write probe fails when the origin's quota is exhausted.
-
Use downloaded backups instead — Settings → Backup & Data → Backup → Download full backup works on every browser and does not depend on OPFS.
PDF Export Issues
PDF won't download
Symptoms: Clicking export does nothing.
Solutions:
- Allow downloads and popups for this site in your browser settings
- Check your downloads folder — some browsers save without prompting
- Check the console (F12 → Console) for PDF generation errors
- Try a different browser
PDF generation fails
Error: A PDF error, or a blank PDF.
Solutions:
- Ensure the project has items — there must be something to export
- Check item data — items need names; remove items with missing required fields
- Try a smaller export — very large gear lists take longer and use more memory
- Try a different browser
PDF formatting issues
Symptoms: Text cut off, bad layout, missing items.
Solutions:
- Update your browser to the latest version
- Check for very long item names — these are the usual cause of overflow
- Try the export on a small test project to isolate whether it is data-specific
- Report it with sample data and browser info (Settings → Support → Bug Report)
PDF Tools Issues
PDF tool shows an error or doesn't load
Symptoms: Clicking a PDF tool shows an error or a blank content area.
Solutions:
- Reload the page and try again
- Ensure the input file is valid
- Check the file is a real PDF and not corrupted
- Some tools require specific PDF versions
- Check the file size
- Very large PDFs (>100 MB) may exhaust browser memory
- Split the file first
- Check the console (F12) for the specific error
PDF merge/split produces unexpected results
Solutions:
- Verify input files — all PDFs must be valid and not password-protected
- Check page ranges (for split) — the range must be within the total page count
- Try fewer files (for merge) — merge in batches if you have many
PDF encryption/decryption fails
Solutions:
- Check the password — passwords are case-sensitive, and trailing whitespace counts
- Verify the PDF format — some older PDFs don't support modern encryption
- Try a different encryption level if the tool offers one
💡 Note: All PDF tools run entirely offline. Your files never leave your device.
Scanner / Receipt OCR Issues
Applies to the Scan to PDF tool and the Accounting → Expenses capture surfaces. See Error Codes — Scanner / OCR Errors for the typed-error reference.
"OCR took too long" toast (timeout)
Symptoms: Form opens with empty fields; yellow toast saying "OCR took too long — fields can be entered manually."
Solutions:
- Enter fields manually — the attachment is preserved; the timeout is non-blocking.
- Tap "Run again" on the capture form to retry the OCR.
- Try a smaller / clearer scan — the per-page deadline is 12 s; long or low-contrast pages can exceed it.
- Close other browser tabs to free memory — the Tesseract worker is single-threaded and shares heap with the page.
"Password-protected PDFs can't be scanned" banner
Cause: The PDF requires a password. The app will never prompt for one (security policy).
Solutions:
- Decrypt locally first — use PDF Tools → Decrypt with your password, then re-upload the unprotected PDF.
- Open in Adobe Acrobat / Preview → Save As → uncheck password protection → re-upload.
"PDF has N pages — OCR processed pages 1-10" warning
Cause: Image-based PDFs with > 10 pages exceed the OCR fallback cap. Native-text PDFs are not capped — they extract in full.
Solutions:
- Split the PDF first — use PDF Tools → Split to break the file into ≤10-page chunks, then upload each separately as its own expense.
- Save as native-text PDF — re-print to PDF from the source application instead of scanning paper. Native-text extraction has no page cap.
"From cache" badge shows wrong text from a previous scan
Cause: The blob-hash OCR cache returned a stored result because the input file is byte-identical to a previous scan (within the last 30 days).
Solutions:
- Tap "Run again" below the form to force a fresh OCR — the cache is bypassed for this run.
- Re-take the photo or re-export the PDF — even a one-byte difference will miss the cache and trigger fresh OCR.
Camera permission denied
Symptoms: Scan opens but camera preview is blank, or the browser asks for permission repeatedly.
Solutions:
- Grant camera permission in the browser site settings (Chrome: Settings → Privacy → Site settings → Camera).
- On iOS Safari: the permission prompt only appears once per session. If you accidentally denied, go to Settings → Safari → Camera → Allow.
- On the installed mobile app (Capacitor): go to the OS settings (Settings → Cine Power Planner → Camera → Allow).
- Fall back to Upload — if the camera is unavailable, use the Upload flow with a phone-camera photo or scanned PDF.
Blank form after scan / upload — no fields pre-filled
Cause: OCR ran but couldn't extract any of the structured fields (vendor / amount / date / etc.). Common with very low-contrast thermal receipts or handwritten receipts.
Solutions:
- Fill the form manually — the attachment is still saved with the expense.
- Re-shoot with better lighting — thermal receipts especially benefit from indirect light + a flat surface.
- Crop tight to the printed area — extraneous background reduces OCR confidence.
Scanner stopped unexpectedly. Retry available.
Cause: The Tesseract worker terminated mid-recognition — usually memory pressure on older devices.
Solutions:
- Tap "Retry" in the banner.
- Close other browser tabs to free memory.
- Restart the browser if the crash recurs across multiple receipts.
- Use a smaller image — the practical limit is around 2048 × 2048 px for older phones.
Mobile Issues
App won't load on mobile
Solutions:
- Check internet connection (required for the first load)
- Reload the page
- Try a different browser (Chrome / Safari)
- Clear the mobile browser's cache
Touch gestures not working
Symptoms: Can't scroll, drag, or tap properly.
Solutions:
- Reload the page
- Update your browser
- Try landscape orientation — some dense tables are easier to hit there
- Report it with your device model (Settings → Support → Bug Report)
App doesn't fit the screen
Symptoms: Layout broken on mobile.
Solutions:
- Reload the page
- Reset page zoom to 100%
- Try landscape mode
- Report it with device model and browser
Install to home screen fails
Solutions:
-
Check the browser
- iOS: use Safari
- Android: use Chrome
-
Check PWA support — some browsers do not offer install
-
Install manually — Chrome → Menu → Install Cine Power Planner
Browser-Specific Issues
Chrome
Solution: Update Chrome to the latest version.
Common fixes:
- Clear the browser cache
- Disable hardware acceleration if you see graphical glitches
- Allow site data for the app
Firefox
Solution: Update Firefox to the latest version.
Common fixes:
- Clear cookies and site data
- Check Enhanced Tracking Protection — strict mode can block site storage
- Disable resist-fingerprinting, which interferes with storage APIs
Safari
Solution: Update Safari and macOS/iOS.
Common fixes:
- Check "Prevent cross-site tracking" if sign-in fails
- Check iCloud Private Relay settings
- Note that Safari discards site storage from private windows when they close
Edge
Solution: Update Edge to the latest version.
Common fixes:
- Clear the browser cache
- Check that IE mode is disabled
- Disable hardware acceleration if needed
Cloud Sync Issues
Cloud sync is opt-in. If you have never signed in, none of this applies — your data is local and that is by design.
Sync stuck or failing
- Check your internet connection
- Verify you are signed in — Settings → Account
- Check the sync status badge in the sidebar
- Sign out and sign back in
Sync errors after the tab was idle
If sync errors appear after leaving a browser tab open for a long time:
- Reload the page — this triggers reconnection
- The app also reconnects on its own when the tab becomes visible again
- If errors persist, sign out and sign back in
Sync wedged and nothing helps
Settings → Backup & Data → Sync → Reset Sync clears all local sync state and re-syncs from scratch. Download a backup first.
Self-hosting the backend? CORS and 503 errors from your own Supabase deployment are an operator problem, not an app one — see the developer documentation.
Advanced Troubleshooting
Erasing everything and starting over
Warning: This deletes all local data.
Settings → Backup & Data → Factory Reset
Download a backup first — Settings → Backup & Data → Backup → Download full backup. Factory Reset is the app's own wipe; clearing site data in your browser does the same thing less cleanly and without a confirmation step.
Checking the browser console
-
Open DevTools
- Windows/Linux:
F12orCtrl + Shift + I - macOS:
Cmd + Option + I
- Windows/Linux:
-
Go to the Console tab — look for red errors and copy the messages
-
Check warnings too — yellow entries sometimes explain a failure
-
Reload the page and watch for errors during load
Checking stored data directly
- Open DevTools (F12)
- Go to Application (Chrome/Edge) or Storage (Firefox)
- Expand IndexedDB
- Your data lives there
Settings → Backup & Data → Data Integrity does the same check from inside the app and can repair some problems it finds.
Reporting issues
Settings → Support → Bug Report submits a report from inside the app, and Settings → Support → System Info gives you the environment details to attach.
To file on GitHub instead:
- Check existing issues first — GitHub Issues
- Create a new issue with a clear title, what you were doing, expected vs actual behavior, steps to reproduce, your browser/OS, screenshots and any console errors
Common Error Messages
| Error Message | What it means | What to do |
|---|---|---|
QuotaExceededError | The browser's storage quota for this site is full | Download a backup, then clear old auto-backups (Settings → Backup & Data → Cleanup) |
SecurityError | The browser is blocking site storage | Allow site data; leave private/incognito mode |
NetworkError | A request to the sync backend failed | Check your connection; retry. Local data is unaffected |
NotAllowedError | A permission was denied (camera, clipboard, downloads) | Grant the permission in the browser's site settings |
| Import file is too large | The backup exceeds the 50 MB import cap | Import a smaller backup, or a project-level backup instead |
Still Having Issues?
- Report from inside the app: Settings → Support → Bug Report
- Search existing issues: GitHub Issues
- Create a new issue: Report Problem
- Include: browser and version, operating system, steps to reproduce, error messages, screenshots — Settings → Support → System Info collects most of this for you
Last Updated: 2026-09-07 Version: 0.790.2 ← Back to FAQ | Next: Help →
