Offline document cache
What it is
Section titled “What it is”The offline document cache stores copies of documents on your phone so you can open them with no signal: at a strip with no bars, in a hangar with thick walls, or on a foreign trip with data roaming switched off. It holds two kinds of thing: the syndicate’s ship’s papers, and your own pilot documents (your medical certificate and licence, where you have uploaded them). It is the practical answer to “I need to show the insurance, the radio licence, and my medical to a ramp inspector right now”.
The cache is on iOS and Android only. The web does not have a cache; web is treated as a desk-bound environment where you have a connection.
Who can use it
Section titled “Who can use it”- Every member of a syndicate. The cache is a per-member feature; admins and members alike use it.
- Sharing the device with another member does not share their cache. The cache is keyed to the signed-in account.
Where to find it
Section titled “Where to find it”The toggle and badges live on the document library (Syndicate > Documents). Each section has its own offline state, and each individual document row has its own mark.
Routes are unchanged from the library: /syndicates/:syndicateId/documents.
Reading the per-document mark
Section titled “Reading the per-document mark”Every document row in the library carries a small mark at its right-hand end, just before the chevron, on iOS and Android. It answers a narrower question than the section header does: not “is this section kept offline” but “is this particular file on this device right now”.
| Mark | Announced as | Means |
|---|---|---|
| A tick in a circle | Saved on this device | The file is on the phone. It will open in Aeroplane mode, in a hangar, or abroad with roaming off. |
| An outline of a cloud | Not saved on this device | The file is not on the phone. Opening it needs a connection. |
| A question mark | Offline status unknown | Syndik8 has not been able to read the device’s cache. This is not the same as the file being absent, and is normally gone within a moment of the library opening. |
The mark carries no wording on screen; hover it with a pointer, or read the row with a screen reader, and it announces itself with the wording above.
The badge and the mark can disagree, and the mark is right
Section titled “The badge and the mark can disagree, and the mark is right”A section header showing Available offline and a row inside it showing Not saved on this device is not a contradiction. They answer different questions:
- The badge describes the rule that applies to the section: these documents are kept on the device, no member choice involved.
- The mark describes one file at one moment: it has finished downloading, or it has not.
A document uploaded five minutes ago in an always-cached section is covered by the rule and has not yet arrived on your phone. During that window the badge is honest and the mark is honest.
Believe the mark. It is the one that answers “can I produce this certificate right now with no signal”, which is the only question that matters at a ramp check. If the mark says the file is not on the device and the section is one that should be cached, open the app somewhere with a connection and leave it in the foreground for a moment; downloads run in the background and the mark flips to the tick as each file lands, with no need to reload the screen. Opening a document over the network does not put it in the cache; only the background sync does that.
There is deliberately no “downloading” mark. Syndik8 knows which files have landed, not which are in flight, and a row that claimed to be downloading when the download had quietly failed would be worse than one that honestly said the file was not there.
What gets cached
Section titled “What gets cached”| Section | Behaviour |
|---|---|
| Syndicate-level documents | Always cached. Shown with an Available offline badge. No member choice. |
| Asset documents (single-asset syndicate) | Always cached. Shown with an Available offline badge. No member choice. |
| Asset documents (multi-asset syndicate) | Opt-in per asset. Each asset’s section header carries a switch at its right-hand end, off by default. It has no visible label; a pointer hover or a screen reader announces it as “Cache on this device”. |
| Your own pilot documents (medical, licence) | Always cached, on your own devices only, when a file exists. An uploaded certificate or licence is kept on every device you sign in on; that is the point of uploading it. A medical recorded as an expiry date only has no file, so there is nothing to cache. No other member’s device ever holds your pilot documents. |
The cache holds the whole of each eligible asset’s documents: all of its ARC, insurance, CofA, CofR, radio licence, etc. There is no per-document filter.
How the toggle behaves
Section titled “How the toggle behaves”- Off → On. The next time the app is in the foreground with a connection, it downloads every eligible document in that section.
- On → Off. The cached files for that section are deleted once the change has reached the server and come back down again — a moment or two on a good connection, not instantly, and not at all while you are offline. The switch stays where it was and tells you it could not save if you try it with no connection, so a device you want cleared has to be online to clear it.
- Toggle state is per member, per asset. Your preference follows your account across your devices. Two members of the same syndicate can have different caches.
What “cached” means at the viewer
Section titled “What “cached” means at the viewer”When you open a document:
- If the file is in the cache, it opens instantly, from disk.
- If it isn’t (web, or a section you haven’t opted in to), the viewer fetches it over the network and renders it.
There is no visible difference between the two paths: the same viewer, the same PDF or image renderer. The only difference is whether your phone needs signal. The place to find out which path a document will take is the library row’s mark, before you open it and before you lose signal.
Behaviour rules
Section titled “Behaviour rules”- Cache state follows the library. Adding a new asset document syncs it into every device that has the asset opted in. Replacing a document substitutes the new file in the cache (verified against its updated fingerprint). Deleting a document removes the file from every device’s cache at the next sync.
- Cache size is capped by the documents in the syndicate, not by an arbitrary number. Syndik8 does not impose a cache budget; the cache is whatever the syndicate’s documents add up to. If the cache grows uncomfortable, opt fewer asset sections in.
- Files survive an app restart, a phone restart, and a sign-out. Signing out does not clear the cache. This is deliberate: the copy exists so your papers are available where there is no signal, and a sign-out wipe would defeat that. After sign-out the copies are not viewable in the app, but their bytes remain in the app’s private storage until the document is deleted or the app is uninstalled, so avoid recording personal documents on a shared device (the upload form reminds you of this).
- Leaving a syndicate clears that syndicate’s cache, and only that. The syndicate’s and its assets’ documents are removed from your device at the next sync. Your own pilot documents are unaffected: they belong to you, not to any syndicate.
- Deleting a document removes its cached copy. For your medical, both delete outcomes (delete everything, or delete the file and keep the date) remove the certificate from your device as part of the action.
- The cache only ever holds documents your membership grants you access to, plus your own pilot documents. If you’re removed from a syndicate, the cache for that syndicate is cleared the next time the app syncs.
- No web cache. On a desktop browser, the offline cache is a no-op; there’s no toggle and no badge, and the viewer always fetches over the network. Web is for admin work, mobile is for the airfield.
For a full explanation of what caches and why, see How offline document caching works.