From 8670a6db9c7b937f131d8cd3543be71b96e18b31 Mon Sep 17 00:00:00 2001 From: guo Date: Tue, 8 Nov 2022 17:10:11 +0800 Subject: [PATCH] update thumbnail download try times --- lib/common/chat/chat.dart | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/common/chat/chat.dart b/lib/common/chat/chat.dart index 798f7abf9..25901a27c 100644 --- a/lib/common/chat/chat.dart +++ b/lib/common/chat/chat.dart @@ -795,7 +795,7 @@ class ChatCommon with Tag { return message; } - Future tryDownloadIpfsThumbnail(MessageSchema message) async { + Future tryDownloadIpfsThumbnail(MessageSchema message, {int tryTimes = 0}) async { String? ipfsHash = MessageOptions.getIpfsThumbnailHash(message.options); if (ipfsHash == null || ipfsHash.isEmpty) { logger.e("$TAG - tryDownloadIpfsThumbnail - ipfsHash is empty - message:$message"); @@ -835,7 +835,12 @@ class ChatCommon with Tag { message.options = MessageOptions.setIpfsThumbnailState(message.options, MessageOptions.ipfsThumbnailStateNo); await MessageStorage.instance.updateOptions(message.msgId, message.options); _onUpdateSink.add(message); - _onIpfsUpOrDownload(message.msgId, "THUMBNAIL", false, false); // await + _onIpfsUpOrDownload(message.msgId, "THUMBNAIL", false, false).then((value) { + if (tryTimes >= 2) return; // try 3 times + Future.delayed(Duration(seconds: 3)).then((value) { + tryDownloadIpfsThumbnail(message, tryTimes: tryTimes + 1); + }); + }); // await }, ); return message;