diff options
author | mightymop <totzkotz@gmail.com> | 2022-02-26 21:43:15 +0300 |
---|---|---|
committer | mightymop <totzkotz@gmail.com> | 2022-02-27 05:50:56 +0300 |
commit | fda803221c0e44590c80db8d124519cf3b5c151b (patch) | |
tree | a877e298e668b9f3742eb328bc670f47e064ace4 | |
parent | 2788f1c2e378f138d635e6cb928e97a2f769a537 (diff) |
fix: muc topic change message
-rw-r--r-- | locales/de.json | 2 | ||||
-rw-r--r-- | src/connection/xmpp/handlers/multiUser/groupChatMessage.ts | 22 |
2 files changed, 18 insertions, 6 deletions
diff --git a/locales/de.json b/locales/de.json index 61dd41f5..713db73d 100644 --- a/locales/de.json +++ b/locales/de.json @@ -251,7 +251,7 @@ "Loading_room_information": "Informationen über Gruppe werden geladen", "Destroy": "Auflösen", "Leave": "Verlassen", - "changed_subject_to": "__nickname__ hat das Thema auf __subject__ geändert", + "changed_subject_to": "__nickname__ hat das Thema auf \"__subject__\" geändert", "muc_removed_kicked": "Du wurdest aus der Gruppe entfernt", "muc_removed_info_kicked": "__nickname__ wurde aus der Gruppe entfernt", "muc_removed_banned": "Du wurdest aus der Gruppe ausgeschlossen", diff --git a/src/connection/xmpp/handlers/multiUser/groupChatMessage.ts b/src/connection/xmpp/handlers/multiUser/groupChatMessage.ts index 287d9774..5b0b9ca0 100644 --- a/src/connection/xmpp/handlers/multiUser/groupChatMessage.ts +++ b/src/connection/xmpp/handlers/multiUser/groupChatMessage.ts @@ -44,12 +44,24 @@ export default class extends AbstractHandler { contact.setSubject(subject); - let translatedMessage = Translation.t('changed_subject_to', { - nickname, - subject, - }); + let translatedMessage = null; + + if (subject !== '') { + //if room was created with standard configuration, then there is no topic at all + if (nickname !== '') { + //if the message comes from the muc service instead of the user, then its a bare jid without nickname + translatedMessage = Translation.t('changed_subject_to', { + nickname, + subject, + }); + } else { + translatedMessage = Translation.t('subject_was_changed', { + subject, + }); + } - contact.addSystemMessage(':page_with_curl: ' + translatedMessage); + contact.addSystemMessage(':page_with_curl: ' + translatedMessage.replaceAll('"', '"')); + } return this.PRESERVE_HANDLER; } |