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 <s23265@iisve.it>
This commit is contained in:
FraSharp 2022-02-16 22:30:07 +01:00
parent 18403f6907
commit 22582cab42
3 changed files with 5 additions and 5 deletions

View file

@ -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

View file

@ -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"
)

View file

@ -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, "<No messages yet>"
return (
last_msg["sender"].get("user_id"),
last_msg["sender_id"].get("user_id"),
parse_content(MsgProxy(last_msg), users),
)