diff --git a/package.json b/package.json index d4775027f54..e662ef919bc 100644 --- a/package.json +++ b/package.json @@ -3,12 +3,12 @@ "@datadog/browser-logs": "5.33.0", "@datadog/browser-rum": "5.33.0", "@emotion/react": "11.11.4", - "@lexical/code": "0.20.2", - "@lexical/history": "0.20.2", - "@lexical/list": "0.20.2", - "@lexical/markdown": "0.20.2", - "@lexical/react": "0.20.2", - "@lexical/rich-text": "0.20.2", + "@lexical/code": "0.21.0", + "@lexical/history": "0.21.0", + "@lexical/list": "0.21.0", + "@lexical/markdown": "0.21.0", + "@lexical/react": "0.21.0", + "@lexical/rich-text": "0.21.0", "@mediapipe/tasks-vision": "0.10.20", "@wireapp/avs": "10.0.4", "@wireapp/avs-debugger": "0.0.7", @@ -34,7 +34,7 @@ "kalium-backup": "./TEMP-crossplatform-backup", "keyboardjs": "2.7.0", "knockout": "3.5.1", - "lexical": "0.20.2", + "lexical": "0.21.0", "libsodium-wrappers": "0.7.15", "linkify-it": "5.0.0", "long": "5.2.3", diff --git a/src/i18n/ar-SA.json b/src/i18n/ar-SA.json index a5bd828b2ea..781713c9f5b 100644 --- a/src/i18n/ar-SA.json +++ b/src/i18n/ar-SA.json @@ -564,7 +564,7 @@ "conversationSomeone": "شخص ما", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] was removed from the team", - "conversationToday": "اليوم", + "conversationToday": "today", "conversationTweetAuthor": " على تويتر", "conversationUnableToDecrypt1": "رسالة من {user} لم تُستقبل.", "conversationUnableToDecrypt2": "[highlight]{user}[/highlight]´s device identity changed. Undelivered message.", diff --git a/src/i18n/cs-CZ.json b/src/i18n/cs-CZ.json index 0a7b0508df5..e00e4a1307a 100644 --- a/src/i18n/cs-CZ.json +++ b/src/i18n/cs-CZ.json @@ -564,7 +564,7 @@ "conversationSomeone": "Někdo", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] was removed from the team", - "conversationToday": "dnes", + "conversationToday": "today", "conversationTweetAuthor": " na Twittru", "conversationUnableToDecrypt1": "zpráva od uživatele {user} nebyla přijata.", "conversationUnableToDecrypt2": "Identita uživatele {user} se změnila. Zpráva nedoručena.", diff --git a/src/i18n/da-DK.json b/src/i18n/da-DK.json index 7a2d2e43e15..973b6b72ea0 100644 --- a/src/i18n/da-DK.json +++ b/src/i18n/da-DK.json @@ -564,7 +564,7 @@ "conversationSomeone": "Nogen", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] was removed from the team", - "conversationToday": "i dag", + "conversationToday": "today", "conversationTweetAuthor": " på Twitter", "conversationUnableToDecrypt1": "en besked fra {user} blev ikke modtaget.", "conversationUnableToDecrypt2": "{user}’s enheds identitet er ændret. Uleveret besked.", diff --git a/src/i18n/de-DE.json b/src/i18n/de-DE.json index a18f91ea03e..be5fe54b9d8 100644 --- a/src/i18n/de-DE.json +++ b/src/i18n/de-DE.json @@ -564,7 +564,7 @@ "conversationSomeone": "Jemand", "conversationStartNewConversation": "Eine Gruppe erstellen", "conversationTeamLeft": "[bold]{name}[/bold] wurde aus dem Team entfernt", - "conversationToday": "Heute", + "conversationToday": "today", "conversationTweetAuthor": " auf Twitter", "conversationUnableToDecrypt1": "Eine Nachricht von [highlight]{user}[/highlight] wurde nicht empfangen.", "conversationUnableToDecrypt2": "[highlight]{users}s[/highlight] Geräte-Identität hat sich geändert. Nachricht kann nicht entschlüsselt werden.", diff --git a/src/i18n/el-GR.json b/src/i18n/el-GR.json index 6196b9e20dd..e645ab603cb 100644 --- a/src/i18n/el-GR.json +++ b/src/i18n/el-GR.json @@ -564,7 +564,7 @@ "conversationSomeone": "Κάποιος", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] was removed from the team", - "conversationToday": "σήμερα", + "conversationToday": "today", "conversationTweetAuthor": " στο Twitter", "conversationUnableToDecrypt1": "ένα μήνυμα από τον {user} δεν παρελήφθη.", "conversationUnableToDecrypt2": "{user}´ς η ταυτότητα συσκευής άλλαξε. Ανεπίδοτο μήνυμα.", diff --git a/src/i18n/es-ES.json b/src/i18n/es-ES.json index 9c40195e504..60c7659fe4c 100644 --- a/src/i18n/es-ES.json +++ b/src/i18n/es-ES.json @@ -564,7 +564,7 @@ "conversationSomeone": "Alguien", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] fue removido del equipo", - "conversationToday": "hoy", + "conversationToday": "today", "conversationTweetAuthor": " en Twitter", "conversationUnableToDecrypt1": "un mensaje de {user} no se ha recibido.", "conversationUnableToDecrypt2": "La identidad del dispositivo de {user} ha cambiado. Mensaje no entregado.", diff --git a/src/i18n/et-EE.json b/src/i18n/et-EE.json index e7b635a74b6..996c156c55b 100644 --- a/src/i18n/et-EE.json +++ b/src/i18n/et-EE.json @@ -564,7 +564,7 @@ "conversationSomeone": "Keegi", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] eemaldati meeskonnast", - "conversationToday": "täna", + "conversationToday": "today", "conversationTweetAuthor": " Twitteris", "conversationUnableToDecrypt1": "Sõnumit kasutajalt [highlight]{user}[/highlight] ei võetud vastu.", "conversationUnableToDecrypt2": "[highlight]{user}[/highlight] seadme identiteet muutus. Sõnumit ei saadetud.", diff --git a/src/i18n/fa-IR.json b/src/i18n/fa-IR.json index 31a61674f35..ff9d9cd1eda 100644 --- a/src/i18n/fa-IR.json +++ b/src/i18n/fa-IR.json @@ -564,7 +564,7 @@ "conversationSomeone": "شخصی", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] was removed from the team", - "conversationToday": "امروز", + "conversationToday": "today", "conversationTweetAuthor": " در توییتر", "conversationUnableToDecrypt1": "یک پیام از {user} دریافت نشد.", "conversationUnableToDecrypt2": "هویت دستگاه {user} تغییر یافته است. پیام تحویل داده نشده است.", diff --git a/src/i18n/fi-FI.json b/src/i18n/fi-FI.json index 70e7a25e8a4..6a9bbda4fe0 100644 --- a/src/i18n/fi-FI.json +++ b/src/i18n/fi-FI.json @@ -564,7 +564,7 @@ "conversationSomeone": "Joku", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] was removed from the team", - "conversationToday": "tänään", + "conversationToday": "today", "conversationTweetAuthor": " Twitterissä", "conversationUnableToDecrypt1": "Käyttäjän {user} viesti ei tullut perille.", "conversationUnableToDecrypt2": "Käyttäjän {user} laitteen identiteetti muuttui. Viestiä ei toimitettu.", diff --git a/src/i18n/fr-FR.json b/src/i18n/fr-FR.json index 5d877a73e0d..9fa45029329 100644 --- a/src/i18n/fr-FR.json +++ b/src/i18n/fr-FR.json @@ -564,7 +564,7 @@ "conversationSomeone": "Quelqu’un", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] a été retiré de l’équipe", - "conversationToday": "aujourd’hui", + "conversationToday": "today", "conversationTweetAuthor": " via Twitter", "conversationUnableToDecrypt1": "Un message de [highlight]{user}[/highlight] n’a pas été reçu.", "conversationUnableToDecrypt2": "L’identité de l’appareil de {user} a changé. Message non délivré.", diff --git a/src/i18n/hr-HR.json b/src/i18n/hr-HR.json index bada937c301..78ac0286219 100644 --- a/src/i18n/hr-HR.json +++ b/src/i18n/hr-HR.json @@ -564,7 +564,7 @@ "conversationSomeone": "Netko", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] je uklonjen iz tima", - "conversationToday": "danas", + "conversationToday": "today", "conversationTweetAuthor": " na Twitteru", "conversationUnableToDecrypt1": "Poruka od [highlight]{user}[/highlight] nije zaprimljena.", "conversationUnableToDecrypt2": "Identitet [highlight]{user}[/highlight] uređaja je promjenjen. Poruka nije dostavljena.", diff --git a/src/i18n/hu-HU.json b/src/i18n/hu-HU.json index 75e9db639b7..ad3d9b23e21 100644 --- a/src/i18n/hu-HU.json +++ b/src/i18n/hu-HU.json @@ -564,7 +564,7 @@ "conversationSomeone": "Valaki", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] eltávolítottuk a csapatból", - "conversationToday": "ma", + "conversationToday": "today", "conversationTweetAuthor": " Twitteren", "conversationUnableToDecrypt1": "Nem kaptál meg egy üzenetet tőle: {user}.", "conversationUnableToDecrypt2": "{user} eszközének azonosítója megváltozott. Kézbesítetlen üzenet.", diff --git a/src/i18n/id-ID.json b/src/i18n/id-ID.json index bdf8b57684b..6781ee4bd37 100644 --- a/src/i18n/id-ID.json +++ b/src/i18n/id-ID.json @@ -564,7 +564,7 @@ "conversationSomeone": "Seseorang", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] was removed from the team", - "conversationToday": "hari ini", + "conversationToday": "today", "conversationTweetAuthor": " di Twitter", "conversationUnableToDecrypt1": "pesan dari {user} tidak diterima", "conversationUnableToDecrypt2": "Identitas perangkat {user} berubah. Pesan tidak terkirim", diff --git a/src/i18n/it-IT.json b/src/i18n/it-IT.json index 7eff56cba81..8f6dd80636d 100644 --- a/src/i18n/it-IT.json +++ b/src/i18n/it-IT.json @@ -564,7 +564,7 @@ "conversationSomeone": "Qualcuno", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] was removed from the team", - "conversationToday": "oggi", + "conversationToday": "today", "conversationTweetAuthor": " su Twitter", "conversationUnableToDecrypt1": "un messaggio da {user} non è stato ricevuto.", "conversationUnableToDecrypt2": "L’identità dei dispositivi {user}´s è cambiata. Messaggi non consegnati.", diff --git a/src/i18n/ja-JP.json b/src/i18n/ja-JP.json index 0f0b2e0f01a..254967da660 100644 --- a/src/i18n/ja-JP.json +++ b/src/i18n/ja-JP.json @@ -564,7 +564,7 @@ "conversationSomeone": "誰か", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] はチームから削除されました", - "conversationToday": "今日", + "conversationToday": "today", "conversationTweetAuthor": " はツイッターにいます", "conversationUnableToDecrypt1": "{user} からのメッセージが受信されませんでした", "conversationUnableToDecrypt2": "{user} のデバイスIDが変更されました。メッセージは配信されません。", diff --git a/src/i18n/lt-LT.json b/src/i18n/lt-LT.json index 7a3fa54b702..0738478ef5a 100644 --- a/src/i18n/lt-LT.json +++ b/src/i18n/lt-LT.json @@ -564,7 +564,7 @@ "conversationSomeone": "Kažkas", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] buvo pašalintas (-a) iš komandos", - "conversationToday": "šiandien", + "conversationToday": "today", "conversationTweetAuthor": " socialiniame tinkle Twitter", "conversationUnableToDecrypt1": "žinutė nuo {user} nebuvo gauta.", "conversationUnableToDecrypt2": "Pasikeitė {user} įrenginio tapatybė. Žinutė nepristatyta.", diff --git a/src/i18n/nl-NL.json b/src/i18n/nl-NL.json index 2e9501d61ea..cd9b54e7006 100644 --- a/src/i18n/nl-NL.json +++ b/src/i18n/nl-NL.json @@ -564,7 +564,7 @@ "conversationSomeone": "Iemand", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] was removed from the team", - "conversationToday": "vandaag", + "conversationToday": "today", "conversationTweetAuthor": " op Twitter", "conversationUnableToDecrypt1": "een bericht van {user} is niet ontvangen.", "conversationUnableToDecrypt2": "{user}’s apparaatidentiteit is veranderd. Het bericht is niet afgeleverd.", diff --git a/src/i18n/no-NO.json b/src/i18n/no-NO.json index 20ea8248491..fbae2702fd0 100644 --- a/src/i18n/no-NO.json +++ b/src/i18n/no-NO.json @@ -564,7 +564,7 @@ "conversationSomeone": "Noen", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] was removed from the team", - "conversationToday": "i dag", + "conversationToday": "today", "conversationTweetAuthor": " på Twitter", "conversationUnableToDecrypt1": "A message from [highlight]{user}[/highlight] was not received.", "conversationUnableToDecrypt2": "[highlight]{user}[/highlight]´s device identity changed. Undelivered message.", diff --git a/src/i18n/pl-PL.json b/src/i18n/pl-PL.json index f267d942bc3..38aa0f058a6 100644 --- a/src/i18n/pl-PL.json +++ b/src/i18n/pl-PL.json @@ -564,7 +564,7 @@ "conversationSomeone": "Ktoś", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] was removed from the team", - "conversationToday": "dzisiaj", + "conversationToday": "today", "conversationTweetAuthor": " na Twitterze", "conversationUnableToDecrypt1": "wiadomość od {user} nie została dostarczona.", "conversationUnableToDecrypt2": "Użytkownik {user} zmienił urządzenie. Wiadomość nie została dostarczona.", diff --git a/src/i18n/pt-BR.json b/src/i18n/pt-BR.json index ee687c28fdf..c64a27f4872 100644 --- a/src/i18n/pt-BR.json +++ b/src/i18n/pt-BR.json @@ -564,7 +564,7 @@ "conversationSomeone": "Alguém", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] foi removido da equipe", - "conversationToday": "hoje", + "conversationToday": "today", "conversationTweetAuthor": " no Twitter", "conversationUnableToDecrypt1": "Uma mensagem de [highlight]{user}[/highlight] não foi recebida.", "conversationUnableToDecrypt2": "A identidade do dispositivo de [highlight]{user}[/highlight] foi alterada. Mensagem não entregue.", diff --git a/src/i18n/pt-PT.json b/src/i18n/pt-PT.json index edde67f54d6..3872bb2c161 100644 --- a/src/i18n/pt-PT.json +++ b/src/i18n/pt-PT.json @@ -564,7 +564,7 @@ "conversationSomeone": "Alguém", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] was removed from the team", - "conversationToday": "hoje", + "conversationToday": "today", "conversationTweetAuthor": " no Twitter", "conversationUnableToDecrypt1": "não foi recebida uma mensagem de {user}.", "conversationUnableToDecrypt2": "A identidade do dispositivo de {user} foi alterada. A mensagem não foi entregue.", diff --git a/src/i18n/ro-RO.json b/src/i18n/ro-RO.json index 5ff2e7d4077..dbf46dd3ffd 100644 --- a/src/i18n/ro-RO.json +++ b/src/i18n/ro-RO.json @@ -564,7 +564,7 @@ "conversationSomeone": "Cineva", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] was removed from the team", - "conversationToday": "azi", + "conversationToday": "today", "conversationTweetAuthor": " pe Twitter", "conversationUnableToDecrypt1": "ai primit un mesaj de la {user}.", "conversationUnableToDecrypt2": "identitatea dispozitivului lui {user} s-a schimbat. Mesajul nu a fost livrat.", diff --git a/src/i18n/ru-RU.json b/src/i18n/ru-RU.json index bc757037ccb..fecd409665a 100644 --- a/src/i18n/ru-RU.json +++ b/src/i18n/ru-RU.json @@ -564,7 +564,7 @@ "conversationSomeone": "Кто-то", "conversationStartNewConversation": "Создать группу", "conversationTeamLeft": "[bold]{name}[/bold] был удален из команды", - "conversationToday": "сегодня", + "conversationToday": "today", "conversationTweetAuthor": " в Twitter", "conversationUnableToDecrypt1": "Сообщение от [highlight]{user}[/highlight] не было получено.", "conversationUnableToDecrypt2": "Идентификатор устройства [highlight]{user}[/highlight] изменился. Сообщение не доставлено.", diff --git a/src/i18n/si-LK.json b/src/i18n/si-LK.json index b8d64a79849..2f6ffa2c88d 100644 --- a/src/i18n/si-LK.json +++ b/src/i18n/si-LK.json @@ -564,7 +564,7 @@ "conversationSomeone": "යමෙක්", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] කණ්ඩායමෙන් ඉවත් කර ඇත", - "conversationToday": "අද", + "conversationToday": "today", "conversationTweetAuthor": "ට්විටර් හි", "conversationUnableToDecrypt1": "[highlight]{user}[/highlight] වෙතින් පණිවිඩයක් ලැබී නැත.", "conversationUnableToDecrypt2": "[highlight]{user}[/highlight]ගේ උපාංගයේ අනන්‍යතාවය වෙනස් විය. බාර නොදුන් පණිවිඩයකි.", diff --git a/src/i18n/sk-SK.json b/src/i18n/sk-SK.json index f2069f4812b..8584e746739 100644 --- a/src/i18n/sk-SK.json +++ b/src/i18n/sk-SK.json @@ -564,7 +564,7 @@ "conversationSomeone": "Niekto", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] was removed from the team", - "conversationToday": "dnes", + "conversationToday": "today", "conversationTweetAuthor": " na Twitteri", "conversationUnableToDecrypt1": "správa od {user} nebola prijatá.", "conversationUnableToDecrypt2": "{user}´s zariadenie sa zmenilo. Nedoručená správa.", diff --git a/src/i18n/sl-SI.json b/src/i18n/sl-SI.json index b5242683389..4f346b1d8fe 100644 --- a/src/i18n/sl-SI.json +++ b/src/i18n/sl-SI.json @@ -564,7 +564,7 @@ "conversationSomeone": "Nekdo", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] was removed from the team", - "conversationToday": "danes", + "conversationToday": "today", "conversationTweetAuthor": " na Twitterju", "conversationUnableToDecrypt1": "sporočilo od {user} ni bilo prejeto.", "conversationUnableToDecrypt2": "Identita naprave od {user} je bila spremenjena. Sporočilo ni dostavljeno.", diff --git a/src/i18n/sr-SP.json b/src/i18n/sr-SP.json index c2aa9d324ee..64fe4cbc4ce 100644 --- a/src/i18n/sr-SP.json +++ b/src/i18n/sr-SP.json @@ -564,7 +564,7 @@ "conversationSomeone": "Неко", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] је уклоњен из тима", - "conversationToday": "данас", + "conversationToday": "today", "conversationTweetAuthor": " на Твитеру", "conversationUnableToDecrypt1": "Порука од [highlight]{user}[/highlight] није примљена.", "conversationUnableToDecrypt2": "[highlight]{user}[/highlight]´s промењен је идентитет уређаја Неиспоручена порука.", diff --git a/src/i18n/sv-SE.json b/src/i18n/sv-SE.json index 3668e973f36..7c933a60c19 100644 --- a/src/i18n/sv-SE.json +++ b/src/i18n/sv-SE.json @@ -564,7 +564,7 @@ "conversationSomeone": "Någon", "conversationStartNewConversation": "Skapa en grupp", "conversationTeamLeft": "[bold]{name}[/bold] togs bort från teamet", - "conversationToday": "idag", + "conversationToday": "today", "conversationTweetAuthor": " på Twitter", "conversationUnableToDecrypt1": "Ett meddelande från {user} tog inte emot.", "conversationUnableToDecrypt2": "{user}\"s enhetsidentitet ändrades. Icke levererat meddelande.", diff --git a/src/i18n/tr-TR.json b/src/i18n/tr-TR.json index 00cff908056..edd6ca1147e 100644 --- a/src/i18n/tr-TR.json +++ b/src/i18n/tr-TR.json @@ -564,7 +564,7 @@ "conversationSomeone": "Birisi", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] ekipten çıkarıldı", - "conversationToday": "bugün", + "conversationToday": "today", "conversationTweetAuthor": " Twitter’da", "conversationUnableToDecrypt1": "{user}’den gelen bir mesaj alınamadı.", "conversationUnableToDecrypt2": "{user}’nin cihaz kimliği değişti. Teslim edilmemiş mesaj.", diff --git a/src/i18n/uk-UA.json b/src/i18n/uk-UA.json index 70d753d486a..ae8eb286494 100644 --- a/src/i18n/uk-UA.json +++ b/src/i18n/uk-UA.json @@ -564,7 +564,7 @@ "conversationSomeone": "Хтось", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] був(-ла) видалений(-а) з команди", - "conversationToday": "сьогодні", + "conversationToday": "today", "conversationTweetAuthor": " в Twitter", "conversationUnableToDecrypt1": "Повідомлення від [highlight]{user}[/highlight] не отримане.", "conversationUnableToDecrypt2": "Ідентифікатор пристрою [highlight]{user}[/highlight] змінився. Повідомлення не доставлене.", diff --git a/src/i18n/zh-CN.json b/src/i18n/zh-CN.json index 957da0ffa22..aa0ac75c0f0 100644 --- a/src/i18n/zh-CN.json +++ b/src/i18n/zh-CN.json @@ -564,7 +564,7 @@ "conversationSomeone": "某人", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] 已从团队删除", - "conversationToday": "今天", + "conversationToday": "today", "conversationTweetAuthor": " 在 Twitter 上", "conversationUnableToDecrypt1": "一条来自 {user} 的消息未被接收。", "conversationUnableToDecrypt2": "{user} 的设备指纹已改变。该消息未送达。", diff --git a/src/i18n/zh-TW.json b/src/i18n/zh-TW.json index c367cd1143e..8c3af5e3a8c 100644 --- a/src/i18n/zh-TW.json +++ b/src/i18n/zh-TW.json @@ -564,7 +564,7 @@ "conversationSomeone": "有人", "conversationStartNewConversation": "Create a Group", "conversationTeamLeft": "[bold]{name}[/bold] was removed from the team", - "conversationToday": "今天", + "conversationToday": "today", "conversationTweetAuthor": " 在推特上", "conversationUnableToDecrypt1": "有一個來自 {user} 的訊息未被接收。", "conversationUnableToDecrypt2": "{user} 的設備識別碼改變了,訊息無法送達。", diff --git a/src/script/Config.ts b/src/script/Config.ts index 7a2d9b25c8b..bb1bf7c232e 100644 --- a/src/script/Config.ts +++ b/src/script/Config.ts @@ -78,7 +78,7 @@ const config = { MIN_TEAM_CREATION_SUPPORTED_API_VERSION: 7, /** Image MIME types */ - ALLOWED_IMAGE_TYPES: ['image/bmp', 'image/gif', 'image/jpeg', 'image/jpg', 'image/png'], + ALLOWED_IMAGE_TYPES: ['image/bmp', 'image/gif', 'image/jpeg', 'image/jpg', 'image/png', 'image/webp'], /** Which min and max version of the backend api do we support */ SUPPORTED_API_RANGE: [1, env.ENABLE_DEV_BACKEND_API ? Infinity : 7], diff --git a/src/script/client/ClientEntity.ts b/src/script/client/ClientEntity.ts index b95b4fb2865..f36eb02425d 100644 --- a/src/script/client/ClientEntity.ts +++ b/src/script/client/ClientEntity.ts @@ -30,9 +30,9 @@ import {ClientRecord} from '../storage'; export const MLSPublicKeys = { ed25519: 'ED25519', ed448: 'ED448', - ecdsa_secp521r1_sha512: 'EDCSA_SECP521R1_SHA512', - ecdsa_secp384r1_sha384: 'EDCSA_SECP384R1_SHA384', - ecdsa_secp256r1_sha256: 'EDCSA_SECP256R1_SHA256', + ecdsa_secp521r1_sha512: 'P521', + ecdsa_secp384r1_sha384: 'P384', + ecdsa_secp256r1_sha256: 'P256', } as const; export const isKnownSignature = (signature: unknown): signature is keyof typeof MLSPublicKeys => diff --git a/src/script/components/InputBar/InputBar.tsx b/src/script/components/InputBar/InputBar.tsx index ecd73797558..f56988e9294 100644 --- a/src/script/components/InputBar/InputBar.tsx +++ b/src/script/components/InputBar/InputBar.tsx @@ -562,7 +562,7 @@ export const InputBar = ({ const enableSending = textValue.length > 0; - const showAvatar = messageFormatButtonsEnabled || !!textValue.length; + const showAvatar = !!textValue.length; return (
@@ -627,14 +627,20 @@ export const InputBar = ({ onSend={handleSendMessage} onBlur={() => isTypingRef.current && conversationRepository.sendTypingStop(conversation)} > - +
+ + +
)} diff --git a/src/script/components/InputBar/hooks/useEmojiPicker/useEmojiPicker.ts b/src/script/components/InputBar/hooks/useEmojiPicker/useEmojiPicker.ts index c6c002634e0..94e79612730 100644 --- a/src/script/components/InputBar/hooks/useEmojiPicker/useEmojiPicker.ts +++ b/src/script/components/InputBar/hooks/useEmojiPicker/useEmojiPicker.ts @@ -26,6 +26,10 @@ interface EmojiPickerParams { onEmojiPicked: (emoji: string) => void; } +const TRIGGER_WIDTH = 40; +const TRIGGER_HEIGHT = 32; +const Y_OFFSET = 8; + export const useEmojiPicker = ({wrapperRef, onEmojiPicked}: EmojiPickerParams) => { const [open, setOpen] = useState(false); @@ -43,7 +47,7 @@ export const useEmojiPicker = ({wrapperRef, onEmojiPicked}: EmojiPickerParams) = const handleToggle = (event: MouseEvent) => { const rect = event.currentTarget.getBoundingClientRect(); // eslint-disable-next-line id-length - emojiPickerPosition.current = {x: rect.x, y: rect.y}; + emojiPickerPosition.current = {x: rect.x + TRIGGER_WIDTH, y: rect.y - TRIGGER_HEIGHT - Y_OFFSET}; setOpen(prev => !prev); }; diff --git a/src/script/components/RichTextEditor/RichTextEditor.tsx b/src/script/components/RichTextEditor/RichTextEditor.tsx index 297168534cf..a6ce1cf8909 100644 --- a/src/script/components/RichTextEditor/RichTextEditor.tsx +++ b/src/script/components/RichTextEditor/RichTextEditor.tsx @@ -22,7 +22,7 @@ import {ReactElement, useRef} from 'react'; import {CodeHighlightNode, CodeNode} from '@lexical/code'; import {LinkNode} from '@lexical/link'; import {ListItemNode, ListNode} from '@lexical/list'; -import {$convertToMarkdownString, TRANSFORMERS} from '@lexical/markdown'; +import {$convertToMarkdownString} from '@lexical/markdown'; import {ClearEditorPlugin} from '@lexical/react/LexicalClearEditorPlugin'; import {InitialConfigType, LexicalComposer} from '@lexical/react/LexicalComposer'; import {ContentEditable} from '@lexical/react/LexicalContentEditable'; @@ -53,9 +53,12 @@ import {EmojiPickerPlugin} from './plugins/EmojiPickerPlugin'; import {GlobalEventsPlugin} from './plugins/GlobalEventsPlugin'; import {HistoryPlugin} from './plugins/HistoryPlugin'; import {findAndTransformEmoji, ReplaceEmojiPlugin} from './plugins/InlineEmojiReplacementPlugin'; +import {ListItemTabIndentationPlugin} from './plugins/ListIndentationPlugin/ListIndentationPlugin'; +import {ListMaxIndentLevelPlugin} from './plugins/ListMaxIndentLevelPlugin/ListMaxIndentLevelPlugin'; import {MentionsPlugin} from './plugins/MentionsPlugin'; import {ReplaceCarriageReturnPlugin} from './plugins/ReplaceCarriageReturnPlugin/ReplaceCarriageReturnPlugin'; import {SendPlugin} from './plugins/SendPlugin'; +import {markdownTransformers} from './utils/markdownTransformers'; import {MentionEntity} from '../../message/MentionEntity'; @@ -76,8 +79,13 @@ const theme = { code: 'editor-inline-code', }, list: { - ul: 'editor-list editor-list--unordered', - ol: 'editor-list editor-list--ordered', + ul: 'editor-list editor-list-unordered', + ol: 'editor-list editor-list-ordered', + listitem: 'editor-list__item', + nested: { + listitem: 'editor-list__item--nested', + }, + olDepth: ['editor-list-ordered--1', 'editor-list-ordered--2', 'editor-list-ordered--3'], }, heading: { h1: 'editor-heading editor-heading--1', @@ -221,7 +229,7 @@ export const RichTextEditor = ({ return; } - const markdown = $convertToMarkdownString(TRANSFORMERS); + const markdown = $convertToMarkdownString(markdownTransformers); onUpdate({ text: replaceEmojis ? findAndTransformEmoji(markdown) : markdown, @@ -244,14 +252,15 @@ export const RichTextEditor = ({ /> - + + {replaceEmojis && } - + } @@ -276,7 +285,11 @@ export const RichTextEditor = ({ />
- {showFormatToolbar && } + {showFormatToolbar && ( +
+ +
+ )} {children} ); diff --git a/src/script/components/RichTextEditor/components/FormatToolbar/FormatToolbar.styles.ts b/src/script/components/RichTextEditor/components/FormatToolbar/FormatToolbar.styles.ts index d090a351563..686272aaec4 100644 --- a/src/script/components/RichTextEditor/components/FormatToolbar/FormatToolbar.styles.ts +++ b/src/script/components/RichTextEditor/components/FormatToolbar/FormatToolbar.styles.ts @@ -22,6 +22,4 @@ import {CSSObject} from '@emotion/react'; export const wrapperStyles: CSSObject = { display: 'flex', alignItems: 'center', - margin: '8px 0 8px auto', - gridArea: 'toolbar', }; diff --git a/src/script/components/RichTextEditor/components/FormatToolbar/FormatToolbar.tsx b/src/script/components/RichTextEditor/components/FormatToolbar/FormatToolbar.tsx index 78cc63660d5..d1b9f1b90ae 100644 --- a/src/script/components/RichTextEditor/components/FormatToolbar/FormatToolbar.tsx +++ b/src/script/components/RichTextEditor/components/FormatToolbar/FormatToolbar.tsx @@ -77,18 +77,18 @@ export const FormatToolbar = () => { active={activeFormats.includes('strikethrough')} onClick={() => formatText('strikethrough')} /> - toggleList('unordered')} - /> toggleList('ordered')} /> + toggleList('unordered')} + /> { const anchorNode = selection.anchor.getNode(); const isHeading = isNodeHeading(anchorNode); - if (!isHeading) { - editor.dispatchCommand(INSERT_HEADING_COMMAND, {}); + if (isHeading) { + $setBlocksType(selection, () => $createParagraphNode()); return; } - const paragraphNode = $createParagraphNode(); - const headingNode = anchorNode.getParent(); - - if (!headingNode) { - return; - } - - headingNode.replace(paragraphNode); - paragraphNode.append(...headingNode.getChildren()); + $setBlocksType(selection, () => $createHeadingNode('h1')); }); }; diff --git a/src/script/components/RichTextEditor/components/SendMessageButton/SendMessageButton.tsx b/src/script/components/RichTextEditor/components/SendMessageButton/SendMessageButton.tsx index c4b3776e5ec..62293db3082 100644 --- a/src/script/components/RichTextEditor/components/SendMessageButton/SendMessageButton.tsx +++ b/src/script/components/RichTextEditor/components/SendMessageButton/SendMessageButton.tsx @@ -25,13 +25,14 @@ import {t} from 'Util/LocalizerUtil'; interface SendMessageButtonProps { disabled?: boolean; onSend: () => void; + className?: string; } -export const SendMessageButton = ({disabled, onSend}: SendMessageButtonProps) => { +export const SendMessageButton = ({disabled, onSend, className}: SendMessageButtonProps) => { return (