From da5deffd03797b28a15380251217ea720dbe528b Mon Sep 17 00:00:00 2001 From: shenlong <139912620+shenlong-tanwen@users.noreply.github.com> Date: Wed, 30 Jul 2025 20:46:23 +0530 Subject: [PATCH] fix: exclude assets from excluded albumbs on main timeline (#20425) Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> --- .../entities/merged_asset.drift | 28 +++++++++++------- .../entities/merged_asset.drift.dart | Bin 7452 -> 7835 bytes 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/mobile/lib/infrastructure/entities/merged_asset.drift b/mobile/lib/infrastructure/entities/merged_asset.drift index 579323d64..d1377f668 100644 --- a/mobile/lib/infrastructure/entities/merged_asset.drift +++ b/mobile/lib/infrastructure/entities/merged_asset.drift @@ -64,6 +64,11 @@ AND EXISTS ( INNER JOIN local_album_entity la on laa.album_id = la.id WHERE laa.asset_id = lae.id AND la.backup_selection = 0 -- selected ) +AND NOT EXISTS ( + SELECT 1 FROM local_album_asset_entity laa + INNER JOIN local_album_entity la on laa.album_id = la.id + WHERE laa.asset_id = lae.id AND la.backup_selection = 2 -- excluded +) ORDER BY created_at DESC LIMIT $limit; @@ -95,16 +100,19 @@ FROM lae.created_at FROM local_asset_entity lae - LEFT JOIN - remote_asset_entity rae ON rae.checksum = lae.checksum - LEFT JOIN - local_album_asset_entity laa ON laa.asset_id = lae.id - LEFT JOIN - local_album_entity la ON la.id = laa.album_id - WHERE - rae.id IS NULL - AND rae.owner_id IN :user_ids - AND la.backup_selection = 0 -- selected + WHERE NOT EXISTS ( + SELECT 1 FROM remote_asset_entity rae WHERE rae.checksum = lae.checksum AND rae.owner_id IN :user_ids + ) + AND EXISTS ( + SELECT 1 FROM local_album_asset_entity laa + INNER JOIN local_album_entity la on laa.album_id = la.id + WHERE laa.asset_id = lae.id AND la.backup_selection = 0 -- selected + ) + AND NOT EXISTS ( + SELECT 1 FROM local_album_asset_entity laa + INNER JOIN local_album_entity la on laa.album_id = la.id + WHERE laa.asset_id = lae.id AND la.backup_selection = 2 -- excluded + ) ) GROUP BY bucket_date ORDER BY bucket_date DESC; diff --git a/mobile/lib/infrastructure/entities/merged_asset.drift.dart b/mobile/lib/infrastructure/entities/merged_asset.drift.dart index 9916ec13bb119d984c8846beb1de929d828f4626..5a091c349c83f3ae85ccee60c2c2920d353b4a57 100644 GIT binary patch delta 60 zcmbPZHQRQ>2To>3KbOe|Iix2?b53G3+We057VG3{X5P)$__r`^-os(Sh^&CgNOSXI H;Yv;bscaP> delta 149 zcmbPjJI89n2hPolxo)sB+HbBFILO51r!aY=xbWon92`vkev|)j$a2DE zCi8MBf&}xq#92UslN&fy)b%n`6l@i85)<_jbCODP