Knowledge base

Troubleshooting: the honest states catalogue

Every deliberate "something is not right" sentence the product ships, what each one actually means, and what to do about it. None of these are bugs; each is the app telling the truth about a state it is in.

Em dashes in quoted shipped strings are shown as plain hyphens; the originals use em dashes.

Web

  • "Not playable yet. The item is registered and its link works, but no playable file has arrived for it." (apps/web/src/app/dashboard/a/[id]/page.tsx:135). Means uploading or transcoding, not broken. A dead transcode and a running one both read this way to the owner; the share viewer is the surface that distinguishes them (joined-to-code: player.test.ts, stream.test.ts).
  • "This item has no viewable file." (apps/web/src/app/dashboard/a/[id]/page.tsx:185). A dead end, a different sentence on purpose: nothing is coming.
  • "Still processing. This page will show it as soon as it is ready - the link already works, so you can send it now." (share viewer; apps/web/src/lib/share-access.ts:186, em dash shown as hyphen). Wait, or send the link now; it will fill in.
  • "This one could not be processed, so there is nothing to play. Whoever shared it will need to send it again." (apps/web/src/lib/share-access.ts:183). The transcode failed; re-record or re-upload.
  • "There is nothing here to show. Whoever shared it will need to send it again." (apps/web/src/lib/share-access.ts:188). Every other no-player state, deliberately vague.
  • "This page isn't available" (apps/web/src/app/not-found.tsx:42). Dead link, expired link, non-public link, deleted item or missing asset; identical on purpose so a stranger learns nothing.
  • "Authentication isn't configured yet." on /login (apps/web/src/app/login/page.tsx:71) and the home page's Supabase note are real environment states of a fresh checkout, not debug output: the env vars are absent.
  • "Nothing has been deleted: this is a read failure, not an empty library." (apps/web/src/app/dashboard/page.tsx:104). The list could not load; the data is intact.
  • "No items match this filter." (apps/web/src/app/dashboard/page.tsx:114). Your work is hidden by the filter, not gone.
  • The dashboard error boundary deliberately cannot promise an action did not go through (apps/web/src/app/dashboard/error.tsx). Check the library before retrying. Reference codes on error pages are the error digest, safe to paste to support.

Desktop

  • "That recording is not on this machine any more: {path}" (apps/desktop/src/board.js:569). A restored backup or a moved file. The card is intact; put the recordings folder back and the card finds it.
  • Recovered badge with a 0:00 duration: crash rescue; length unknown, file playable (apps/desktop/src/board.js:435; joined-to-code: recover harness checks).
  • "No capturable windows are open right now." / "No displays reported geometry." / "No microphone found": enumeration answers, not errors. There genuinely was nothing to list.
  • "Camera blocked. Allow camera access for SnapBuddy in Windows privacy settings." / "No camera available.": the webcam bubble's failed states.
  • "Could not check for updates: ...": offline or GitHub down. The app never pretends the check succeeded.
  • "Could not save - storage is full. Back up and delete old cards." (apps/desktop/src/core.js:720, em dash shown as hyphen). The composer keeps your image, marks, name and format, so the retry is not lossy (joined-to-code: bp38b failed-save check).
  • "Already counting down..." (apps/desktop/src/board.js:58). A capture delay is pending; wait it out. There is no cancel today.
  • "Moved to Trash - restorable for 90 days" (apps/desktop/src/board.js:515, em dash shown as hyphen). The delete toast. There is no undo button in the toast today; known filed gap.

Extension

  • "That recording is no longer in {folder}" (apps/extension/app.js:234). The file was moved or deleted; reachable again after any restore of the folder.
  • "This one went to your Downloads as {name}. Pick a save folder to keep recordings with their cards." (apps/extension/app.js:237). Playback is only possible from the granted folder.
  • "Not saved to a folder yet - opening the stored copy" (apps/extension/app.js:74, em dash shown as hyphen). Thumbnail click before any file write.
  • "Could not save - browser storage is full. Back up and delete old cards." (apps/extension/core.js:229, em dash shown as hyphen).
  • "Saved (file write failed)" (apps/extension/core.js:230). The card was kept; the file did not land in the folder.
  • "Recording saved to disk, but the card could not be stored" (apps/extension/app.js:422). The opposite: the file landed, the card did not.
  • "Image copy blocked by browser" (apps/extension/core.js:244). The clipboard needs a secure context and permission.
  • The popup's Recent strip opens a recording's poster image, not the video; the player lives on the board.