Merge pull request #580 from ente-io/fix_cache_invalidation

Fix cache invalidation
This commit is contained in:
Vishnu Mohandas 2022-10-18 13:32:52 +05:30 committed by GitHub
commit a9e1ab83bd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 43 additions and 25 deletions

View file

@ -112,10 +112,11 @@ Future<void> _runInBackground(String taskId) async {
// https://stackoverflow.com/a/73796478/546896
@pragma('vm:entry-point')
void _headlessTaskHandler(HeadlessTask task) {
print("_headlessTaskHandler");
if (task.timeout) {
BackgroundFetch.finish(task.taskId);
} else {
_runInBackground(task.taskId);
_runBackgroundTask(task.taskId);
}
}

View file

@ -10,6 +10,7 @@ import 'package:photos/db/file_updation_db.dart';
import 'package:photos/db/files_db.dart';
import 'package:photos/models/file.dart' as ente;
import 'package:photos/utils/file_uploader_util.dart';
import 'package:photos/utils/file_util.dart';
import 'package:shared_preferences/shared_preferences.dart';
// LocalFileUpdateService tracks all the potential local file IDs which have
@ -106,6 +107,7 @@ class LocalFileUpdateService {
_logger.info(
"Marking for file update as hash did not match ${file.tag}",
);
await clearCache(file);
await FilesDB.instance.updateUploadedFile(
file.localID,
file.title,

View file

@ -578,6 +578,7 @@ class RemoteSyncService {
// Case [1] Check and clear local cache when uploadedFile already exist
existingFile = await _db.getFile(remoteDiff.generatedID);
if (_shouldClearCache(remoteDiff, existingFile)) {
needsGalleryReload = true;
await clearCache(remoteDiff);
}
}

View file

@ -35,7 +35,7 @@ packages:
name: async
url: "https://pub.dartlang.org"
source: hosted
version: "2.9.0"
version: "2.8.2"
background_fetch:
dependency: "direct main"
description:
@ -63,28 +63,35 @@ packages:
name: cached_network_image
url: "https://pub.dartlang.org"
source: hosted
version: "3.2.2"
version: "3.2.1"
cached_network_image_platform_interface:
dependency: transitive
description:
name: cached_network_image_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
version: "1.0.0"
cached_network_image_web:
dependency: transitive
description:
name: cached_network_image_web
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.2"
version: "1.0.1"
characters:
dependency: transitive
description:
name: characters
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.1"
version: "1.2.0"
charcode:
dependency: transitive
description:
name: charcode
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.1"
chewie:
dependency: "direct main"
description:
@ -98,7 +105,7 @@ packages:
name: clock
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.1"
version: "1.1.0"
collection:
dependency: "direct main"
description:
@ -266,21 +273,21 @@ packages:
name: extended_image
url: "https://pub.dartlang.org"
source: hosted
version: "6.3.1"
version: "6.2.1"
extended_image_library:
dependency: transitive
description:
name: extended_image_library
url: "https://pub.dartlang.org"
source: hosted
version: "3.4.0"
version: "3.3.0"
fake_async:
dependency: transitive
description:
name: fake_async
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.1"
version: "1.3.0"
fast_base58:
dependency: "direct main"
description:
@ -472,7 +479,7 @@ packages:
name: flutter_native_splash
url: "https://pub.dartlang.org"
source: hosted
version: "2.2.10+1"
version: "2.2.9"
flutter_password_strength:
dependency: "direct main"
description:
@ -658,6 +665,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.5"
lint:
dependency: transitive
description:
name: lint
url: "https://pub.dartlang.org"
source: hosted
version: "1.10.0"
lints:
dependency: transitive
description:
@ -692,37 +706,37 @@ packages:
name: lottie
url: "https://pub.dartlang.org"
source: hosted
version: "1.4.3"
version: "1.4.2"
matcher:
dependency: transitive
description:
name: matcher
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.12"
version: "0.12.11"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.5"
version: "0.1.4"
media_extension:
dependency: "direct main"
description:
path: "."
ref: HEAD
resolved-ref: "8f70825a6384ccca750302430ba590a6059a2b3a"
resolved-ref: "68ffdad3db713b630e0d52edc2a45d23b438de6e"
url: "https://github.com/ente-io/media_extension.git"
source: git
version: "0.0.1"
version: "0.0.3"
meta:
dependency: transitive
description:
name: meta
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.0"
version: "1.7.0"
mime:
dependency: transitive
description:
@ -829,7 +843,7 @@ packages:
name: path
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.2"
version: "1.8.1"
path_drawing:
dependency: transitive
description:
@ -1114,7 +1128,7 @@ packages:
name: source_span
url: "https://pub.dartlang.org"
source: hosted
version: "1.9.0"
version: "1.8.2"
sprintf:
dependency: transitive
description:
@ -1128,7 +1142,7 @@ packages:
name: sqflite
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
version: "2.0.3+1"
sqflite_common:
dependency: transitive
description:
@ -1170,7 +1184,7 @@ packages:
name: string_scanner
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.1"
version: "1.1.0"
syncfusion_flutter_core:
dependency: "direct main"
description:
@ -1198,14 +1212,14 @@ packages:
name: term_glyph
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.1"
version: "1.2.0"
test_api:
dependency: transitive
description:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.12"
version: "0.4.9"
timezone:
dependency: transitive
description:
@ -1431,5 +1445,5 @@ packages:
source: hosted
version: "3.1.1"
sdks:
dart: ">=2.18.0 <3.0.0"
flutter: ">=3.3.0"
dart: ">=2.17.0 <3.0.0"
flutter: ">=3.0.0"