From 4defa9775ec2079a84416cd651ee024473a410ee Mon Sep 17 00:00:00 2001
From: Nico Alt <nicoalt@posteo.org>
Date: Sat, 18 Jul 2020 12:15:37 -0400
Subject: [PATCH] Don't expect messages to always have text

Some messages are notices that don't carry any text (responses to forum invitations for example).

```
Traceback (most recent call last):
  File "/usr/share/briar-gtk/briar_gtk/containers/private_chat.py", line 101, in _add_message
    message_widget = PrivateMessageWidget(self._contact_name, message)
  File "/usr/share/briar-gtk/briar_gtk/widgets/private_message.py", line 18, in __init__
    self._setup_view(contact_name, message)
  File "/usr/share/briar-gtk/briar_gtk/widgets/private_message.py", line 34, in _setup_view
    message["text"])
KeyError: 'text'
```

Fixes #56.
---
 briar-gtk/briar_gtk/containers/private_chat.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/briar-gtk/briar_gtk/containers/private_chat.py b/briar-gtk/briar_gtk/containers/private_chat.py
index cac2453..bea6ab7 100644
--- a/briar-gtk/briar_gtk/containers/private_chat.py
+++ b/briar-gtk/briar_gtk/containers/private_chat.py
@@ -98,9 +98,15 @@ class PrivateChatContainer(Container):
         self._signals.append(signal_id)
 
     def _add_message(self, message):
+        if self._is_not_message(message):
+            return
         message_widget = PrivateMessageWidget(self._contact_name, message)
         self._messages_box.add(message_widget)
 
+    @staticmethod
+    def _is_not_message(message):
+        return "text" not in message
+
     def _add_message_async(self, message):
         if message["data"]["contactId"] == self._contact_id:
             GLib.idle_add(self._add_message_and_scroll, message["data"])
-- 
GitLab