Offline mode
How the app works without internet, including with several organizations
What works offline
Taskloc is designed so that the main operations on tasks work even without internet.
| Feature | Offline |
|---|---|
| Viewing tasks (from the cache) | Yes |
| Commenting on a task | Yes (queued) |
| Changing the status | Yes (queued) |
| GPS tracking (start/stop) | Yes (queued) |
| Uploading attachments | Yes (queued) |
| Timer | Yes (queued) |
| Searching loaded tasks | Yes |
| Finding a task by number in the tracker | No |
| Switching the organization | Yes (see below) |
| Voice commands | Yes (after downloading the model, if one is needed) |
| Creating a task | No |
| Route list | No |
| My mileage | No |
| Refreshing the task list | No |
How the queue works
When you do something offline (leave a comment, stop tracking, upload a file), the app:
- Saves the action to a local queue on the device.
- Shows the result in the UI as if the action were done.
- Once the connection is back, automatically sends all pending operations to Redmine and to the Taskloc server.
The queue is durable: no data is lost, even if you close the app or restart the phone.
Task cache
The task list is cached locally. Offline, you see the last loaded state. There is no "cache is stale" label — the app quietly works with what it has.
The cache is refreshed when:
- You open the app (if there is a network).
- You pull to refresh.
- You switch a filter chip.
Multiple organizations offline
If you work in several organizations, you can switch between them without internet too — just as online: pick an organization, and the task list is rebuilt immediately. Offline, the organization picker shows a hint: switching works, but invitations and connecting a tracker do not.
- Tasks of another organization are shown from the phone's memory — if you have already opened that organization on this device.
- For an organization you have never opened on this phone, there is nothing to show offline — the screen says so: "This organization has never been opened on this device — there is nothing to show offline." Go online to load its tasks.
- The server learns about your choice once the network is back. Until the choice is synced, an icon is shown next to the organization name, and the picker says "The choice made on … is not synced with the server yet". If you switched several times, the last choice wins.
- A session does not move to another organization. A GPS session started offline remembers the organization at the moment it started — switching later does not redirect it.
Routes and reports — online only
The Routes and My mileage sections and other aggregates require internet. Without a connection, a No connection banner appears. This is intentional: routes and mileage are server data, and no local cache is kept so that stale data is never shown.
Session expired
If your authorization token has expired (you were offline for a long time), the app tries to re-authorize automatically once the network is back — without asking for a password. If that fails (for example, your Redmine password has changed), a "Taskloc session expired" banner appears with a Sign in button. All accumulated GPS tracks and queued operations are kept on the device and are sent after you sign in.