Overview
Offline Sync enables stewards, show secretaries, and officials to keep running the day — scratching entries, updating registration statuses, and entering dressage scores — even when internet connectivity is unavailable, such as in rural showgrounds or areas with unreliable mobile coverage. Changes made offline are automatically synchronised to Horsify when connectivity is restored.
The feature was delivered in two phases:
- Phase 1: Background data worker pre-fetches event data for offline use
- Phase 2: Conflict detection, entry caching, and a full scratch management flow
Who Uses This
- Stewards & Ring Officials: Mark scratches and enter dressage scores at the ring without connectivity
- Show Secretaries: Continue updating registration statuses during connectivity outages
- Organisers: Ensure event operations are not disrupted by poor rural internet
How It Works
Phase 1 — Data Pre-Fetch
Before an event starts, Horsify's offline sync worker pre-downloads:
- All accepted registrations and entries
- Participant names and horse details
- Class and session schedules
- Scratch status for each entry
This data is stored locally in the browser so it remains available without a network connection.
Phase 2 — Offline Operations
When offline, users can:
| Action | Offline Support |
|---|---|
| View entry list | ✅ Available |
| Scratch or withdraw an entry | ✅ Queued for sync |
| Update a registration's status | ✅ Queued for sync |
| Enter dressage scores | ✅ Queued for sync |
| Check in a participant | ❌ Not supported offline |
| Add a new entry | ❌ Not supported offline |
| Take a new payment | ❌ Requires connectivity |
Conflict Detection
When connectivity is restored and changes are synced, the system detects conflicts — for example, if the same entry was scratched by two different stewards while offline. Conflicts are surfaced for manual resolution before being committed to the database.
Scratch Flow
The offline scratch flow mirrors the online experience:
- Locate the entry in the cached entry list
- Select Scratch and confirm
- The scratch is queued locally with a timestamp
- On reconnect, all queued scratches are synced and conflict-checked
Connectivity Indicator
The Horsify interface displays a connectivity banner when operating in offline mode, and a sync progress indicator when uploading queued changes.
Requirements
- Modern browser with IndexedDB support (Chrome 90+, Firefox 88+, Safari 14+)
- The event must have been opened or accessed while online to pre-cache data
- Offline changes sync automatically when connectivity returns — no manual action required
Related Features
- View Registrations — Full online registration management
-
Event Results Management — Post-event results entry\n\n---\n\nSource:
wiki/features/OFFLINE_SYNC.md\nLast synced: 2026-09-07 11:49:54 UTC