Skip to content

Commit 4c56ba4

Browse files
committed
fix: timestamp null pointer
1 parent c2f43e7 commit 4c56ba4

File tree

1 file changed

+14
-22
lines changed

1 file changed

+14
-22
lines changed

core/src/commonMain/kotlin/com/powersync/db/PowerSyncDatabaseImpl.kt

Lines changed: 14 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -279,28 +279,20 @@ internal class PowerSyncDatabaseImpl(
279279
}
280280

281281
private suspend fun updateHasSynced() {
282-
try {
283-
data class SyncedAt(
284-
val syncedAt: String?,
285-
)
286-
// Query the database to see if any data has been synced
287-
val timestamp =
288-
internalDb
289-
.getOptional("SELECT powersync_last_synced_at() as synced_at", null) { cursor ->
290-
SyncedAt(syncedAt = cursor.getStringOptional("synced_at"))
291-
}?.syncedAt
292-
val hasSynced = timestamp != null
293-
if (hasSynced != currentStatus.hasSynced) {
294-
val formattedDateTime = "${timestamp!!.replace(" ","T").toLocalDateTime()}Z"
295-
val lastSyncedAt = Instant.parse(formattedDateTime)
296-
currentStatus.update(hasSynced = hasSynced, lastSyncedAt = lastSyncedAt)
297-
}
298-
} catch (e: Exception) {
299-
if (e is NullPointerException) {
300-
// No data has been synced which results in a null pointer exception
301-
// and can be safely ignored.
302-
return
303-
}
282+
data class SyncedAt(
283+
val syncedAt: String?,
284+
)
285+
// Query the database to see if any data has been synced
286+
val timestamp =
287+
internalDb
288+
.getOptional("SELECT powersync_last_synced_at() as synced_at", null) { cursor ->
289+
SyncedAt(syncedAt = cursor.getStringOptional("synced_at"))
290+
}?.syncedAt
291+
val hasSynced = timestamp != null
292+
if (currentStatus.hasSynced != null && hasSynced != currentStatus.hasSynced) {
293+
val formattedDateTime = "${timestamp!!.replace(" ","T").toLocalDateTime()}Z"
294+
val lastSyncedAt = Instant.parse(formattedDateTime)
295+
currentStatus.update(hasSynced = hasSynced, lastSyncedAt = lastSyncedAt)
304296
}
305297
}
306298

0 commit comments

Comments
 (0)