fix: show missing local assets only in timeline with partner sharing (#20298)

fix: show missing local assets in timeline with partner sharing

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
This commit is contained in:
shenlong 2025-07-29 20:35:04 +05:30 committed by GitHub
parent 3b5e00131b
commit e6ec019852
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 6 additions and 5 deletions

View File

@ -29,7 +29,7 @@ LEFT JOIN
WHERE
rae.deleted_at IS NULL
AND rae.visibility = 0 -- timeline visibility
AND rae.owner_id in ?
AND rae.owner_id IN :user_ids
AND (
rae.stack_id IS NULL
OR rae.id = se.primary_asset_id
@ -57,7 +57,7 @@ SELECT
FROM
local_asset_entity lae
WHERE NOT EXISTS (
SELECT 1 FROM remote_asset_entity rae WHERE rae.checksum = lae.checksum
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
@ -85,7 +85,7 @@ FROM
WHERE
rae.deleted_at IS NULL
AND rae.visibility = 0 -- timeline visibility
AND rae.owner_id in ?
AND rae.owner_id in :user_ids
AND (
rae.stack_id IS NULL
OR rae.id = se.primary_asset_id
@ -103,6 +103,7 @@ FROM
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
)
GROUP BY bucket_date

View File

@ -41,7 +41,7 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
}
return _db.mergedAssetDrift
.mergedBucket(userIds, groupBy: groupBy.index)
.mergedBucket(userIds: userIds, groupBy: groupBy.index)
.map((row) {
final date = row.bucketDate.dateFmt(groupBy);
return TimeBucket(date: date, assetCount: row.assetCount);
@ -52,7 +52,7 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
Future<List<BaseAsset>> _getMainBucketAssets(List<String> userIds, {required int offset, required int count}) {
return _db.mergedAssetDrift
.mergedAsset(userIds, limit: (_) => Limit(count, offset))
.mergedAsset(userIds: userIds, limit: (_) => Limit(count, offset))
.map(
(row) => row.remoteId != null && row.ownerId != null
? RemoteAsset(