Notifications (mobile)¶
Configure push notifications and the in-app notification feed: task assigned, task due soon, task overdue, repair request updates, shutdown alerts.
Required role
Any mobile-enabled role.
Overview¶
The mobile app surfaces notifications on three paths:
- Push — system push notifications arrive on the device even when the app is backgrounded or closed.
- In-app feed — a persistent list of every notification you've received, accessible even offline.
- Banners — while you have the app open, new events also pop a small banner at the top.
You can enable or disable categories individually, and you can mute push entirely at the OS level if you need to.
Prerequisites¶
- The app is installed, paired, and signed in. See Pairing and setup.
- You granted Notifications permission on first launch (Android 13+) or pre-launch (iOS).
Categories¶
Each category can be toggled on or off per channel:
| Category | Default | Who typically enables |
|---|---|---|
| Task assigned to me | On | Technicians, Mappers |
| Task due soon (1 hr before due) | On | Technicians |
| Task overdue | On | Technicians, their Supervisors |
| Task approved | On | Technicians who just submitted |
| Task rejected | On | Technicians who just submitted |
| New repair request | On | Supervisors, Admins |
| Repair request updated | On | The technician who raised it |
| New shutdown reported | On | Supervisors, Admins |
| Shutdown resolved | On | The technician who reported it |
See Notifications reference for the full list with recipient rules.
Open the notifications feed¶
Tap the bell icon in the top-right of most screens. The feed slides open with the most recent notifications first.
Each item shows:
- Icon / category colour.
- One-line summary.
- Timestamp (relative).
- Unread dot if not yet opened.
Tap a notification to:
- Mark it read.
- Jump to the referenced entity (task, repair request, shutdown).
Change notification preferences¶
In-app¶
Menu → Settings → Notifications. You see the category matrix:
| Category | In-app | Push |
|---|---|---|
| Task assigned | ✅ | ✅ |
| Task due soon | ✅ | ✅ |
| Task overdue | ✅ | ✅ |
| ... | ... | ... |
Toggle individual cells. Save.
At the OS level¶
To silence push entirely without changing the app's own preferences:
Settings → Notifications → Smart Maintenance → toggle Allow notifications off.
Settings → Apps → Smart Maintenance → Notifications → toggle off.
OS-level disable is all-or-nothing. Use the in-app per-category toggles for finer control.
Tapping a notification¶
Deep-links based on category:
| Notification | Taps to |
|---|---|
| Task assigned | The new task's detail screen. |
| Task due soon | Same task. |
| Task overdue | Same task. |
| Task approved | The task in history. |
| Task rejected (deep-link pending) | Opens the notifications list — tap again to navigate. |
| Task escalation (deep-link pending) | Opens the notifications list. |
| Repair request updated (deep-link pending) | Opens the notifications list. |
| New shutdown | The shutdown report. |
| Shutdown resolved | Same shutdown. |
| Export ready (see below) | Opens the notification detail with a copy-to-clipboard link. |
If the app was closed, it opens, signs you in from stored credentials (biometric / PIN if configured), and navigates to the target entity.
Some deep-links are not yet implemented
A handful of notification types — task rejection, escalation, repair request updates — currently open the notifications list rather than jumping to the referenced entity. Tap the item from the list to open the entity. Direct deep-linking for these categories is on the mobile-app roadmap.
Downloading an export from a mobile notification¶
When an async export (from the web portal) finishes, an Export ready push notification arrives on your mobile app. On iOS and Android, the mobile app does not auto-download the file. To retrieve it:
- Tap the notification.
- Copy the download link shown on the notification detail screen.
- Paste the link into a browser on the same device, or email it to yourself to download on a desktop.
Remember the export is single-download and expires after 7 days — once downloaded, the link no longer works for anyone else.
The web portal, by comparison, auto-downloads exports when you tap the equivalent notification. Mobile download parity is on the roadmap.
How push notifications are delivered¶
- When a triggering event happens (task assigned, shutdown reported, etc.), the server sends a push.
- Your device receives it even when the app is backgrounded or closed.
- Android: typically arrives within seconds.
- iOS: seconds to a few minutes, depending on system delivery state.
Push is not guaranteed — treat it as "a helpful nudge". For critical categories (overdue, critical shutdown), the app also updates the in-app feed, which is authoritative.
Real-time banners¶
While the app is foregrounded and connected:
- New assignments, approvals, and shutdowns drop a banner at the top.
- Banners auto-dismiss after ~4 seconds.
- Tap the banner to jump to the entity.
If the connectivity indicator is red, banners don't appear — the feed updates when sync runs.
Notifications while you're offline¶
- Incoming push notifications delivered while you're offline are buffered and typically arrive when you come back online (within a few weeks at most).
- The in-app feed doesn't receive new entries while offline, but backfills from the next sync.
- You always see notifications that were generated while you were offline — just a bit delayed.
Do-not-disturb patterns¶
The app doesn't have a built-in DND. Two patterns work:
- OS quiet hours — iOS Focus / Android Do Not Disturb. Silences push at night. In-app feed still captures.
- Per-category mute — turn off specific noisy categories in Settings → Notifications.
Things to watch for¶
Don't disable "Task assigned"
If you can't see new assignments, the whole point of the mobile workflow breaks. Keep it on.
Use OS quiet hours rather than disabling categories
OS-level DND is reversible automatically in the morning. Per-category disables you might forget about.
Some categories aren't negotiable
Task rejected always shows in-app regardless of your settings — rejecting rework that you don't know about isn't a workable pattern.
Troubleshooting¶
| Problem | Fix |
|---|---|
| Not receiving push | Check OS-level notifications permission; check app-level category toggles; check you're signed in |
| In-app feed empty | May genuinely be empty; or feed hasn't synced — pull-to-refresh |
| Tapping a notification doesn't go anywhere | The referenced entity may have been deleted; feed will update on next sync |
| Push arrives but in-app feed doesn't update | WebSocket may be disconnected; background sync will catch up |
| Delivery feels slow | iOS aggressively batches — normal unless minutes turn to hours |
Related topics¶
- Notifications (web portal) — the browser side.
- Notifications reference — every category with recipient rules.
- Sync and connectivity — how notifications and sync relate.
- Settings
- Working offline