Summary
Watch-initiated delete failures do not trigger a recovery sync, which can leave phone and watch alarm state diverged.
Current behaviour
- On
wear:alarm:delete, failures are only logged.
- No
emit_sync_needed(..., ForceSync) is sent on delete failure.
Expected behaviour
When a watch delete operation fails, the app should request a ForceSync so watch and phone state reconverge.
Impact
- Watch can keep showing alarms that failed to delete on phone.
- Divergence can persist until a manual sync or unrelated later event.
Evidence
apps/threshold/src-tauri/src/lib.rs:238
- Save path does trigger recovery sync:
apps/threshold/src-tauri/src/lib.rs:199
Suggested fix
Mirror the save failure path: emit SyncReason::ForceSync after delete failure.
Summary
Watch-initiated delete failures do not trigger a recovery sync, which can leave phone and watch alarm state diverged.
Current behaviour
wear:alarm:delete, failures are only logged.emit_sync_needed(..., ForceSync)is sent on delete failure.Expected behaviour
When a watch delete operation fails, the app should request a ForceSync so watch and phone state reconverge.
Impact
Evidence
apps/threshold/src-tauri/src/lib.rs:238apps/threshold/src-tauri/src/lib.rs:199Suggested fix
Mirror the save failure path: emit
SyncReason::ForceSyncafter delete failure.