diff --git a/lib/pages/archive.dart b/lib/pages/archive.dart index f9ec56dc1..21d23706d 100644 --- a/lib/pages/archive.dart +++ b/lib/pages/archive.dart @@ -16,7 +16,7 @@ class ArchiveController extends State { Future> getArchive(BuildContext context) async { if (archive != null) return archive; - return await Matrix.of(context).client.archive; + return await Matrix.of(context).client.loadArchive(); } void forgetAction(int i) => setState(() => archive.removeAt(i)); diff --git a/lib/utils/matrix_sdk_extensions.dart/event_extension.dart b/lib/utils/matrix_sdk_extensions.dart/event_extension.dart index 79756a45e..2eb7916ba 100644 --- a/lib/utils/matrix_sdk_extensions.dart/event_extension.dart +++ b/lib/utils/matrix_sdk_extensions.dart/event_extension.dart @@ -80,7 +80,7 @@ extension LocalizedBody on Event { return true; } // check if the url is cached - final url = Uri.parse(mxcUrl).getDownloadLink(room.client); + final url = mxcUrl.getDownloadLink(room.client); final file = await DefaultCacheManager().getFileFromCache(url.toString()); return file != null; } @@ -88,7 +88,7 @@ extension LocalizedBody on Event { Future downloadAndDecryptAttachmentCached( {bool getThumbnail = false}) async { final mxcUrl = attachmentOrThumbnailMxcUrl(getThumbnail: getThumbnail); - _downloadAndDecryptFutures[mxcUrl] ??= downloadAndDecryptAttachment( + _downloadAndDecryptFutures[mxcUrl.toString()] ??= downloadAndDecryptAttachment( getThumbnail: getThumbnail, downloadCallback: (Uri url) async { final file = await DefaultCacheManager().getSingleFile(url.toString()); diff --git a/lib/utils/matrix_sdk_extensions.dart/flutter_matrix_hive_database.dart b/lib/utils/matrix_sdk_extensions.dart/flutter_matrix_hive_database.dart index 8a51c7a01..fd5c7284d 100644 --- a/lib/utils/matrix_sdk_extensions.dart/flutter_matrix_hive_database.dart +++ b/lib/utils/matrix_sdk_extensions.dart/flutter_matrix_hive_database.dart @@ -118,20 +118,22 @@ class FlutterMatrixHiveStore extends FamedlySdkHiveDatabase { } @override - Future getFile(String mxcUri) async { + Future getFile(Uri mxcUri) async { if (!supportsFileStoring) return null; final tempDirectory = await _getFileStoreDirectory(); - final file = File('$tempDirectory/${Uri.encodeComponent(mxcUri)}'); + final file = + File('$tempDirectory/${Uri.encodeComponent(mxcUri.toString())}'); if (await file.exists() == false) return null; final bytes = await file.readAsBytes(); return bytes; } @override - Future storeFile(String mxcUri, Uint8List bytes, int time) async { + Future storeFile(Uri mxcUri, Uint8List bytes, int time) async { if (!supportsFileStoring) return null; final tempDirectory = await _getFileStoreDirectory(); - final file = File('$tempDirectory/${Uri.encodeComponent(mxcUri)}'); + final file = + File('$tempDirectory/${Uri.encodeComponent(mxcUri.toString())}'); if (await file.exists()) return; await file.writeAsBytes(bytes); return; diff --git a/lib/utils/room_send_file_extension.dart b/lib/utils/room_send_file_extension.dart index 3035e058a..b8913134e 100644 --- a/lib/utils/room_send_file_extension.dart +++ b/lib/utils/room_send_file_extension.dart @@ -21,7 +21,7 @@ import 'package:matrix/matrix.dart'; import 'resize_image.dart'; extension RoomSendFileExtension on Room { - Future sendFileEventWithThumbnail( + Future sendFileEventWithThumbnail( MatrixFile file, { String txid, Event inReplyTo, diff --git a/lib/widgets/event_content/image_bubble.dart b/lib/widgets/event_content/image_bubble.dart index 15486b90a..72fafc185 100644 --- a/lib/widgets/event_content/image_bubble.dart +++ b/lib/widgets/event_content/image_bubble.dart @@ -265,7 +265,8 @@ class _ImageBubbleState extends State { : widget.event.thumbnailMxcUrl; final mimetype = getMimetype(!isOriginal); if (_contentRenderers.containsKey(mimetype)) { - return _contentRenderers[mimetype].memory(_displayFile.bytes, key); + return _contentRenderers[mimetype] + .memory(_displayFile.bytes, key.toString()); } else { return Image.memory( _displayFile.bytes,