From 39fce2a7b89696ae237e0f4af47a094519e0571c Mon Sep 17 00:00:00 2001 From: zenith <157907903+RFnexus@users.noreply.github.com> Date: Sat, 28 Mar 2026 18:32:18 -0400 Subject: [PATCH] Fix for invalid message signatures after index failes to write --- nomadnet/ui/textui/Conversations.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/nomadnet/ui/textui/Conversations.py b/nomadnet/ui/textui/Conversations.py index c0a576e..e68f3c2 100644 --- a/nomadnet/ui/textui/Conversations.py +++ b/nomadnet/ui/textui/Conversations.py @@ -9,6 +9,7 @@ import urwid from datetime import datetime, timedelta from nomadnet.Directory import DirectoryEntry +from nomadnet.Conversation import ConversationMessage def relative_time(timestamp): @@ -1247,14 +1248,25 @@ class ConversationWidget(urwid.WidgetWrap): self.updating_message_widgets = True self.message_widgets = [] added_hashes = [] + needs_index = [] for message in self.conversation.messages: message_hash = message.get_hash() if not message_hash in added_hashes: added_hashes.append(message_hash) + was_loaded = message.loaded message_widget = LXMessageWidget(message) self.message_widgets.append(message_widget) + if not was_loaded and message.loaded: + needs_index.append(message) message.unload() + if needs_index: + try: + ConversationMessage.write_index( + self.conversation.messages_path, needs_index) + except Exception: + pass + if self.sort_by_timestamp: self.message_widgets.sort(key=lambda m: m.timestamp, reverse=False) else: