Help & Documentation
Offline-first guidance for safe gear lists.
Troubleshooting
Fixes for common problems
Solutions for the most common issues people run into. Each section is a symptom you can click to expand.
Try these first
Most strange behaviour comes from a stale browser cache or a temporary glitch. Run through this short list before digging deeper.
- Refresh the page (Ctrl+R or Cmd+R).
- If a refresh doesn't help, do a hard refresh (Ctrl+Shift+R, or Cmd+Shift+R on macOS). This forces the browser to re-download the app instead of using its cache. Phones and tablets have no such shortcut — on iPhone, iPad or Android, open Settings → Hard refresh instead, which does the same thing from inside the app.
- Close every tab of the app, then open it again.
- Open the app in a private/incognito window. If the problem goes away, a browser extension is the likely cause.
- Try a different browser (Chrome, Firefox, Safari, or Edge). If it works there, the issue is specific to your usual browser.
- Restart the computer. Sounds basic — clears memory pressure and forces a clean start.
Tips
- If a refresh fixes it, that usually means the browser was holding an outdated version of the app. Hard refresh is the quickest fix.
- Private/incognito mode also disables IndexedDB persistence in some browsers — useful for testing, but don't keep working in it.
Ask the built-in assistant
Help → Assistant answers questions about the app, about keyboard shortcuts and about device specifications, using this app’s own knowledge base, shortcut list and device library as its only sources. The assistant is Mr Watts, the camera mascot — the heading and the sparkle button both call him by name, and in the pink theme he is Miss Watts.
- Open the sidebar and click Help.
- Switch to the 'Assistant' tab.
- Type a question — how a feature works, a keyboard shortcut, or the specs of a device in the catalog.
- Read the answer, then open any of the linked knowledge base sections it cites to go deeper — topics with a guided tour also offer 'Show me', which starts that tour directly.
- Use 'Copy answer' to take an answer with you, or 'Ask again' to retry a question that failed.
- If the answer doesn't solve it, use 'This didn't help — report it' — the bug report form opens with your question and the answer already filled in.
Tips
- The assistant works without an AI provider. With AI switched off it shows the matching knowledge base sections, shortcuts and device records directly instead of a written answer.
- Written answers require AI integration to be enabled in Settings → Account → AI Integration, either with your own cloud key or an on-device model.
- The assistant answers only from the shipped help centre, the shortcut list and the device catalog. Your gear lists, contacts and project contents are never sent to it — the one exception is the name of the project you have open, which travels with the screen you are on (see “The assistant knows which screen you are on” below). Inside a project it can also propose a small number of changes — see “What the assistant can change for you” below — and even then it is your confirmation that makes the change, never its answer.
- It also knows which screen you are on, so “how do I add one here?” or “what is this tab for?” resolve to the surface in front of you rather than being answered in general.
- It answers from what it finds, and says so when the knowledge base does not cover your question — it will not invent a menu path or a specification.
- The conversation is not saved to disk and never syncs. It stays available while the app is open — you can switch tabs, open a cited topic and come back — and closing or reloading the app clears it. 'Clear' empties it any time.
- Follow-up questions work in chains: ask "how much power does the Sony Venice 2 draw?", then "and the weight?", then "and the Mini?" — the assistant carries the subject forward.
- For a question that describes a problem (something stuck, failing or lost), the assistant includes a few session details — app version, platform, connection state — so the troubleshooting answer can be concrete. The answer notes when that happened; project data is never part of it.
- Press Cmd+Enter (Ctrl+Enter on Windows and Linux) to send. Enter alone starts a new line.
- Stop halts a slow answer. It stops waiting rather than recalling the request, so a cloud request may still finish on the server.
- Sources are grouped by help topic. Click one to open that topic in the knowledge base.
- Device matches are shown as grouped specs — Sensor, Power, Ports & connectors, Media, Mounting and so on — rather than one line of text. Only the first few groups are open; 'Show all specs' reveals the rest, including codecs, frame rates and resolutions.
- Device answers come from the shared stock catalogue. If you have overridden a spec on your own copy of a device, the assistant still quotes the catalogue value — check the Device Library for your own figure.
- When an answer fails, the reason names the actual cause — a rejected key, a rate limit, an unreachable provider, a 60-second timeout, or, with an on-device model, a call that failed or a runtime this build or browser cannot start — instead of one generic 'The AI request failed'. Causes a setting can fix, including picking a cloud provider when the local model will not run here, offer an 'Open AI settings' button right there.
What the assistant can change for you
Inside a project the assistant can also do a few things, not only explain them. It never acts on its own: it proposes, you read an itemised confirmation naming the exact change, and nothing happens until you accept. The confirmation always tells you how the change is taken back — for most of them that is the project's undo history, and for the two that reach beyond your own project it says plainly what the route back really is, including when there isn't one.
- Open the assistant from the sparkle button at the bottom right of a project, or from Help → Assistant.
- Ask for the change in your own words — “rename this project to Sunset Shoot”, “add an auto-gear rule called Lens kit”, “set the delivery resolution to 4K”, “turn on collaboration”, “invite anna@example.com”.
- Read the confirmation. It names the project and both sides of every change, for example “Delivery Resolution: 1080p → 4K”.
- Read the last line especially. It says how this particular change is reversed, and it is not the same sentence every time.
- Accept it, or refuse. Refusing changes nothing at all.
- Undo the everyday changes afterwards from the project's undo history, like any other edit.
Tips
- Five changes are available today: rename the project, add an auto-gear rule, set the shared delivery specs — delivery resolution, base frame rate and aspect ratio — turn on collaboration, and invite somebody to a shared project.
- A new auto-gear rule is created switched off, so it changes nothing until you enable it yourself on the Auto Gear screen, where its effect is visible.
- Delivery specs are the three fields shared across every camera package. Per-camera settings are deliberately out of reach this way, because “set it to 4K” does not say which camera.
- Those three fields are dropdowns and the assistant is held to the list. A value the app does not offer is refused before you are ever shown a confirmation for it — it cannot quietly write “4K-ish” where the app only offers “4K”.
- Turning on collaboration is not in the undo history, and the confirmation says so. It moves the project from this device to the server so people can be invited to it, and the way back is the Disable collaboration button rather than Ctrl+Z. Nobody else gains access by this step alone — you stay the only member until you invite someone.
- An invitation cannot be undone at all, and this is the one change that asks you twice: you have to tick a box confirming you understand before the button will send. You can revoke someone's access afterwards, but the email has already arrived, so calling that “undo” would be untrue.
- An invited person joins as a Viewer unless you say otherwise. The assistant will not upgrade that on its own — if you want them to be able to edit, say so in your message, and the confirmation will name the role before anything is sent.
- It uses your words, not its own. If a value in a proposal does not appear in the message you typed, the proposal is dropped rather than shown to you, so a change cannot be suggested by something the assistant read instead of something you asked for. That applies to an email address exactly as it applies to a project name.
- The assistant only offers what this screen can actually do. It will not offer to turn on collaboration that is already on, and it will not offer to invite anyone to a project that has not been shared yet.
- This works inside a project only. Opened from the Help page there is no project to change, and the assistant will say so.
- It can also take you somewhere rather than change something: an answer about exporting offers “Take me there”, which opens the export dialog without leaving the tab you were on, and an answer about collaboration opens the sharing controls — the invite form if the project is already shared, the button that shares it if it is not.
The assistant knows which screen you are on
The assistant is told which screen you are looking at when you ask — the route, the workspace section, and the name of the open project. It uses that to resolve “here”, “this page” and “this tab”, and it pulls in the help topic that documents that screen even when your question shares no words with it.
- The screen is named with the app’s own labels — the same breadcrumb and section names you see — so an answer never invents a name for a screen.
- Inside a project it also knows which section you are in (Gear List, Crew, Budget, Carnet, and so on) and what that section is for.
- Open the Help centre from anywhere and the assistant still refers to the screen you came FROM, not to Help itself.
- A turn that included your screen says so underneath the answer, in the same place as the session-details note.
- It does not receive anything on the screen — no gear, no crew, no rates, no attachments. Only the screen’s name, its purpose, and the open project’s title.
Tips
- It also stops offering to take you somewhere you already are: the “Take me there” button is hidden when the answer’s topic is the screen you are looking at.
The assistant reads the Documentation section too
Alongside these help topics, the assistant searches the pages of the Documentation section. The step-by-step detail for each feature lives in the help topics themselves.
- A citation names the page and its section, so you can open the exact place it answered from.
- Documentation sections and help topics are ranked together, so whichever actually answers your question comes first.
- It helps most on questions about connecting an AI agent to your account through the MCP server. For everything else the help topics are the source.
- With AI switched off you still get the matching documentation sections listed, the same way help sections and device records are.
Tips
- The documentation is written in English; the answer still comes back in the language the app is set to.
My changes aren't being saved
The app stores everything locally in your browser using IndexedDB (a built-in browser database). If that storage is blocked or full, saves fail silently. Here's how to check.
- You can't be in private/incognito mode. Most browsers refuse to write IndexedDB there, so closing the tab loses everything.
- Check that the site is allowed to store data. In Chrome/Edge: click the lock icon in the address bar → Site settings → make sure Cookies and site data is allowed. In Safari: Settings → Privacy → Manage Website Data.
- Make sure you have free disk space. The browser shares one storage quota across all sites and will refuse to write if the disk is nearly full.
- Privacy extensions (uBlock, Privacy Badger, AdGuard, etc.) sometimes block storage on app domains. Try with extensions disabled.
- If storage is fine but data still disappears, you may be signed into a different account than usual — your cloud projects only show under the account that owns them.
- Open the app in your usual browser.
- Make a small change to any project.
- Click the sidebar account button (bottom-left). Look for the local-save indicator — when it shows 'Just now' or 'Saved at <time>', the save worked.
- If the indicator never updates, hard-refresh the page (Ctrl+Shift+R / Cmd+Shift+R) and try again.
- If it still doesn't update, open a new private/incognito window and visit the app. If saves work there, the original browser profile is the problem — usually an extension or a tight storage policy.
Tips
- Pressing Cmd/Ctrl + S forces an immediate save to IndexedDB and the OPFS backup. It's a useful sanity check.
- The app also writes a debounced OPFS backup after every successful save — that's a second copy in a different browser storage area, so recovery is usually possible even if IndexedDB gets corrupted.
- Cloud Sync is opt-in. If you only sign in on one device and never enable sync, your data lives entirely in that browser. Export a backup occasionally from Settings → Backup & Data.
Common Pitfalls
- Working in incognito/private mode for days, then losing everything when the tab closes.
- Letting a privacy extension run on the app domain — it may quietly strip storage permissions.
- Assuming Cloud Sync is on. It's only active after you sign in and explicitly enable sync.
PDF export fails or downloads nothing
PDFs are generated entirely in your browser — nothing is sent to a server. Most export problems come from popup blockers, empty content, or the browser running out of memory on very large projects.
- If clicking Export does nothing visible, the download was probably blocked. Check the address bar for a blocked-popup or blocked-download icon, click it, and allow downloads from this site.
- Open the project and confirm it actually has items — an empty project produces a blank PDF.
- Use Preview before downloading. If the preview looks right but the download fails, the issue is at the browser/download step, not the PDF itself.
- Very large projects (1000+ items, or large embedded images) take 30–120 seconds to render. Don't refresh while the spinner is up.
- If nothing produces a result, press F12 to open the browser console and look for red error lines. Those are useful to attach to a bug report.
- Confirm the project has content.
- Click Preview and check that the layout, items, and totals look right.
- If Preview is fine, click Download. Watch the address bar for blocked-download icons.
- If the download still fails, try a different browser. Chrome and Firefox handle large PDFs most reliably.
- Still failing? Export a single category at a time to find which one breaks. Then report it — see 'How to send a bug report' below.
Tips
- PDFs render client-side, so no data is uploaded during export.
- Embedded images (project photos, signatures, logos) are the most expensive part of rendering. Replacing very large images with smaller copies makes export faster.
- The footer of an issued PDF (invoice, sub-rental quote, delivery/return note) is auto-stamped from your saved logo, signature, IBAN, and Tax/VAT ID. These live under Settings → Account (the 'Signature & Branding' and 'Billing & Issuer Details' sections), not Settings → General. Set those once before issuing your first invoice.
Cloud Sync is stuck or failing
Cloud Sync is the optional feature that mirrors your data to the cloud so you can use the app from multiple devices. It only runs after you sign in AND grant the Cloud Sync consent (see the Cloud Sync help article). If it's misbehaving, walk through these checks.
- You must be online. Sync queues changes while offline and uploads them when the connection returns.
- Cloud Sync consent must be granted. Consent is decided in the one-time Cloud Sync consent dialog after your first sign-in; if it's still 'Not yet decided' or you withdrew it, sync stays paused until you grant (or re-grant) consent when prompted.
- You must be signed into the same account on every device that should share data.
- If a corporate firewall or VPN blocks the Supabase domain, sync will silently fail. Try from a non-corporate network to confirm.
- Your computer's clock must be roughly correct. Auth tokens fail if the system time is wildly off.
- Very large libraries (hundreds of devices, dozens of projects) can take several minutes for the first sync. The progress indicator in the sidebar account area is the source of truth.
- Open the sidebar account button (bottom-left). The icon shows your current sync state: synced, syncing, or offline.
- If it shows 'offline' but you have internet, sign out and sign back in. That resets the connection.
- Wait a couple of minutes after signing in. First-sync after a long offline period can be slow.
- If a sync conflict dialog appears, do NOT skip it. Read both sides, choose 'Keep local' or 'Use cloud' explicitly (or 'Merge items' for lists). Skipping leaves your local copy out of sync.
- Open the browser console (F12) and check for messages starting with 'syncEngine' — those tell you exactly which entity failed.
Tips
- Offline → Syncing → Synced is the normal progression. Anything stuck on Syncing for more than 10 minutes is worth a sign-out/sign-in cycle.
- Conflicts only happen if two devices changed the same record while one was offline. The conflict dialog shows you both versions side by side.
Common Pitfalls
- Signing in with a different email on a second device and wondering why projects don't show up — sync is per-account.
- Auto-skipping a conflict dialog. The skipped change does NOT make it to the cloud, and the two devices stay out of sync until you resolve it.
Import or restore failed
Backups restore from .json or .gz files. Equipment imports use CSV. Most failures come from the wrong file format or a CSV with the wrong column headers.
- Backup files: must be the .json or .gz files exported from Cine Power Planner. ZIPs and other formats won't work.
- CSV imports: the first line must be a header row, comma-separated, with these column names exactly: Category, Name, Quantity, Details, Status. Category is optional in single-category mode.
- Status column values: rental, owned_user, owned_contact, or crewmember. The legacy value 'owned' is still accepted and maps to owned_user.
- Large imports (1000+ rows) can take a couple of minutes. Don't close the tab while the spinner is up.
- If a row is missing a Name, it gets skipped. The preview shows you how many rows were skipped before you confirm.
- If many rows fail, split the file in half and import the halves separately to find the bad section.
- Open the file in any text editor to confirm it isn't empty or scrambled.
- For CSV: confirm the first line is comma-separated with the right column names.
- Open the project, open the Import dialog, and paste a small chunk (5–10 rows) first.
- If the preview looks right, paste the rest.
- Watch the preview counters — they tell you how many rows will import, how many were skipped, and how many categories will be created.
Tips
- Importing into an existing project ADDS to it — nothing is deleted.
- Re-importing the same file creates duplicates. If you're not sure, export a backup first.
- UTF-8 is the safe encoding for non-ASCII characters (umlauts, accents).
- The Import dialog includes an 'AI assist' prompt that converts PDFs, rental quotes, or messy lists into the right CSV format with one prompt copied to ChatGPT or Gemini.
Common Pitfalls
- Using tab-separated or semicolon-separated values instead of commas.
- Quoting numbers (e.g. "1" for quantity). Drop the quotes.
- Forgetting that 'owned' is the legacy value — new exports use 'owned_user'.
App is slow or freezing
Slowness usually comes from the browser running low on memory, too many active projects, or a very large device library.
- Close other browser tabs. Each tab uses memory; 30+ tabs is often the cause.
- Archive projects you're not currently working on. The dashboard still lets you reach them, but they no longer load on startup.
- Clear the browser cache (Ctrl+Shift+Delete / Cmd+Shift+Delete) if the app feels sluggish after an update.
- Disable browser extensions one at a time — ad blockers, password managers, and screen recorders can each cost real performance.
- Update the browser. Chrome, Firefox, Safari, and Edge all ship frequent performance fixes.
- Very large device libraries (2000+ entries) make search a touch slower. Star the items you use most often so they sort first.
- Count open tabs. If you're at 20+, close most of them and reload.
- Go to the All Projects dashboard and archive anything you don't need this month.
- Clear cached files (Ctrl+Shift+Delete / Cmd+Shift+Delete) and reload.
- Disable browser extensions one by one until the slowdown stops — the last one you disabled is the culprit.
- If none of the above helps, restart the browser, then the computer.
Tips
- PDF export is the heaviest operation. Doing it on a tab with little else open helps.
- If you have a very long device library, the in-library search box (Cmd/Ctrl + F while focused on the library) is faster than scrolling.
Install (PWA) option doesn't show up
Cine Power Planner can be installed as a Progressive Web App so it runs like a regular desktop or mobile app. If the install button isn't appearing, one of the requirements isn't met.
- The site must be served over HTTPS. The install prompt never appears on http:// (so it's never available on http://localhost in production-style use).
- On iPhone/iPad you must use Safari. Chrome and Firefox on iOS don't expose the PWA install path.
- On Android, Chrome and Edge show 'Add to Home screen' from their menu.
- On desktop, look for the install icon at the right edge of the address bar (Chrome/Edge). Firefox doesn't currently install PWAs from the address bar.
- Some corporate-managed devices block PWA install via policy. There's nothing you can do client-side in that case — use the regular browser tab.
- Make sure your browser is up to date.
- Confirm the URL starts with https://.
- Look for the install icon in the address bar or the browser's menu.
- If the icon doesn't appear, hard-refresh once (Ctrl+Shift+R / Cmd+Shift+R) and check again.
- On iOS Safari: tap the Share button, then 'Add to Home Screen'.
Tips
- Installed and non-installed versions share the same data (IndexedDB is shared across the same browser profile).
- The PWA still works offline. After installing, you can disconnect from the internet and keep editing — sync resumes when you're back online.
Search can't find something I know exists
Search is fuzzy but literal — it matches against project names, client names, locations, device names, and contact names. If it's not finding something, you're probably searching against the wrong field.
- Search is case-insensitive. The Search page looks in project notes and category notes too; the search box on All Projects only matches a project's name or client.
- Try a partial word. Searching 'cam' finds Camera, Canon, Camcorder.
- If you're in a project, Cmd/Ctrl + F focuses the in-project category search instead of opening the global search. To go to global search from anywhere, use the Search entry in the sidebar.
- The Search page searches from the first character. The Quick Switcher shows projects from the first character and everything else from the second.
- Archived projects are found, but ranked below active ones. Projects in the Trash are not searched — restore them first ('View Trash' on All Projects).
Tips
- If you remember the client or the date but not the project name, search by those instead.
- Star frequently used devices in the Device Library — they sort first when you're adding gear to a project.
Images won't load (profile, contact, gear, project assets)
As of v0.222 (CS-17), profile pictures, contact pictures, gear pictures, project assets, and call-sheet attachments live in private storage buckets and load via short-lived signed URLs. Almost every 'broken image' falls into one of the buckets below.
- Hard-refresh (Cmd/Ctrl + Shift + R) — forces the signed-URL hook to mint fresh URLs.
- Check that you're signed in. Signed URLs only work for an authenticated session — a signed-out browser sees nothing.
- An image URL you bookmarked or copied to an external doc before CS-17 (the old public URL) now returns HTTP 400. Open the source page in the app and re-share — the share flow generates a fresh signed link.
- If a profile picture uploads but then fails to render after a refresh, the file may be corrupt or too large. Use JPG / PNG / WEBP under ~5 MB.
- If images render on one device but not another, the second device is probably signed out or signed in to a different account.
Tips
- Once an image has loaded successfully, the browser caches the bytes for offline viewing even after the signed URL itself has expired.
- The signed-URL hook refreshes URLs in the background a few minutes before each one expires — you should never see an expired-link error during normal use.
Interface looks broken or buttons don't respond
Display issues are almost always browser-level: zoom, font overrides, dark-mode mismatches, or an extension injecting CSS.
- Reset zoom to 100% (Ctrl+0 / Cmd+0). Non-100% zoom can break layouts.
- If buttons don't respond at all, hard-refresh once (Ctrl+Shift+R / Cmd+Shift+R) to make sure you have the latest JavaScript.
- Dark mode follows the theme you pick in Settings → General (Light, Dark, or Pink). It is independent of your OS dark-mode setting unless you choose 'System' there.
- If fonts look wrong, check your browser's font-override settings — some users force a custom font that breaks layouts.
- If layout is broken in just one browser, try another one to confirm it isn't a global problem.
Tips
- The app is designed for 1280×720 and up on desktop, and any modern phone/tablet on mobile. Mobile works best in landscape.
- Touch targets are at least 44px so the app stays usable on small screens.
A project or item seems lost
Before assuming data is gone, walk through this. In practice, almost every 'lost' project is archived, in the Trash, filtered out, or signed-in under a different account.
- Check the Trash first. Open the dashboard and click the 'View Trash' link (it routes to /trash). Soft-deleted projects sit there until you choose 'Delete permanently', and a single click restores them.
- Click 'View Archived' on All Projects. Archived projects are not in the main list; they have their own page, where Restore in a card's ⋯ menu brings one back.
- Confirm you're signed into the same account you usually use, if you have multiple.
- If you use Cloud Sync, open the app on another device — the project may have synced there.
- Open Settings → Backup & Data and check the auto-backup list. The app keeps recent local snapshots you can restore from.
- If you have a manual backup file (.json or .gz) from a different day, you can import it from Settings → Backup & Data.
- Don't panic, and don't run a factory reset yet — that erases what's still there.
- Open All Projects and click 'View Trash' — a deleted project is one click away from restoration there.
- Click 'View Archived' on All Projects to check the archived ones.
- If still missing, open Settings → Backup & Data and review the auto-backups.
- Pick the most recent backup that should contain the project, and restore it.
- If you can't recover it locally and you use Cloud Sync, sign out and sign back in to force a fresh pull from the cloud.
Tips
- Deleting a project from the dashboard puts it in Trash — it's a two-step delete by design, so a slip-of-the-mouse never costs real work.
- Auto-backups are kept locally. They don't travel between devices on their own — that's what Cloud Sync is for.
- Export a manual backup from Settings → Backup & Data before any major operation (large import, factory reset, OS reinstall).
"File is too large" when attaching a photo or PDF
Since v0.495.0 the app no longer simply refuses an oversized attachment — it compresses it to fit the surface's limit first. Each surface keeps its own ceiling (5 MB for bug-report screenshots, 10 MB for gear photos, 20 MB for moodboard PDFs), and compression happens automatically before the upload.
- Pick the file as normal. A large photo is re-encoded at the highest resolution that still fits — as WebP, or as JPEG in Safari and on iPhone and iPad, which cannot write WebP — so a 12 MP phone photo no longer has to be resized by hand first.
- Compression runs on your device and can take a few seconds for a 12 MP image — a short toast tells you it is working, then a second toast reports the before/after size.
- You will only see a size error now when compression genuinely cannot get under the limit, and the message states the actual size and the limit so you know how far off it is.
- Some file types cannot be compressed at all — CSV, ICS and ZIP imports, and SVG images. Those still have to be under the limit when you pick them.
- The stored file may have a different extension than the original (a .png you picked can arrive as .webp, or as .jpg from Safari or an iPhone). That is expected — the app names it after the format it actually wrote.
Factory reset (last resort)
Factory Reset deletes every project, device, contact, template, setting, and backup stored in this browser, then reloads the app. Use it only when nothing else works.
- Read the warning twice. There is no automatic undo.
- If you use Cloud Sync, your data still exists in the cloud and will be downloaded again after you sign back in. Without Cloud Sync, a factory reset is permanent.
- Export a manual backup first from Settings → Backup & Data, even if you think the data is broken. A broken backup is better than no backup.
- Go to Settings (sidebar → Support → Settings).
- Open the 'Backup & Data' tab.
- Scroll to the bottom — the reset action lives in the danger zone, separated from the rest of the page.
- Confirm the dialog explicitly.
- The app reloads itself empty. Sign back in if you use Cloud Sync to pull your cloud data back.
Tips
- Factory reset is the right call for a corrupted local database that won't open or causes the app to crash on every load.
- It is almost never the right call for 'I can't find my project' — try the recovery steps above first.
Still stuck?
If nothing here helps, send a bug report. The more detail you include, the faster it gets resolved.
- Note your browser (Chrome / Firefox / Safari / Edge), its version, and your operating system.
- Write down the exact steps that lead to the problem.
- Press F12, open the Console tab, and copy any red error messages.
- Take a screenshot of the failure if it's visual.
- If you can, export a backup (Settings → Backup & Data) before doing anything destructive — that gives us a clean snapshot to reproduce against.
Tips
- Specific reproduction steps are the single most useful thing in a bug report.
- One issue per report keeps the conversation tidy.
Which version am I running?
The version is printed at the bottom of the loading screen you see while the app starts — no need to wait for it to finish loading.
- Reload the page (or reopen the app) and look at the bottom of the loading screen — the version reads like 'v1.31.1'.
- Already past the loading screen? Open Settings → Support, where it is listed as App Version.
- It also appears at the top of the in-app Documentation.
Tips
- The number is stamped in at build time, so it always matches the build actually deployed — if it did not change after an update, the browser is still serving a cached build. A hard refresh (see 'Try these first') fixes that.
- Quote this version whenever you report a bug. Reports sent from Help → Support & Feedback already include it automatically.
How to send a bug report
Bug reports are submitted from inside the app — no email, no GitHub account needed.
- Open the sidebar and click Help.
- Switch to the 'Support & Feedback' tab.
- Use the form to describe what happened and what you expected.
- Optionally attach a screenshot.
- Submit. The report is delivered with the app version, your browser info, and recent error logs already attached — you don't need to copy them by hand.
Tips
- You can also reach the same form from Settings → Support.
- Recent JavaScript errors from this session are bundled automatically, so reports usually include enough context to diagnose the issue without back-and-forth.
Your data lives on this device by default. Even when something feels broken, the most likely outcome is that the data is fine and the browser is the part to fix.
Related Topics
See also
