From 561d3a4ed8ac4039b7b38265cfa59e731754a400 Mon Sep 17 00:00:00 2001 From: soraefir Date: Wed, 9 Sep 2026 00:36:20 +0200 Subject: [PATCH] Avoid deletion of non-synced bills --- .../helcel/cowspent/persistence/CowspentServerSyncHelper.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/src/main/java/net/helcel/cowspent/persistence/CowspentServerSyncHelper.kt b/app/src/main/java/net/helcel/cowspent/persistence/CowspentServerSyncHelper.kt index ab4ac3b..06fbb98 100644 --- a/app/src/main/java/net/helcel/cowspent/persistence/CowspentServerSyncHelper.kt +++ b/app/src/main/java/net/helcel/cowspent/persistence/CowspentServerSyncHelper.kt @@ -976,6 +976,10 @@ class CowspentServerSyncHelper private constructor(private val dbHelper: Cowspen } for (localBill in localBills) { + // A bill still waiting to be pushed has no remote id yet, so it is absent from the + // server list for the ordinary reason that the server has never seen it. Deleting + // it here would throw away a bill the user added while the sync was running. + if (localBill.state != DBBill.STATE_OK) continue if (localBill.remoteId !in stillRemote) { dbHelper.deleteBill(localBill.id) nbPulledDeletedBills++