瀏覽代碼

add back proper error handling

covalent 2 年之前
父節點
當前提交
67c7a5a2ff
共有 1 個文件被更改,包括 8 次插入0 次删除
  1. 8 0
      mobile/lib/shared/ui/immich_image.dart

+ 8 - 0
mobile/lib/shared/ui/immich_image.dart

@@ -8,6 +8,7 @@ import 'package:immich_mobile/shared/models/store.dart';
 import 'package:immich_mobile/utils/image_url_builder.dart';
 import 'package:photo_manager/photo_manager.dart';
 import 'package:openapi/api.dart' as api;
+import 'package:flutter_cache_manager/flutter_cache_manager.dart';
 
 /// Renders an Asset using local data if available, else remote data
 class ImmichImage extends StatelessWidget {
@@ -120,6 +121,13 @@ class ImmichImage extends StatelessWidget {
       fit: fit,
       placeholder: placeholderWidget,
       errorBuilder: (context, error) {
+        if (error is HttpExceptionWithStatus &&
+            error.statusCode >= 400 &&
+            error.statusCode < 500) {
+          debugPrint(
+              "Evicting thumbnail '$thumbnailRequestUrl' from cache: $error");
+          CachedNetworkImage.evictFromCache(thumbnailRequestUrl);
+        }
         return Icon(
           Icons.image_not_supported_outlined,
           color: Theme.of(context).primaryColor,