Android edits could stay pending after pull-to-refresh because content always queued and refresh only pulled. Save online when reachable, force-flush the outbox on refresh and resume, and surface retry/error details so Web sees Android changes again.
Related Issue: #185
Unsynced notes used local temporary IDs while multi-select delete only
called the remote API, so empty notes could not be removed and failed
silently. Delete local-only notes offline, soft-delete remotes after
API success, remap multi-select IDs, and surface delete errors.
Refs #184
Give Web, desktop, and mobile the same product-baseline conflict recovery:
copy the local draft, then adopt the cloud version and rehydrate, instead of
telling users to reload while durable local conflict state remains.