Features / Support & admin

Pending sync

Shows offline changes still waiting to be sent to the server, grouped by type with attempt counts.

FactsheetSupport & admin
Who uses it
CadreUnit In-Charge / FMT L1
How you get here
Sync icon on the Home bottom bar, or Check Sync in the device-conflict dialog.
APIs
0 calls today, 8 App Service operations
Offline
Fully offline; reads the Bridge sync queue.

Screens

ScreenWhat it doesSource
Pending SyncSectioned list of queued operations.app/src/main/java/org/platformcommons/urvi/view/pendingsync/PendingSyncActivity.kt

Rules

Conditions from the code, rewritten as plain decision rules.

WhenThen
The screen opensList queued, not-yet-evaluated operations for the current account, grouped by operation type with a count.
An operation's URL is in the readable-name mapShow its name (e.g. "Add Farmer", "Add Portfolio Line Item", "Delete Compact Block").
An operation's URL is not mappedShow "Unknown Operation".
The queue is emptyShow "Everything synced and backed up".

API contracts

Each call opens to its use case, headers, request and response bodies, and errors.

App Service v2: operationUse
POST /auth/refreshRotate the refresh token
GET /farmers/changesDelta sync: upserts and tombstones since a cursor
POST /sync/batchApply an ordered batch of offline mutations
GET /sync/batches/{batchId}Status of an asynchronously processed batch
POST /filesCreate a file upload (resumable or single-shot)
PATCH /files/{fileId}Append a chunk to a resumable upload
HEAD /files/{fileId}Current offset of a resumable upload
POST /telemetryScreen events and sync-health counters (no PII)

Behaviour notes

  • Each row shows URL, next attempt time, attempt count and created time.
  • The queue lives in the Bridge CoreAPI database, not the app's Room database.
  • Possible bug · unverified the list is a one-time snapshot and does not refresh while sync runs.

Improve in the rewrite

  • Make the list live and show per-item errors in plain language.
  • Show the farmer each item belongs to instead of raw URLs.