From 34b74960361334db302b72a70de32968e6c59625 Mon Sep 17 00:00:00 2001 From: Zlatin Balevsky Date: Thu, 3 Jun 2021 12:54:00 +0100 Subject: [PATCH] prevent corrupt messages from breaking messenger loading --- .../com/muwire/core/messenger/Messenger.groovy | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/core/src/main/groovy/com/muwire/core/messenger/Messenger.groovy b/core/src/main/groovy/com/muwire/core/messenger/Messenger.groovy index ae62c69b..f60218ce 100644 --- a/core/src/main/groovy/com/muwire/core/messenger/Messenger.groovy +++ b/core/src/main/groovy/com/muwire/core/messenger/Messenger.groovy @@ -123,14 +123,18 @@ class Messenger { Files.walk(file.toPath()) .filter({it.getFileName().toString().endsWith(".mwmessage")}) .forEach { Path path -> - File f = path.toFile() - MWMessage message - f.withInputStream { - message = new MWMessage(it) + try { + File f = path.toFile() + MWMessage message + f.withInputStream { + message = new MWMessage(it) + } + addMessage(message, dest) + File unread = new File(file, deriveUnread(message)) + eventBus.publish(new MessageLoadedEvent(message: message, folder: folder, unread: unread.exists())) + } catch (IOException iox) { + log.warning("couldn't load message from $path" ) } - addMessage(message, dest) - File unread = new File(file, deriveUnread(message)) - eventBus.publish(new MessageLoadedEvent(message : message, folder : folder, unread : unread.exists())) } }