From 22582cab42d6bd230af0bbcd9e2767f6612d65cc Mon Sep 17 00:00:00 2001 From: FraSharp Date: Wed, 16 Feb 2022 22:30:07 +0100 Subject: [PATCH] arigram: use sender_id instead of sender * it thrown a KeyError which lead the whole UI not to render. Stacktrace: GNU nano 6.1 .local/share/arigram/error.log ERROR [2022-02-16 21:43:03,216] controllers.py:922 - draw | Error happened in draw loop Traceback (most recent call last): File /Users/francescoduca/.local/src/arigram/arigram/controllers.py, line 920, in draw fun() File /Users/francescoduca/.local/src/arigram/arigram/controllers.py, line 913, in _resize self._render() File /Users/francescoduca/.local/src/arigram/arigram/controllers.py, line 940, in _render self._render_chats() File /Users/francescoduca/.local/src/arigram/arigram/controllers.py, line 957, in _render_chats self.view.chats.draw(selected_chat, chats, self.model.chats.title) File /Users/francescoduca/.local/src/arigram/arigram/views.py, line 234, in draw last_msg_sender, last_msg = self._get_last_msg_data(chat) File /Users/francescoduca/.local/src/arigram/arigram/views.py, line 267, in _get_last_msg_data user, last_msg = get_last_msg(chat, self.model.users) File /Users/francescoduca/.local/src/arigram/arigram/views.py, line 631, in get_last_msg last_msg[sender].get(user_id), KeyError: 'sender' Signed-off-by: FraSharp --- arigram/controllers.py | 2 +- arigram/msg.py | 2 +- arigram/views.py | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/arigram/controllers.py b/arigram/controllers.py index 89155cd..53ad976 100644 --- a/arigram/controllers.py +++ b/arigram/controllers.py @@ -985,7 +985,7 @@ class Controller: # TODO: handle cases when all chats muted on global level if chat["notification_settings"]["mute_for"] or self.model.is_me( - msg["sender"].get("user_id") + msg["sender_id"].get("user_id") ): return diff --git a/arigram/msg.py b/arigram/msg.py index 9fa2450..e4cdfda 100644 --- a/arigram/msg.py +++ b/arigram/msg.py @@ -220,7 +220,7 @@ class MsgProxy: @property def sender_id(self) -> int: - return self.msg["sender"].get("user_id") or self.msg["sender"].get( + return self.msg["sender_id"].get("user_id") or self.msg["sender_id"].get( "chat_id" ) diff --git a/arigram/views.py b/arigram/views.py index 244f53a..87fd35b 100644 --- a/arigram/views.py +++ b/arigram/views.py @@ -280,7 +280,7 @@ class ChatView: msg = chat.get("last_message") if ( msg - and self.model.is_me(msg["sender"].get("user_id")) + and self.model.is_me(msg["sender_id"].get("user_id")) and msg["id"] > chat["last_read_outbox_message_id"] and not self.model.is_me(chat["id"]) ): @@ -288,7 +288,7 @@ class ChatView: flags.append("unseen") elif ( msg - and self.model.is_me(msg["sender"].get("user_id")) + and self.model.is_me(msg["sender_id"].get("user_id")) and msg["id"] <= chat["last_read_outbox_message_id"] ): flags.append("seen") @@ -628,7 +628,7 @@ def get_last_msg( if not last_msg: return None, "" return ( - last_msg["sender"].get("user_id"), + last_msg["sender_id"].get("user_id"), parse_content(MsgProxy(last_msg), users), )