immich/mobile/lib
Santo Shakil a490cea1c4
fix(mobile): dedupe stale remote_asset rows on sync (#28445)
* fix(mobile): dedupe stale remote_asset rows on sync

queue a pre-delete on the matching partial-index tuple before each
upsert in updateAssetsV1/V2 so the second insert does not crash on
SqliteException(2067) when the server re-issues a new id for the
same (ownerId, checksum). closes #22522 #27186.

* run the dedupe deletes before the inserts and keep only the last duplicate per payload

* switch the asset upsert to insert or replace

* trim the dedupe tests to the essentials
2026-08-21 11:13:48 +00:00
..
constants chore(mobile): more complicated Freezed pass (#30452) 2026-08-10 14:12:45 -07:00
domain chore(mobile): use Drift @DriftAccessor() and collapse some providers (#30693) 2026-08-17 14:43:32 -07:00
entities refactor: yeet old timeline (#27666) 2026-04-15 23:00:27 +05:30
extensions chore: migrate mobile translations accessor (5) (#30672) 2026-08-11 14:41:13 +05:30
infrastructure fix(mobile): dedupe stale remote_asset rows on sync (#28445) 2026-08-21 11:13:48 +00:00
interfaces
mixins
models chore: more dart lints (#30665) 2026-08-15 16:55:45 +05:30
pages chore(mobile): use Drift @DriftAccessor() and collapse some providers (#30693) 2026-08-17 14:43:32 -07:00
presentation feat: actions undo handling (#30481) 2026-08-19 00:06:57 +05:30
providers chore(mobile): use Drift @DriftAccessor() and collapse some providers (#30693) 2026-08-17 14:43:32 -07:00
repositories fix(mobile): resend an upload once when the connection dies before a response (#30843) 2026-08-18 22:38:52 +06:00
routing chore: more dart lints (#30665) 2026-08-15 16:55:45 +05:30
services fix(mobile): cannot deep link to memory lane (#30634) (#30787) 2026-08-18 18:37:15 +00:00
theme chore(mobile): Apply stricter linting rules for formatting (#30370) 2026-07-30 08:56:46 +00:00
utils feat: cluster groups (#30739) 2026-08-20 20:03:00 +02:00
widgets chore(mobile): use Drift @DriftAccessor() and collapse some providers (#30693) 2026-08-17 14:43:32 -07:00
main.dart feat: actions undo handling (#30481) 2026-08-19 00:06:57 +05:30
wm_executor.dart chore(mobile): Apply stricter linting rules for correctness (#30372) 2026-07-30 19:39:24 +00:00