diff --git a/telegram-base.c b/telegram-base.c index 21da401..666a5e7 100644 --- a/telegram-base.c +++ b/telegram-base.c @@ -426,6 +426,11 @@ int chat_add_message (struct tgl_state *TLS, struct tgl_message *M, char *text) if (chat_show (conn->gc, tgl_get_peer_id (M->to_id))) { p2tgl_got_chat_in(TLS, M->to_id, M->from_id, text ? text : M->message, M->service ? PURPLE_MESSAGE_SYSTEM : PURPLE_MESSAGE_RECV, M->date); + + pending_reads_add (conn->pending_reads, M->to_id); + if (p2tgl_status_is_present(purple_account_get_active_status(conn->pa))) { + pending_reads_send_all (conn->pending_reads, conn->TLS); + } return 1; } else { // add message once the chat was initialised diff --git a/telegram-purple.c b/telegram-purple.c index f5ad7b3..3fadfff 100644 --- a/telegram-purple.c +++ b/telegram-purple.c @@ -337,8 +337,7 @@ static void update_message_received (struct tgl_state *TLS, struct tgl_message * p2tgl_got_im (TLS, M->from_id, text, PURPLE_MESSAGE_RECV, M->date); pending_reads_add (conn->pending_reads, M->from_id); - PurpleStatus *status = purple_account_get_active_status(conn->pa); - if (p2tgl_status_is_present(status)) { + if (p2tgl_status_is_present(purple_account_get_active_status(conn->pa))) { pending_reads_send_all (conn->pending_reads, conn->TLS); } }