From 8db731636ca1a40d9599087bba6e2ec7a5864b1a Mon Sep 17 00:00:00 2001 From: Slava Monich Date: Mon, 16 Nov 2020 21:32:47 +0200 Subject: [PATCH 1/3] Removed mutex from ChatModel AFAICT there's nothing to synchronize here --- src/chatmodel.cpp | 11 +---------- src/chatmodel.h | 3 --- 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/src/chatmodel.cpp b/src/chatmodel.cpp index e85c726..72d6886 100644 --- a/src/chatmodel.cpp +++ b/src/chatmodel.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #define LOG(x) qDebug() << "[ChatModel]" << x @@ -178,7 +179,6 @@ void ChatModel::handleMessagesReceived(const QVariantList &messages, int totalCo } } else { if (this->isMostRecentMessageLoaded() || this->inIncrementalUpdate) { - this->messagesMutex.lock(); this->messagesToBeAdded.clear(); QListIterator messagesIterator(messages); while (messagesIterator.hasNext()) { @@ -194,7 +194,6 @@ void ChatModel::handleMessagesReceived(const QVariantList &messages, int totalCo if (!this->messagesToBeAdded.isEmpty()) { this->insertMessages(); } - this->messagesMutex.unlock(); // First call only returns a few messages, we need to get a little more than that... if (!this->messagesToBeAdded.isEmpty() && (this->messagesToBeAdded.size() + this->messages.size()) < 10 && !this->inReload) { @@ -228,13 +227,11 @@ void ChatModel::handleNewMessageReceived(const QString &id, const QVariantMap &m if (id.toLongLong() == chatId && !this->messageIndexMap.contains(id)) { if (this->isMostRecentMessageLoaded()) { LOG("New message received for this chat"); - this->messagesMutex.lock(); this->messagesToBeAdded.clear(); this->messagesToBeAdded.append(message); this->insertMessages(); - this->messagesMutex.unlock(); emit newMessageReceived(message); } else { LOG("New message in this chat, but not relevant as less recent messages need to be loaded first!"); @@ -267,13 +264,11 @@ void ChatModel::handleMessageSendSucceeded(const QString &messageId, const QStri LOG("Message send succeeded, new message ID" << messageId << "old message ID" << oldMessageId << ", chat ID" << message.value(CHAT_ID).toString()); LOG("index map:" << messageIndexMap.contains(oldMessageId) << ", index count:" << messageIndexMap.size() << ", message count:" << messages.size()); if (this->messageIndexMap.contains(oldMessageId)) { - this->messagesMutex.lock(); LOG("Message was successfully sent" << oldMessageId); int messageIndex = this->messageIndexMap.value(oldMessageId).toInt(); this->messages.replace(messageIndex, message); this->calculateMessageIndexMap(); LOG("Message was replaced at index" << messageIndex); - this->messagesMutex.unlock(); emit dataChanged(index(messageIndex), index(messageIndex)); emit lastReadSentMessageUpdated(calculateLastReadSentMessageId()); } @@ -301,7 +296,6 @@ void ChatModel::handleMessageContentUpdated(const QString &id, const QString &me { LOG("Message content updated" << id << messageId); if (id.toLongLong() == chatId && messageIndexMap.contains(messageId)) { - this->messagesMutex.lock(); LOG("We know the message that was updated " << messageId); int messageIndex = this->messageIndexMap.value(messageId).toInt(); QVariantMap messageToBeUpdated = this->messages.at(messageIndex).toMap(); @@ -309,7 +303,6 @@ void ChatModel::handleMessageContentUpdated(const QString &id, const QString &me this->messages.replace(messageIndex, messageToBeUpdated); this->calculateMessageIndexMap(); LOG("Message was replaced at index" << messageIndex); - this->messagesMutex.unlock(); emit messageUpdated(messageIndex); emit dataChanged(index(messageIndex), index(messageIndex)); } @@ -319,7 +312,6 @@ void ChatModel::handleMessagesDeleted(const QString &id, const QVariantList &mes { LOG("Messages were deleted in a chat" << id); if (id.toLongLong() == chatId) { - this->messagesMutex.lock(); LOG("Messages in this chat were deleted..."); QListIterator messageIdIterator(messageIds); while (messageIdIterator.hasNext()) { @@ -333,7 +325,6 @@ void ChatModel::handleMessagesDeleted(const QString &id, const QVariantList &mes endRemoveRows(); } } - this->messagesMutex.unlock(); emit messagesDeleted(); } } diff --git a/src/chatmodel.h b/src/chatmodel.h index 0aea3d0..a10e80d 100644 --- a/src/chatmodel.h +++ b/src/chatmodel.h @@ -21,8 +21,6 @@ #define CHATMODEL_H #include -#include -#include #include "tdlibwrapper.h" class ChatModel : public QAbstractListModel @@ -74,7 +72,6 @@ private: QVariantList messages; QVariantList messagesToBeAdded; QVariantMap messageIndexMap; - QMutex messagesMutex; QVariantMap chatInformation; qlonglong chatId; bool inReload; From c304d8b807c11c0c6e4b3b0225e4991b7701973b Mon Sep 17 00:00:00 2001 From: A Date: Tue, 17 Nov 2020 11:26:20 +0100 Subject: [PATCH 2/3] Update harbour-fernschreiber-pl.ts --- translations/harbour-fernschreiber-pl.ts | 132 +++++++++++------------ 1 file changed, 66 insertions(+), 66 deletions(-) diff --git a/translations/harbour-fernschreiber-pl.ts b/translations/harbour-fernschreiber-pl.ts index 9a81239..77ffda9 100644 --- a/translations/harbour-fernschreiber-pl.ts +++ b/translations/harbour-fernschreiber-pl.ts @@ -9,7 +9,7 @@ A Telegram client for Sailfish OS - Klien Telegram dla Sailfish OS + Klient Telegram dla Sailfish OS Send E-Mail @@ -81,7 +81,7 @@ Open rlottie on GitHub - + Otwórz rlottie na GitHub @@ -99,71 +99,71 @@ ChatInformationPage Unmute Chat - Wyłącz wyciszenie czatu + Wyłącz wyciszenie czatu Mute Chat - Wycisz czat + Wycisz czat Unknown - Nieznany + Nieznany The Invite Link has been copied to the clipboard. - + Link do zaproszenia został skopiowany do schowka. %1 members, %2 online - $1 członków, %2 online + $1 członków, %2 online %1 subscribers - %1 subskrybentów + %1 subskrybentów %1 members - %1 czlonków + %1 czlonków Leaving chat - + Opuszcza czat Info group or user infotext header - + Informacja Phone Number user phone number header - + Numer telefonu Invite Link header - + Link z zaproszeniem There is no information text available, yet. - + Nie ma jeszcze dostępnego tekstu informacyjnego. Chat Title group title header - + Tytuł czatu Enter 1-128 characters - + Wprowadź znaki 1-128 Leave Chat - + Opuść czat Join Chat - + Dołącz do czatu @@ -171,41 +171,41 @@ Loading common chats… chats you have in common with a user - + Ładowanie wspólnych czatów... Unknown - Nieznany + Nieznany Groups Button: groups in common (short) - + Grupy Members Button: Group Members - + Członkowie Loading group members… - + Ładowanie członków grupy You - Ty + Ty You don't have any groups in common with this user. - + Nie masz żadnych wspólnych grup z tym użytkownikiem. This group is empty. - + Ta grupa jest pusta Channel members are anonymous. - + Członkowie kanału są anonimowi @@ -213,38 +213,38 @@ Settings Button: Chat Settings - Ustawienia + Ustawienia ChatListViewItem Unknown - Nieznany + Nieznany You - Ty + Ty Unmute Chat - Wyłącz wyciszenie czatu + Wyłącz wyciszenie czatu Mute Chat - Wycisz czat + Wycisz czat User Info - + Informacje o użytkowniku Group Info - + Informacje o grupie Mark all messages as read - + Zaznacz wszystkie wiadomości jako przeczytane @@ -295,60 +295,60 @@ This chat is empty. - + Ten czat jest pusty Leave Chat - + Opuść czat Join Chat - + Dołącz do czatu Leaving chat - + Opuszczanie czatu You joined the chat %1 - + Dołączyłeś do czatu %1 Select Messages - + Wybierz wiadomości %n Messages deleted - - - - + + %n wiadomość została usunięta + %n wiadomości zostały usunięte + %n wiadomości zostało usunięte %n messages have been copied - - - - + + %n wiadomość została skopiowana + %n wiadomości zostały skopiowane + %n wiadomość zostało skopiowane %n messages selected number of messages selected - - - - + + %n wiadomość została wybrana + %n wiadomości zostały wybrane + %n wiadomości zostało wybrane Forward %n messages dialog header - - - - + + Przekaż %n wiadomość + Przekaż %n wiadomości + Przekaż %n wiadomości @@ -360,7 +360,7 @@ You don't have any chats yet. - Nie masz jeszcze żadnych czatów. + Nie masz jeszcze żadnych czatów. @@ -422,22 +422,22 @@ Group Member Permissions what can normal group members do - + Uprawnienia członka grupy Send Messages member permission - + Wyślij wiadomości Send Media Messages member permission - + Wyślij wiadomość multimedialną Send Other Messages member permission - + Wyślij inne wiadomości Add Web Page Previews @@ -447,12 +447,12 @@ Change Chat Info member permission - + Zmień informacje o czacie Invite Users member permission - + Zaproś użytkowników Pin Messages @@ -462,12 +462,12 @@ New Members what can new group members do - + Nowi członkowie New members can see older messages member permission - + Nowi członkowie mogą zobaczyć starsze wiadomości From d20893cfbd8e8f9e3924bac5b2fdc848f55bbb97 Mon Sep 17 00:00:00 2001 From: A Date: Tue, 17 Nov 2020 20:38:08 +0100 Subject: [PATCH 3/3] Update harbour-fernschreiber-pl.ts --- translations/harbour-fernschreiber-pl.ts | 48 ++++++++++++------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/translations/harbour-fernschreiber-pl.ts b/translations/harbour-fernschreiber-pl.ts index 77ffda9..ccfd65d 100644 --- a/translations/harbour-fernschreiber-pl.ts +++ b/translations/harbour-fernschreiber-pl.ts @@ -799,7 +799,7 @@ Use the international format, e.g. %1 - + Użyj międzynarodowego formatu, %1 @@ -821,34 +821,34 @@ Copy Message to Clipboard - + Skopiuj wiadomość do schowka Message deleted - + Wiadomość usunięta Delete Message - Usuń wiadomość + Usuń wiadomość You - Ty + Ty Forwarded Message - + Wiadomość przekazana Select Message - + Wybierz wiadomość MessageListViewItemSimple You - Ty + Ty @@ -898,7 +898,7 @@ You don't have any chats yet. - Nie masz jeszcze żadnych czatów. + Nie masz jeszcze żadnych czatów. @@ -926,16 +926,16 @@ Create a Poll Dialog Header - + Utórz ankietę in %1 After dialog header… Create a Poll in [group name] - + w %1 Enter your question here - + Wprowadź tutaj swoje pytanie Question (%n1 characters left) @@ -948,11 +948,11 @@ Answers Section header - + Odpowiedzi Enter an answer here - + Wprowadź tutaj swoją odpowiedź Answer (%n1 characters left) @@ -964,24 +964,24 @@ Add an answer - + Dodaj odpowiedź Poll Options Section header - + Opcje ankiety Anonymous answers - + Anonimowa odpowiedź Multiple answers allowed - + Wielokrotna odpowiedź dozwolona Quiz Mode - + Tryb quizu Quizzes have one correct answer. Participants can't revoke their responses. @@ -993,11 +993,11 @@ %L1% % of votes for option - + %L1% Final Result: - + Ostateczny wynik: Multiple Answers are allowed. @@ -1014,11 +1014,11 @@ Close Poll - + Zamknij ankietę Reset Answer - + Resetuj odpowiedź @@ -1062,7 +1062,7 @@ %L1% % of votes for option - + %L1% Chosen by: