Skip to main content

Offline storage

The Offline storage page shows what the AfriAnnotate mobile app is keeping on this device for working without a connection, and lets you trim it. Open it from the account menu → Offline storage (the entry only appears in the mobile app; the page itself says "applies to the mobile app only" everywhere else).

Everything here is per device. Nothing on this page touches the cloud — removing a download never deletes a project or its annotations on the server.

What the page shows​

Three numbers at the top:

  • Used on device — the app's total storage footprint as reported by the device (and the available quota when the device reports one).
  • Cached media — size and file count of task media (audio, images, video) held on the device.
  • Queued to sync — annotations and other writes waiting in the outbox, plus a failed count when the server rejected any (those are the items the amber warning pill in the menubar lets you retry or discard — see Install).

Below that, a Media cache limit control and the list of Downloaded projects.

Media cache limit​

A dropdown with 100 MB, 250 MB, 500 MB (default), 1 GB, 2 GB, Unlimited. The choice is stored on the device.

When the cached media passes the limit, the app deletes the oldest unused media first — files are ordered by when they were last read offline, and files that were never read fall back to when they were downloaded — until the total fits. Only re-fetchable media is ever evicted: tasks, annotations, drafts and the sync outbox are never removed by the cap.

Eviction runs:

  • immediately when you change the limit (a toast reports Freed X (N files) if anything went);
  • about 15 seconds after the app starts;
  • right after each Download for offline finishes, when the store is at its largest.

Media that you browse online is cached write-through as well, so the cache can grow without a download. Evicted media is simply re-fetched the next time you open that task online.

Why there's a cap at all

A phone's web view has a storage quota for the whole app. If it is exhausted, the operating system can evict everything — queued offline work included — with no warning. Keeping media under a cap is what protects the outbox.

Downloaded projects​

One row per project you've downloaded with the cloud icon on its project card: title, task count, annotation count, drafts (when any) and the size of its cached media (when any). Projects you only browsed online, or never downloaded, don't appear. The empty state points you at the cloud icon on the project card.

Remove download​

Per-project Remove download deletes from the device:

  • the project's tasks, and their annotations and drafts;
  • media referenced only by this project's tasks — media that another downloaded project also uses is kept;
  • the cached Listen validation pack for the project;
  • the project's "downloaded" and download-progress markers, so its card goes back to the Download for offline state.

The outbox is not touched: anything you annotated in that project and haven't synced yet still uploads when you're back online. A toast confirms Removed offline copy of "…".

Clear all offline data​

Removes every downloaded project and every cached file from the device in one go (and resets the per-project download markers).

It is blocked while annotations are queued to sync — the button shows a toast asking you to reconnect and let them upload first, rather than offering a confirm-and-lose. Queued work is never discarded by this page; the only place to discard a queued write deliberately is the failed-writes review behind the amber pill.

Records waiting to send​

In collection projects, records you submit offline wait in the same sync queue as any other annotation. Their photos and recordings wait in a separate upload queue on the device, and a record already holds a placeholder for each one: when the file uploads, the server puts its address into the record, whichever of the two arrives first. Clear all offline data does not touch that upload queue, and stays blocked while records are queued.

Gotchas​

  • Hidden on web and desktop. The desktop app keeps its local mirror in a different store and manages it from Profile → Cloud sync — see Sync history & pending changes.
  • "Used on device" is bigger than the sum of the rows. It includes the app's own cached assets and every project you browsed online, not just downloads.
  • Removing a download doesn't remove the project from your list. You still see it; it just won't open offline until you download it again.
  • The cap doesn't shrink the other numbers. Annotations, drafts and queued writes are exempt by design; the only way to free those is to sync and then remove the download.

What's next​