Repeto Documentation
Browse documentation

Troubleshooting and help

Diagnose sign-in, API, import, media, review, and template problems before contacting support.

Start by recording the page, approximate time, browser, operating system, and the smallest sequence that reproduces the problem. Do not include access tokens, private card content, or full study files in a public report.

I cannot sign in

Refresh the sign-in page once and confirm the browser allows first-party cookies for app.repeto.ai. If an OAuth window was blocked, start the provider flow again from the visible sign-in button rather than reusing an old callback URL.

If Repeto reports that it cannot connect to the API, the application shell loaded but api.repeto.ai did not answer. Check your connection and retry. A service outage cannot be fixed by creating another account.

Local development previews are different: the web app and API must both be running, and the preview must target the local API origin. Open local preview cannot work when only the Vite frontend is running.

A review did not appear to save

Keep the tab open until the offline indicator clears. The web reviewer writes ratings to a local IndexedDB outbox before advancing and retries idempotently when the connection returns.

If the card returns immediately, it may be a learning step rather than a failed sync. Inspect the interval preview and the deck’s learning steps. If several tabs review the same collection, close the older tabs and reload the newest one.

Counts do not match the session total

The deck list can show all due, learning, and new cards in a subtree. The session then applies new/review daily limits, queue eligibility, suspension, and the selected scope. Parent totals already include descendants, so adding visible parent and child rows double-counts the same cards.

If a session stops at a suspicious round number, check Deck settings → Maximum reviews per day. The API session ceiling is 9,999, not 200.

An import is stuck

Return to Import. Repeto stores the active import job and should reopen its processing or preview page. Do not begin a duplicate upload while the first job is active.

If the job fails repeatedly:

  1. export a fresh .apkg from the source;
  2. confirm the file opens there;
  3. retry with the new package;
  4. preserve the failed filename and warning text for support.

An imported card looks wrong

Try the Use Repeto styling choice during import, or toggle preservation of imported template colors in Appearance. Open the note type preview and inspect the front/back templates for unsupported filters, fixed dimensions, scripts, or selectors that assume Anki Desktop.

Large images should scale responsively inside the review card. If one stays tiny, inspect whether the template itself assigns a small width. Media embedded as a fixed-size HTML element can override the application’s default image rules.

An image or audio file is missing

Confirm the import preview reported media. A package can reference a filename that is not present in its media manifest. Re-exporting from the source with media included is safer than manually changing internal archive filenames.

For newly attached media, wait for the upload to finish before closing the editor. A browser offline cache is not a substitute for a completed server upload.

The collection media-integrity API can list missing, unused, malformed, and ambiguous references without deleting anything. Until its repair UI is available, do not remove an “unused” object manually: imported templates and legacy filenames may need inspection first.

Search or filters miss a card

Open Card browser, clear the query, and search for text from a known field. Switch between Cards and Notes mode if sibling cardinality is confusing. The collection browser filters and sorts on the server; its loaded count may be smaller than the reported total until you choose Load more.

If a structured query is invalid, read the highlighted diagnostic instead of deleting operators at random. Repeto supports a deliberate Anki-style subset, but rejects word-boundary, accent-insensitive, rendered-cloze, regular-expression, preset, introduced-card, and custom-data operators. Deck-level state/tag/image filters are a separate, narrower view and may refine only loaded deck pages.

Contact support

Use Repeto support for account, privacy, billing, and product issues. Include:

  • the affected page and deck name (not private card text);
  • browser/app version and operating system;
  • whether the problem reproduces online and offline;
  • exact warning or error text;
  • a short screen recording when visual behavior matters.

Never send a manual API token, OAuth code, password, or complete private collection by email. Support can ask for a narrowly scoped diagnostic if one is required.