",
@@ -1450,6 +1451,7 @@
"room_list_navigate_down": "Descendre dans la liste des salons",
"room_list_navigate_up": "Remonter dans la liste des salons",
"room_list_select_room": "Sélectionner un salon de la liste des salons",
+ "save": "Enregistrer",
"scroll_down_timeline": "Faire défiler le fil de discussion vers le bas",
"scroll_up_timeline": "Faire défiler le fil de discussion vers le haut",
"search": "Recherche (si activée)",
@@ -2730,7 +2732,7 @@
"set_phrase_again": "Retournez en arrière pour la redéfinir.",
"settings_reminder": "Vous pouvez aussi configurer la sauvegarde sécurisée et gérer vos clés depuis les paramètres.",
"title_confirm_phrase": "Confirmer la phrase de sécurité",
- "title_save_key": "Sauvegarder votre clé de récupération",
+ "title_save_key": "Enregistrer votre clé de récupération",
"title_set_phrase": "Définir une phrase de sécurité",
"unable_to_setup": "Impossible de configurer le coffre secret",
"use_different_passphrase": "Utiliser une phrase secrète différente ?",
@@ -3369,7 +3371,6 @@
"unable_to_decrypt": "Impossible de déchiffrer le message"
},
"disambiguated_profile": "%(displayName)s (%(matrixId)s)",
- "download_action_decrypting": "Déchiffrement",
"download_action_downloading": "Téléchargement en cours",
"download_failed": "Échec du téléchargement",
"download_failed_description": "Une erreur s'est produite lors du téléchargement de ce fichier",
diff --git a/src/i18n/strings/gl.json b/src/i18n/strings/gl.json
index bee7604de3..e38437165e 100644
--- a/src/i18n/strings/gl.json
+++ b/src/i18n/strings/gl.json
@@ -2435,7 +2435,6 @@
},
"creation_summary_dm": "%(creator)s creou esta MD.",
"creation_summary_room": "%(creator)s creou e configurou a sala.",
- "download_action_decrypting": "Descifrando",
"download_action_downloading": "Descargando",
"edits": {
"tooltip_label": "Editada o %(date)s. Preme para ver edicións.",
diff --git a/src/i18n/strings/he.json b/src/i18n/strings/he.json
index 4a743de9c7..04650d80b2 100644
--- a/src/i18n/strings/he.json
+++ b/src/i18n/strings/he.json
@@ -1985,7 +1985,6 @@
},
"creation_summary_dm": "%(creator)s יצר את DM הזה.",
"creation_summary_room": "%(creator)s יצר/ה והגדיר/ה את החדר.",
- "download_action_decrypting": "מפענח",
"download_action_downloading": "מוריד",
"edits": {
"tooltip_label": "נערך ב-%(date)s. לחץ לצפייה בעריכות.",
diff --git a/src/i18n/strings/hu.json b/src/i18n/strings/hu.json
index a6174d85fa..01b06802ce 100644
--- a/src/i18n/strings/hu.json
+++ b/src/i18n/strings/hu.json
@@ -3344,7 +3344,6 @@
"unable_to_decrypt": "Nem sikerült visszafejteni az üzenetet"
},
"disambiguated_profile": "%(displayName)s (%(matrixId)s)",
- "download_action_decrypting": "Visszafejtés",
"download_action_downloading": "Letöltés",
"download_failed": "Letöltés sikertelen",
"download_failed_description": "Hiba történt a fájl letöltése közben",
diff --git a/src/i18n/strings/id.json b/src/i18n/strings/id.json
index aec713be8c..1ad5b855aa 100644
--- a/src/i18n/strings/id.json
+++ b/src/i18n/strings/id.json
@@ -3362,7 +3362,6 @@
"unable_to_decrypt": "Tidak dapat mendekripsi pesan"
},
"disambiguated_profile": "%(displayName)s (%(matrixId)s)",
- "download_action_decrypting": "Mendekripsi",
"download_action_downloading": "Mengunduh",
"download_failed": "Pengunduhan gagal",
"download_failed_description": "Terjadi kesalahan saat mengunduh berkas ini",
diff --git a/src/i18n/strings/is.json b/src/i18n/strings/is.json
index bb8a2a7db5..3023df5252 100644
--- a/src/i18n/strings/is.json
+++ b/src/i18n/strings/is.json
@@ -2360,7 +2360,6 @@
},
"creation_summary_dm": "%(creator)s bjó til oþessi beinu skilaboð.",
"creation_summary_room": "%(creator)s bjó til og stillti spjallrásina.",
- "download_action_decrypting": "Afkóðun",
"download_action_downloading": "Sæki",
"edits": {
"tooltip_label": "Breytt þann %(date)s. Smelltu hér til að skoða breytingar.",
diff --git a/src/i18n/strings/it.json b/src/i18n/strings/it.json
index ed3a8eff45..7dad9de01f 100644
--- a/src/i18n/strings/it.json
+++ b/src/i18n/strings/it.json
@@ -2906,7 +2906,6 @@
"creation_summary_dm": "%(creator)s ha creato questo MD.",
"creation_summary_room": "%(creator)s ha creato e configurato la stanza.",
"disambiguated_profile": "%(displayName)s (%(matrixId)s)",
- "download_action_decrypting": "Decifrazione",
"download_action_downloading": "Scaricamento",
"edits": {
"tooltip_label": "Modificato alle %(date)s. Clicca per vedere le modifiche.",
diff --git a/src/i18n/strings/ja.json b/src/i18n/strings/ja.json
index 9b46af9fe2..8149ccb960 100644
--- a/src/i18n/strings/ja.json
+++ b/src/i18n/strings/ja.json
@@ -2649,7 +2649,6 @@
"creation_summary_dm": "%(creator)sがこのダイレクトメッセージを作成しました。",
"creation_summary_room": "%(creator)sがルームを作成し設定しました。",
"disambiguated_profile": "%(displayName)s(%(matrixId)s)",
- "download_action_decrypting": "復号化しています",
"download_action_downloading": "ダウンロードしています",
"edits": {
"tooltip_label": "%(date)sに編集済。クリックすると変更履歴を表示。",
diff --git a/src/i18n/strings/ka.json b/src/i18n/strings/ka.json
index bdda82509e..1f7829e6ed 100644
--- a/src/i18n/strings/ka.json
+++ b/src/i18n/strings/ka.json
@@ -2262,7 +2262,6 @@
"creation_summary_dm": "%(creator)sშექმნა ეს DM.",
"creation_summary_room": "%(creator)sოთახის შექმნა და კონფიგურაცია.",
"disambiguated_profile": "%(displayName)s(%(matrixId)s )",
- "download_action_decrypting": "გაშიფვრა",
"download_action_downloading": "ჩამოტვირთვა",
"edits": {
"tooltip_label": "რედაქტირებულია%(date)s . დააწკაპუნეთ რედაქტირების სანახავად.",
diff --git a/src/i18n/strings/lo.json b/src/i18n/strings/lo.json
index cca8039f20..e22959411a 100644
--- a/src/i18n/strings/lo.json
+++ b/src/i18n/strings/lo.json
@@ -2342,7 +2342,6 @@
},
"creation_summary_dm": "%(creator)s ສ້າງ DM ນີ້.",
"creation_summary_room": "%(creator)s ສ້າງ ແລະ ກຳນົດຄ່າຫ້ອງ.",
- "download_action_decrypting": "ການຖອດລະຫັດ",
"download_action_downloading": "ກຳລັງດາວໂຫຼດ",
"edits": {
"tooltip_label": "ແກ້ໄຂເມື່ອ %(date)s. ກົດເພື່ອເບິ່ງການແກ້ໄຂ.",
diff --git a/src/i18n/strings/lt.json b/src/i18n/strings/lt.json
index 1547c50b2b..1d92542d59 100644
--- a/src/i18n/strings/lt.json
+++ b/src/i18n/strings/lt.json
@@ -1827,7 +1827,6 @@
},
"creation_summary_dm": "%(creator)s sukūrė šį tiesioginio susirašymo kambarį.",
"creation_summary_room": "%(creator)s sukūrė ir sukonfigūravo kambarį.",
- "download_action_decrypting": "Iššifruojama",
"download_action_downloading": "Atsiunčiama",
"edits": {
"tooltip_label": "Keista %(date)s. Spustelėkite kad peržiūrėti pakeitimus.",
diff --git a/src/i18n/strings/lv.json b/src/i18n/strings/lv.json
index 1b29ef2c3e..d91326d565 100644
--- a/src/i18n/strings/lv.json
+++ b/src/i18n/strings/lv.json
@@ -2836,7 +2836,6 @@
"historical_event_unverified_device": "Ir jāapliecina šī ierīce, lai piekļūtu senākām ziņām."
},
"disambiguated_profile": "%(displayName)s (%(matrixId)s)",
- "download_action_decrypting": "Atšifrē",
"download_action_downloading": "Lejupielādē",
"edits": {
"tooltip_label": "Labots %(date)s. Klikšķināt, lai skatītu labojumus.",
diff --git a/src/i18n/strings/mg_MG.json b/src/i18n/strings/mg_MG.json
index 66cc4a257e..ab24919c11 100644
--- a/src/i18n/strings/mg_MG.json
+++ b/src/i18n/strings/mg_MG.json
@@ -2889,7 +2889,6 @@
"creation_summary_dm": "%(creator)snamorona ity DM ity.",
"creation_summary_room": "%(creator)snamorona sy nanamboatra ny efitrano.",
"disambiguated_profile": "%(displayName)s(%(matrixId)s )",
- "download_action_decrypting": "Decryptering",
"download_action_downloading": "Misintona",
"edits": {
"tooltip_label": "Namboarina tamin'ny%(Rendez-vous . Kitiho raha hijery ny fanovana.",
diff --git a/src/i18n/strings/nb_NO.json b/src/i18n/strings/nb_NO.json
index d601d800bb..49fdf11754 100644
--- a/src/i18n/strings/nb_NO.json
+++ b/src/i18n/strings/nb_NO.json
@@ -1450,6 +1450,7 @@
"room_list_navigate_down": "Naviger ned i romlisten",
"room_list_navigate_up": "Naviger opp i romlisten",
"room_list_select_room": "Velg rom fra romlisten",
+ "save": "Lagre",
"scroll_down_timeline": "Rull ned i tidslinjen",
"scroll_up_timeline": "Rull opp i tidslinjen",
"search": "Søk (må være aktivert)",
@@ -3369,7 +3370,6 @@
"unable_to_decrypt": "Kan ikke dekryptere meldingen"
},
"disambiguated_profile": "%(displayName)s(%(matrixId)s)",
- "download_action_decrypting": "Dekrypterer",
"download_action_downloading": "Laster ned",
"download_failed": "Nedlasting mislyktes",
"download_failed_description": "Det oppstod en feil under nedlasting av denne filen",
diff --git a/src/i18n/strings/nl.json b/src/i18n/strings/nl.json
index 1e3b2206dc..72c5617f16 100644
--- a/src/i18n/strings/nl.json
+++ b/src/i18n/strings/nl.json
@@ -2484,7 +2484,6 @@
},
"creation_summary_dm": "%(creator)s maakte deze directe chat.",
"creation_summary_room": "Kamer gestart en ingesteld door %(creator)s.",
- "download_action_decrypting": "Ontsleutelen",
"download_action_downloading": "Downloaden",
"edits": {
"tooltip_label": "Bewerkt op %(date)s. Klik om de bewerkingen te bekijken.",
diff --git a/src/i18n/strings/pl.json b/src/i18n/strings/pl.json
index b8c3ac840e..a1de107220 100644
--- a/src/i18n/strings/pl.json
+++ b/src/i18n/strings/pl.json
@@ -159,6 +159,7 @@
"view_message": "Wyświetl wiadomość",
"view_source": "Wyświetl źródło",
"yes": "Tak",
+ "yes_dismiss": "Tak, odrzuć",
"zoom_in": "Powiększ",
"zoom_out": "Pomniejsz"
},
@@ -788,6 +789,7 @@
"cross_signing_status": "Status weryfikacji krzyżowej:",
"cross_signing_untrusted": "Twoje konto ma tożsamość weryfikacji krzyżowej w sekretnym magazynie, ale nie jest jeszcze zaufane przez tę sesję.",
"crypto_not_available": "Moduł kryptograficzny nie jest dostępny",
+ "device_id": "ID urządzenia",
"key_backup_active_version": "Aktywna wersja kopii zapasowej:",
"key_backup_active_version_none": "Brak",
"key_backup_inactive_warning": "Twoje klucze nie są przywracane na tej sesji.",
@@ -800,6 +802,8 @@
"secret_storage_ready": "gotowe",
"secret_storage_status": "Sekretny magazyn:",
"self_signing_private_key_cached_status": "Samopodpisujący klucz prywatny:",
+ "session": "Sesja",
+ "session_fingerprint": "Odcisk palca (klucz sesji)",
"title": "Szyfrowanie end-to-end",
"user_signing_private_key_cached_status": "Podpisany przez użytkownika klucz prywatny:"
},
@@ -825,6 +829,7 @@
"low_bandwidth_mode": "Tryb niskiej przepustowości",
"low_bandwidth_mode_description": "Wymaga kompatybilnego serwera domowego.",
"main_timeline": "Główna oś czasu",
+ "manual_device_verification": "Ręczna weryfikacja urządzenia",
"no_receipt_found": "Nie znaleziono potwierdzenia",
"notification_state": "Status powiadomień %(notificationState)s",
"notifications_debug": "Debug powiadomień",
@@ -915,9 +920,11 @@
"empty_room_was_name": "Pusty pokój (poprzednio %(oldName)s)",
"encryption": {
"access_secret_storage_dialog": {
+ "alternatives": "Możesz podać również klucz lub frazę bezpieczeństwa.",
"key_validation_text": {
"wrong_security_key": "Wprowadzony klucz przywracania nie jest poprawny."
},
+ "privacy_warning": "Upewnij się, że nikt nie widzi tego ekranu!",
"restoring": "Przywracanie kluczy z kopii zapasowej",
"security_key_title": "Klucz przywracania"
},
@@ -971,6 +978,8 @@
"setup_secure_backup": {
"explainer": "Utwórz kopię zapasową kluczy przed wylogowaniem, aby ich nie utracić."
},
+ "turn_on_key_storage": "Włącz magazyn kluczy",
+ "turn_on_key_storage_description": "Bezpiecznie przechowuj swoją tożsamość kryptograficzną i klucze wiadomości na serwerze. Umożliwi to przeglądanie historii wiadomości na każdym nowym urządzeniu.",
"udd": {
"interactive_verification_button": "Zweryfikuj interaktywnie za pomocą emoji",
"other_ask_verify_text": "Poproś go/ją o zweryfikowanie tej sesji bądź zweryfikuj ją osobiście poniżej.",
@@ -1005,6 +1014,21 @@
"incoming_sas_dialog_waiting": "Oczekiwanie na potwierdzenie partnera…",
"incoming_sas_user_dialog_text_1": "Zweryfikuj tego użytkownika, aby oznaczyć go jako zaufanego. Użytkownicy zaufani dodają większej pewności, gdy korzystasz z wiadomości szyfrowanych end-to-end.",
"incoming_sas_user_dialog_text_2": "Weryfikacja tego użytkownika oznaczy Twoją i jego sesję jako zaufaną.",
+ "manual": {
+ "already_verified": "To urządzenie zostało już zweryfikowane.",
+ "already_verified_and_wrong_fingerprint": "Podany odcinek palca nie pasuje, ale urządzenie zostało już zweryfikowane!",
+ "device_id": "ID urządzenia",
+ "failure_description": "Nie udało się zweryfikować '%(deviceId)s': %(error)s",
+ "failure_title": "Weryfikacja nie powiodła się",
+ "fingerprint": "Odcisk palca (klucz sesji)",
+ "no_crypto": "Nie można zweryfikować urządzenia - krypto nie jest włączone",
+ "no_device": "Nie można zweryfikować urządzenia - urządzenie '%(deviceId)s' nie zostało znalezione",
+ "no_userid": "Nie można zweryfikować urządzenia - nie udało się znaleźć ID użytkownika",
+ "success_description": "Urządzenie (%(deviceId)s) jest teraz podpisane krzyżowo",
+ "success_title": "Zweryfikowano pomyślnie",
+ "text": "Podaj ID i odcisk palca jednego ze swoich urządzeń, aby zweryfikować. UWAGA umożliwi to drugiemu urządzeniu wysyłanie i odbieranie wiadomości w Twoim imieniu. JEŚLI KTOŚ POWIEDZIAŁ CI, ŻEBYŚ COŚ TU WKLEIŁ, PRAWDOPODOBNIE JESTEŚ OSZUKIWANY!",
+ "wrong_fingerprint": "Nie można zweryfikować urządzenia '%(deviceId)s' - podany odcisk palca '%(fingerprint)s' nie pasuje do odcisku palca na urządzeniu, '%(fprint)s'"
+ },
"no_key_or_device": "Wygląda na to, że nie masz klucza przywracania ani żadnych innych urządzeń, które mogłyby zweryfikować Twoją tożsamość. To urządzenie nie będzie mogło odczytać wcześniej zaszyfrowanych wiadomości. Aby zweryfikować swoją tożsamość na tym urządzeniu, musisz zresetować klucze weryfikacyjne.",
"no_support_qr_emoji": "Urządzenie, które próbujesz zweryfikować nie wspiera skanowania kodu QR lub weryfikacji emoji, czyli tego co obsługuje %(brand)s. Spróbuj użyć innego klienta.",
"other_party_cancelled": "Druga strona anulowała weryfikację.",
@@ -1961,6 +1985,7 @@
},
"face_pile_tooltip_shortcut": "Włączając %(commaSeparatedMembers)s",
"face_pile_tooltip_shortcut_joined": "Włączając Ciebie, %(commaSeparatedMembers)s",
+ "failed_determine_user": "Nie można określić, którego użytkownika należy zignorować, ponieważ jego wydarzenie uległo zmianie.",
"failed_reject_invite": "Nie udało się odrzucić zaproszenia",
"forget_room": "Zapomnij o tym pokoju",
"forget_space": "Zapomnij tą przestrzeń",
@@ -2053,6 +2078,8 @@
"read_topic": "Kliknij, aby przeczytać temat",
"rejecting": "Odrzucanie zaproszenia…",
"rejoin_button": "Dołącz ponownie",
+ "room_content": "Zawartość pokoju",
+ "room_is_low_priority": "To jest pokój o niskim priorytecie",
"search": {
"all_rooms_button": "Wyszukaj wszystkie pokoje",
"placeholder": "Szukaj wiadomości...",
@@ -2102,24 +2129,33 @@
"add_space_label": "Dodaj przestrzeń",
"breadcrumbs_empty": "Brak ostatnio odwiedzonych pokojów",
"breadcrumbs_label": "Ostatnio odwiedzane pokoje",
+ "collapse_filters": "Zwiń listę filtrów",
"empty": {
"no_chats": "Nie ma jeszcze czatów",
"no_chats_description": "Zacznij od wysłania wiadomości lub utworzenia pokoju",
"no_chats_description_no_room_rights": "Wyślij komuś wiadomość, aby rozpocząć.",
"no_favourites": "Nie masz jeszcze ulubionego czatu",
"no_favourites_description": "Dodaj czat do ulubionych w ustawieniach czatu",
+ "no_invites": "Nie masz żadnych nieprzeczytanych zaproszeń",
+ "no_lowpriority": "Nie masz pokoi o niskim priorytecie",
+ "no_mentions": "Nie masz żadnych nieprzeczytanych wzmianek",
"no_people": "Nie prowadzisz jeszcze z nikim czatów prywatnych",
"no_people_description": "Wyczyść filtry, aby zobaczyć pozostałe czaty",
"no_rooms": "Nie jesteś jeszcze w żadnym pokoju",
"no_rooms_description": "Wyczyść filtry, aby zobaczyć pozostałe czaty",
"no_unread": "Brawo! Nie masz żadnych nieprzeczytanych wiadomości",
+ "show_activity": "Wyświetl całą aktywność",
"show_chats": "Pokaż wszystkie czaty"
},
+ "expand_filters": "Rozwiń listę filtrów",
"failed_add_tag": "Nie można dodać tagu %(tagName)s do pokoju",
"failed_remove_tag": "Nie udało się usunąć tagu %(tagName)s z pokoju",
"failed_set_dm_tag": "Nie udało się ustawić tagu wiadomości prywatnych",
"filters": {
"favourite": "Ulubione",
+ "invites": "Zaproszenia",
+ "low_priority": "Niski priorytet",
+ "mentions": "Wzmianki",
"people": "Osoby",
"rooms": "Pokoje",
"unread": "Nieprzeczytane"
@@ -2550,6 +2586,8 @@
"session_key": "Klucz sesji:",
"title": "Zaawansowane"
},
+ "confirm_key_storage_off": "Czy na pewno pozostawić wyłączony magazyn kluczy?",
+ "confirm_key_storage_off_description": "Jeśli wylogujesz się ze wszystkich swoich urządzeń, utracisz historię wiadomości i będziesz musiał ponownie zweryfikować wszystkie istniejące kontakty. Dowiedz się więcej",
"delete_key_storage": {
"breadcrumb_page": "Usuń magazyn kluczy",
"confirm": "Usuń magazyn kluczy",
@@ -2685,6 +2723,9 @@
"inline_url_previews_room": "Włącz domyślny podgląd URL dla uczestników w tym pokoju",
"inline_url_previews_room_account": "Włącz podgląd URL dla tego pokoju (dotyczy tylko Ciebie)",
"insert_trailing_colon_mentions": "Wstawiaj dwukropek po wzmiance użytkownika na początku wiadomości",
+ "invite_controls": {
+ "default_label": "Zezwól użytkownikom na zapraszanie Cię do pokojów"
+ },
"jump_to_bottom_on_send": "Przejdź na dół osi czasu po wysłaniu wiadomości",
"key_backup": {
"setup_secure_backup": {
@@ -2746,6 +2787,7 @@
"show_in_private": "W pokojach prywatnych",
"show_media": "Zawsze pokazuj"
},
+ "not_supported": "Twój serwer nie obsługuje tej funkcji.",
"notifications": {
"default_setting_description": "To ustawienie zastosuje się do wszystkich Twoich pokoi.",
"default_setting_section": "Chce otrzymywać powiadomienia (Domyślne ustawienie)",
@@ -2803,6 +2845,7 @@
"voip": "Połączenia audio i wideo"
},
"preferences": {
+ "Electron.enableContentProtection": "Zapobiegaj przechwytywaniu zawartości okna przez inne aplikacje",
"Electron.enableHardwareAcceleration": "Włącz akcelerację sprzętową (uruchom ponownie %(appName)s, aby zastosować zmiany).",
"always_show_menu_bar": "Zawsze pokazuj pasek menu okna",
"autocomplete_delay": "Opóźnienie autouzupełniania (ms)",
@@ -2811,6 +2854,7 @@
"composer_heading": "Kompozytor",
"default_timezone": "Ustawienie przeglądarki (%(timezone)s)",
"dialog_title": "Ustawienia: Preferencje",
+ "enable_content_protection": "Włącz ochronę treści",
"enable_hardware_acceleration": "Włącz przyspieszenie sprzętowe",
"enable_tray_icon": "Pokaż ikonę w zasobniku systemowym i zminimalizuj okno do niej zamiast zamknięcia",
"keyboard_heading": "Skróty klawiszowe",
@@ -2974,6 +3018,7 @@
"show_chat_effects": "Pokaż efekty czatu (animacje po odebraniu np. confetti)",
"show_displayname_changes": "Pokaż zmiany wyświetlanej nazwy",
"show_join_leave": "Pokaż wiadomości dołączenia/opuszczenia pokoju (nie dotyczy wiadomości zaproszenia/wyrzucenia/banów)",
+ "show_message_previews": "Pokaż podglądy wiadomości",
"show_nsfw_content": "Pokaż zawartość NSFW",
"show_read_receipts": "Pokaż potwierdzenia odczytania wysyłane przez innych użytkowników",
"show_redaction_placeholder": "Pokaż symbol zastępczy dla usuniętych wiadomości",
@@ -3080,6 +3125,8 @@
"jumptodate": "Przeskocz do podanej daty w linii czasu",
"jumptodate_invalid_input": "Nie jesteśmy w stanie rozpoznać podanej daty (%(inputDate)s). Spróbuj użyć formatu RRRR-MM-DD.",
"lenny": "Dodaje ( ͡° ͜ʖ ͡°) na początku wiadomości tekstowej",
+ "manual_device_verification_confirm_description": "Umożliwi to drugiemu urządzeniu wysyłanie i odbieranie wiadomości w Twoim imieniu. JEŚLI KTOŚ POWIEDZIAŁ CI, ŻEBYŚ COŚ TU WKLEIŁ, PRAWDOPODOBNIE JESTEŚ OSZUKIWANY! Czy na pewno chcesz zweryfikować drugie urządzenie?",
+ "manual_device_verification_confirm_title": "Uwaga: ręczna weryfikacja urządzenia",
"me": "Wyświetla akcję",
"msg": "Wysyła wiadomość do wybranego użytkownika",
"myavatar": "Zdjęcie profilowe zostanie zmienione we wszystkich pokojach",
@@ -3120,7 +3167,7 @@
"upgraderoom": "Ulepsza pokój do nowej wersji",
"upgraderoom_permission_error": "Nie posiadasz wymaganych uprawnień do użycia tego polecenia.",
"usage": "Użycie",
- "verify": "Weryfikuje użytkownika, sesję oraz klucz publiczny",
+ "verify": "Zweryfikuj ręcznie jedno ze swoich urządzeń",
"view": "Przegląda pokój z podanym adresem",
"whois": "Pokazuje informacje na temat użytkownika"
},
@@ -3340,7 +3387,6 @@
"unable_to_decrypt": "Nie można rozszyfrować wiadomości"
},
"disambiguated_profile": "%(displayName)s (%(matrixId)s)",
- "download_action_decrypting": "Rozszyfrowuję",
"download_action_downloading": "Pobieranie",
"download_failed": "Błąd pobierania",
"download_failed_description": "Wystąpił błąd podczas pobierania tego pliku",
diff --git a/src/i18n/strings/pt.json b/src/i18n/strings/pt.json
index 501609346b..e2b23148f9 100644
--- a/src/i18n/strings/pt.json
+++ b/src/i18n/strings/pt.json
@@ -3267,7 +3267,6 @@
"unable_to_decrypt": "Não é possível desencriptar a mensagem"
},
"disambiguated_profile": "%(displayName)s (%(matrixId)s)",
- "download_action_decrypting": "Descriptografando",
"download_action_downloading": "A transferir…",
"download_failed": "A transferência falhou",
"download_failed_description": "Ocorreu um erro ao transferir este ficheiro",
diff --git a/src/i18n/strings/pt_BR.json b/src/i18n/strings/pt_BR.json
index 0d88c23ceb..434b818421 100644
--- a/src/i18n/strings/pt_BR.json
+++ b/src/i18n/strings/pt_BR.json
@@ -1450,6 +1450,7 @@
"room_list_navigate_down": "Navegar para baixo na lista de salas",
"room_list_navigate_up": "Navegar para cima na lista de salas",
"room_list_select_room": "Selecionar sala da lista de salas",
+ "save": "Salvar",
"scroll_down_timeline": "Rola para baixo no histórico",
"scroll_up_timeline": "Rola para cima no histórico",
"search": "Pesquisar (deve estar ativado)",
@@ -3369,7 +3370,6 @@
"unable_to_decrypt": "Não foi possível descriptografar a mensagem"
},
"disambiguated_profile": "%(displayName)s (%(matrixId)s)",
- "download_action_decrypting": "Decriptando",
"download_action_downloading": "Baixando",
"download_failed": "Falha no download",
"download_failed_description": "Ocorreu um erro ao baixar esse arquivo",
diff --git a/src/i18n/strings/ru.json b/src/i18n/strings/ru.json
index 27f0ca4afb..dc3039423e 100644
--- a/src/i18n/strings/ru.json
+++ b/src/i18n/strings/ru.json
@@ -3366,7 +3366,6 @@
"unable_to_decrypt": "Не удалось расшифровать сообщение"
},
"disambiguated_profile": "%(displayName)s (%(matrixId)s)",
- "download_action_decrypting": "Расшифровка",
"download_action_downloading": "Загрузка",
"download_failed": "Загрузка не удалась",
"download_failed_description": "Произошла ошибка при загрузке этого файла",
diff --git a/src/i18n/strings/sk.json b/src/i18n/strings/sk.json
index 3fa8b7c52e..39a04e629a 100644
--- a/src/i18n/strings/sk.json
+++ b/src/i18n/strings/sk.json
@@ -1466,6 +1466,7 @@
"room_list_navigate_down": "Prejsť v zozname miestností smerom nadol",
"room_list_navigate_up": "Prejsť v zozname miestností smerom hore",
"room_list_select_room": "Vybrať miestnosť zo zoznamu miestností",
+ "save": "Uložiť",
"scroll_down_timeline": "Posun dole na časovej osi",
"scroll_up_timeline": "Posun hore na časovej osi",
"search": "Vyhľadávanie (musí byť povolené)",
@@ -3412,7 +3413,6 @@
"unable_to_decrypt": "Správu sa nepodarilo dešifrovať"
},
"disambiguated_profile": "%(displayName)s (%(matrixId)s)",
- "download_action_decrypting": "Dešifrovanie",
"download_action_downloading": "Preberanie",
"download_failed": "Sťahovanie zlyhalo",
"download_failed_description": "Pri sťahovaní tohto súboru sa vyskytla chyba",
diff --git a/src/i18n/strings/sq.json b/src/i18n/strings/sq.json
index 7bbfa91734..ed5fb81716 100644
--- a/src/i18n/strings/sq.json
+++ b/src/i18n/strings/sq.json
@@ -2711,7 +2711,6 @@
},
"creation_summary_dm": "%(creator)s krijoi këtë DM.",
"creation_summary_room": "%(creator)s krijoi dhe formësoi dhomën.",
- "download_action_decrypting": "Po shfshehtëzohet",
"download_action_downloading": "Shkarkim",
"edits": {
"tooltip_label": "Përpunuar më %(date)s. Klikoni që të shihni përpunimet.",
diff --git a/src/i18n/strings/sv.json b/src/i18n/strings/sv.json
index 17074afb88..7dcbc41fda 100644
--- a/src/i18n/strings/sv.json
+++ b/src/i18n/strings/sv.json
@@ -785,6 +785,7 @@
"cross_signing_status": "Korssigneringsstatus:",
"cross_signing_untrusted": "Ditt konto har en korssigneringsidentitet i hemlig lagring, men den är ännu inte betrodd av den här sessionen.",
"crypto_not_available": "Kryptografisk modul är inte tillgänglig",
+ "device_id": "Enhets-ID",
"key_backup_active_version": "Aktiv säkerhetskopiaversion:",
"key_backup_active_version_none": "Ingen",
"key_backup_inactive_warning": "Dina nycklar säkerhetskopieras inte från den här sessionen.",
@@ -797,6 +798,8 @@
"secret_storage_ready": "klar",
"secret_storage_status": "Hemlig lagring:",
"self_signing_private_key_cached_status": "Självsignerande privat nyckel:",
+ "session": "Session",
+ "session_fingerprint": "Fingeravtryck (sessionsnyckel)",
"title": "Totalsträckskryptering",
"user_signing_private_key_cached_status": "Privat nyckel för användarsignering:"
},
@@ -822,6 +825,7 @@
"low_bandwidth_mode": "Lågt bandbreddsläge",
"low_bandwidth_mode_description": "Kräver kompatibel hemserver.",
"main_timeline": "Huvudtidslinje",
+ "manual_device_verification": "Manuell enhetsverifiering",
"no_receipt_found": "Inga kvitton hittade",
"notification_state": "Aviseringsstatus är %(notificationState)s",
"notifications_debug": "Aviseringsfelsökning",
@@ -2682,6 +2686,9 @@
"inline_url_previews_room": "Aktivera URL-förhandsgranskning som standard för deltagare i detta rum",
"inline_url_previews_room_account": "Aktivera URL-förhandsgranskning för detta rum (påverkar bara dig)",
"insert_trailing_colon_mentions": "Infoga kolon efter användaromnämnande på början av ett meddelande",
+ "invite_controls": {
+ "default_label": "Tillåt användare att bjuda in dig till rum"
+ },
"jump_to_bottom_on_send": "Hoppa till botten av tidslinjen när du skickar ett meddelande",
"key_backup": {
"setup_secure_backup": {
@@ -2743,6 +2750,7 @@
"show_in_private": "I privata rum",
"show_media": "Visa alltid"
},
+ "not_supported": "Din server implementerar inte den här funktionen.",
"notifications": {
"default_setting_description": "Denna inställning kommer att tillämpas som standard för alla dina rum.",
"default_setting_section": "Jag vill bli meddelad för (Standardinställning)",
@@ -3339,7 +3347,6 @@
"unable_to_decrypt": "Det gick inte att dekryptera meddelandet"
},
"disambiguated_profile": "%(displayName)s (%(matrixId)s)",
- "download_action_decrypting": "Avkrypterar",
"download_action_downloading": "Laddar ner",
"download_failed": "Nedladdning misslyckades",
"download_failed_description": "Ett fel uppstod när den här filen laddades ned",
diff --git a/src/i18n/strings/tr.json b/src/i18n/strings/tr.json
index 1da42f9e8c..dec9db9f50 100644
--- a/src/i18n/strings/tr.json
+++ b/src/i18n/strings/tr.json
@@ -3237,7 +3237,6 @@
"unable_to_decrypt": "Mesaj şifresi çözülemedi"
},
"disambiguated_profile": "%(displayName)s (%(matrixId)s)",
- "download_action_decrypting": "Şifre çözülüyor",
"download_action_downloading": "İndiriliyor",
"download_failed": "İndirme başarısız oldu",
"download_failed_description": "Bu dosya indirilirken bir hata oluştu",
diff --git a/src/i18n/strings/uk.json b/src/i18n/strings/uk.json
index 27e9507923..6e5ef7881e 100644
--- a/src/i18n/strings/uk.json
+++ b/src/i18n/strings/uk.json
@@ -3375,7 +3375,6 @@
"unable_to_decrypt": "Не вдалося розшифрувати повідомлення"
},
"disambiguated_profile": "%(displayName)s(%(matrixId)s)",
- "download_action_decrypting": "Розшифрування",
"download_action_downloading": "Завантаження",
"download_failed": "Не вдалося завантажити",
"download_failed_description": "Під час завантаження цього файлу сталася помилка",
diff --git a/src/i18n/strings/vi.json b/src/i18n/strings/vi.json
index cdec0dd64d..6ea56d8d50 100644
--- a/src/i18n/strings/vi.json
+++ b/src/i18n/strings/vi.json
@@ -2623,7 +2623,6 @@
},
"creation_summary_dm": "%(creator)s đã tạo DM này.",
"creation_summary_room": "%(creator)s đã tạo và định cấu hình phòng.",
- "download_action_decrypting": "Đang giải mã",
"download_action_downloading": "Đang tải xuống",
"edits": {
"tooltip_label": "Đã chỉnh sửa vào %(date)s. Bấm để xem các chỉnh sửa.",
diff --git a/src/i18n/strings/zh_Hans.json b/src/i18n/strings/zh_Hans.json
index 34aa004b68..45fa514e40 100644
--- a/src/i18n/strings/zh_Hans.json
+++ b/src/i18n/strings/zh_Hans.json
@@ -2589,7 +2589,6 @@
},
"creation_summary_dm": "%(creator)s 创建了此私聊。",
"creation_summary_room": "%(creator)s 创建并配置了此房间。",
- "download_action_decrypting": "解密中",
"download_action_downloading": "下载中",
"edits": {
"tooltip_label": "编辑于 %(date)s。点击以查看编辑历史。",
diff --git a/src/i18n/strings/zh_Hant.json b/src/i18n/strings/zh_Hant.json
index f36e0b279c..63060b2969 100644
--- a/src/i18n/strings/zh_Hant.json
+++ b/src/i18n/strings/zh_Hant.json
@@ -2833,7 +2833,6 @@
},
"creation_summary_dm": "%(creator)s 建立了此私人訊息。",
"creation_summary_room": "%(creator)s 建立並設定了聊天室。",
- "download_action_decrypting": "正在解密",
"download_action_downloading": "正在下載",
"edits": {
"tooltip_label": "編輯於 %(date)s。點擊以檢視編輯。",
diff --git a/src/languageHandler.tsx b/src/languageHandler.tsx
index 9ac6cce1c5..17a8432c27 100644
--- a/src/languageHandler.tsx
+++ b/src/languageHandler.tsx
@@ -25,7 +25,7 @@ import {
type IVariables,
KEY_SEPARATOR,
getLangsJson,
-} from "./shared-components/i18n";
+} from "./shared-components/utils/i18n";
export {
_t,
@@ -40,7 +40,7 @@ export {
normalizeLanguageKey,
getNormalizedLanguageKeys,
substitute,
-} from "./shared-components/i18n";
+} from "./shared-components/utils/i18n";
const i18nFolder = "i18n/";
diff --git a/src/models/Call.ts b/src/models/Call.ts
index 70c7e4779f..2e1f0f1f10 100644
--- a/src/models/Call.ts
+++ b/src/models/Call.ts
@@ -669,12 +669,12 @@ export class ElementCall extends Call {
// Splice together the Element Call URL for this call
const params = new URLSearchParams({
- embed: "true", // We're embedding EC within another application
+ confineToRoom: "true", // Only show the call interface for the configured room
// Template variables are used, so that this can be configured using the widget data.
skipLobby: "$skipLobby", // Skip the lobby in case we show a lobby component of our own.
returnToLobby: "$returnToLobby", // Returns to the lobby (instead of blank screen) when the call ends. (For video rooms)
perParticipantE2EE: "$perParticipantE2EE",
- hideHeader: "true", // Hide the header since our room header is enough
+ header: "none", // Hide the header since our room header is enough
userId: client.getUserId()!,
deviceId: client.getDeviceId()!,
roomId: roomId,
diff --git a/src/settings/Settings.tsx b/src/settings/Settings.tsx
index 4ed3752372..3adb29a23e 100644
--- a/src/settings/Settings.tsx
+++ b/src/settings/Settings.tsx
@@ -12,7 +12,7 @@ import { UNSTABLE_MSC4133_EXTENDED_PROFILES } from "matrix-js-sdk/src/matrix";
import { type MediaPreviewConfig } from "../@types/media_preview.ts";
// Import i18n.tsx instead of languageHandler to avoid circular deps
-import { _t, _td, type TranslationKey } from "../shared-components/i18n";
+import { _t, _td, type TranslationKey } from "../shared-components/utils/i18n";
import DeviceIsolationModeController from "./controllers/DeviceIsolationModeController.ts";
import {
NotificationBodyEnabledController,
@@ -205,6 +205,7 @@ export interface Settings {
"feature_mjolnir": IFeature;
"feature_custom_themes": IFeature;
"feature_exclude_insecure_devices": IFeature;
+ "feature_share_history_on_invite": IFeature;
"feature_html_topic": IFeature;
"feature_bridge_state": IFeature;
"feature_jump_to_date": IFeature;
@@ -503,6 +504,29 @@ export const SETTINGS: Settings = {
supportedLevelsAreOrdered: true,
default: false,
},
+ "feature_share_history_on_invite": {
+ isFeature: true,
+ labsGroup: LabGroup.Encryption,
+ displayName: _td("labs|share_history_on_invite"),
+ description: () => (
+ <>
+ {_t("labs|share_history_on_invite_description")}
+
+ {_t(
+ "settings|warning",
+ {},
+ {
+ w: (sub) => {sub},
+ description: _t("labs|share_history_on_invite_warning"),
+ },
+ )}
+
+ >
+ ),
+ supportedLevels: LEVELS_DEVICE_ONLY_SETTINGS_WITH_CONFIG_PRIORITISED,
+ supportedLevelsAreOrdered: true,
+ default: false,
+ },
"useOnlyCurrentProfiles": {
supportedLevels: LEVELS_ACCOUNT_SETTINGS,
displayName: _td("settings|disable_historical_profile"),
diff --git a/res/css/components/views/utils/_Box.pcss b/src/shared-components/utils/Box/Box.module.css
similarity index 88%
rename from res/css/components/views/utils/_Box.pcss
rename to src/shared-components/utils/Box/Box.module.css
index 5721e32633..7daf7889b7 100644
--- a/res/css/components/views/utils/_Box.pcss
+++ b/src/shared-components/utils/Box/Box.module.css
@@ -6,14 +6,14 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Com
Please see LICENSE files in the repository root for full details.
*/
-.mx_Box--flex {
+.box-flex {
flex: var(--mx-box-flex, unset);
}
-.mx_Box--shrink {
+.box-shrink {
flex-shrink: var(--mx-box-shrink, unset);
}
-.mx_Box--grow {
+.box-grow {
flex-grow: var(--mx-box-grow, unset);
}
diff --git a/src/components/utils/Box.tsx b/src/shared-components/utils/Box/Box.tsx
similarity index 82%
rename from src/components/utils/Box.tsx
rename to src/shared-components/utils/Box/Box.tsx
index 2c5dfa56d2..8f31984664 100644
--- a/src/components/utils/Box.tsx
+++ b/src/shared-components/utils/Box/Box.tsx
@@ -9,7 +9,9 @@ Please see LICENSE files in the repository root for full details.
import classNames from "classnames";
import React, { type JSX, useMemo } from "react";
-type FlexProps = {
+import styles from "./Box.module.css";
+
+type BoxProps = {
/**
* The type of the HTML element
* @default div
@@ -51,7 +53,7 @@ export function Box({
className,
children,
...props
-}: React.PropsWithChildren): JSX.Element {
+}: React.PropsWithChildren): JSX.Element {
const style = useMemo(() => {
const style: Record = {};
if (flex) style["--mx-box-flex"] = flex;
@@ -64,10 +66,10 @@ export function Box({
as,
{
...props,
- className: classNames("mx_Box", className, {
- "mx_Box--flex": !!flex,
- "mx_Box--shrink": !!shrink,
- "mx_Box--grow": !!grow,
+ className: classNames(className, {
+ [styles["box-flex"]]: !!flex,
+ [styles["box-shrink"]]: !!shrink,
+ [styles["box-grow"]]: !!grow,
}),
style,
},
diff --git a/src/shared-components/utils/Box/index.ts b/src/shared-components/utils/Box/index.ts
new file mode 100644
index 0000000000..ad4f27e89d
--- /dev/null
+++ b/src/shared-components/utils/Box/index.ts
@@ -0,0 +1,8 @@
+/*
+ * Copyright 2025 New Vector Ltd.
+ *
+ * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
+ * Please see LICENSE files in the repository root for full details.
+ */
+
+export { Box } from "./Box";
diff --git a/res/css/components/views/utils/_Flex.pcss b/src/shared-components/utils/Flex/Flex.module.css
similarity index 97%
rename from res/css/components/views/utils/_Flex.pcss
rename to src/shared-components/utils/Flex/Flex.module.css
index 9cfa6424f0..dba85c1faa 100644
--- a/res/css/components/views/utils/_Flex.pcss
+++ b/src/shared-components/utils/Flex/Flex.module.css
@@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Com
Please see LICENSE files in the repository root for full details.
*/
-.mx_Flex {
+.flex {
display: var(--mx-flex-display, unset);
flex-direction: var(--mx-flex-direction, unset);
align-items: var(--mx-flex-align, unset);
diff --git a/src/components/utils/Flex.tsx b/src/shared-components/utils/Flex/Flex.tsx
similarity index 96%
rename from src/components/utils/Flex.tsx
rename to src/shared-components/utils/Flex/Flex.tsx
index 0a8c3c2fa4..7404bf1874 100644
--- a/src/components/utils/Flex.tsx
+++ b/src/shared-components/utils/Flex/Flex.tsx
@@ -9,6 +9,8 @@ Please see LICENSE files in the repository root for full details.
import classNames from "classnames";
import React, { type JSX, type ComponentProps, type JSXElementConstructor, useMemo } from "react";
+import styles from "./Flex.module.css";
+
type FlexProps> = {
/**
* The type of the HTML element
@@ -82,5 +84,5 @@ export function Flex(
- () =>
- cli.joinRoom(address, {
- viaServers,
- ...(payload.opts || {}),
- }),
+ () => cli.joinRoom(address, joinOpts),
NUM_JOIN_RETRY,
(err) => {
// if we received a Gateway timeout or Cloudflare timeout then retry
diff --git a/src/stores/widgets/StopGapWidgetDriver.ts b/src/stores/widgets/StopGapWidgetDriver.ts
index 282d6f5d92..d47c9d18e4 100644
--- a/src/stores/widgets/StopGapWidgetDriver.ts
+++ b/src/stores/widgets/StopGapWidgetDriver.ts
@@ -168,6 +168,7 @@ export class StopGapWidgetDriver extends WidgetDriver {
WidgetEventCapability.forStateEvent(EventDirection.Receive, EventType.RoomCreate).raw,
);
+ const sendRoomEvents = [EventType.CallNotify, EventType.RTCNotification];
const sendRecvRoomEvents = [
"io.element.call.encryption_keys",
"org.matrix.rageshake_request",
@@ -175,10 +176,10 @@ export class StopGapWidgetDriver extends WidgetDriver {
EventType.RoomRedaction,
"io.element.call.reaction",
];
- for (const eventType of sendRecvRoomEvents) {
+ for (const eventType of [...sendRoomEvents, ...sendRecvRoomEvents])
this.allowedCapabilities.add(WidgetEventCapability.forRoomEvent(EventDirection.Send, eventType).raw);
+ for (const eventType of sendRecvRoomEvents)
this.allowedCapabilities.add(WidgetEventCapability.forRoomEvent(EventDirection.Receive, eventType).raw);
- }
const sendRecvToDevice = [
EventType.CallInvite,
diff --git a/src/utils/FileUtils.ts b/src/utils/FileUtils.ts
index 1240dc61db..7958489057 100644
--- a/src/utils/FileUtils.ts
+++ b/src/utils/FileUtils.ts
@@ -7,16 +7,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Com
Please see LICENSE files in the repository root for full details.
*/
-import {
- filesize,
- type FileSizeOptionsArray,
- type FileSizeOptionsBase,
- type FileSizeOptionsExponent,
- type FileSizeOptionsObject,
- type FileSizeOptionsString,
- type FileSizeReturnArray,
- type FileSizeReturnObject,
-} from "filesize";
+import { filesize, type FilesizeOptions, type FilesizeReturn } from "filesize";
import { type MediaEventContent } from "matrix-js-sdk/src/types";
import { _t } from "../languageHandler";
@@ -27,7 +18,7 @@ export function downloadLabelForFile(content: MediaEventContent, withSize = true
if (content.info?.size && withSize) {
// If we know the size of the file then add it as human-readable string to the end of the link text
// so that the user knows how big a file they are downloading.
- text += " (" + fileSize(content.info.size, { base: 2, standard: "jedec" }) + ")";
+ text += " (" + fileSize(content.info.size, { base: 2, standard: "jedec" }) + ")";
}
return text;
}
@@ -83,18 +74,11 @@ export function presentableTextForFile(
// it since it is "ugly", users generally aren't aware what it
// means and the type of the attachment can usually be inferred
// from the file extension.
- text += " (" + fileSize(content.info.size, { base: 2, standard: "jedec" }) + ")";
+ text += " (" + fileSize(content.info.size, { base: 2, standard: "jedec" }) + ")";
}
return text;
}
-type FileSizeOptions =
- | FileSizeOptionsString
- | FileSizeOptionsBase
- | FileSizeOptionsArray
- | FileSizeOptionsExponent
- | FileSizeOptionsObject;
-
/**
* wrapper function to set default values for filesize function
*
@@ -106,15 +90,7 @@ type FileSizeOptions =
* exponent: number;
* unit: string;}} formatted file size with unit e.g. 12kB, 12KB
*/
-export function fileSize(byteCount: number, options: FileSizeOptionsString | FileSizeOptionsBase): string;
-export function fileSize(byteCount: number, options: FileSizeOptionsArray): FileSizeReturnArray;
-export function fileSize(byteCount: number, options: FileSizeOptionsExponent): number;
-export function fileSize(byteCount: number, options: FileSizeOptionsObject): FileSizeReturnObject;
-export function fileSize(byteCount: number): string;
-export function fileSize(
- byteCount: number,
- options?: FileSizeOptions,
-): string | number | FileSizeReturnArray | FileSizeReturnObject {
- const defaultOption: FileSizeOptions = { base: 2, standard: "jedec", ...options };
- return filesize(byteCount, defaultOption);
+export function fileSize(byteCount: number, options?: O): FilesizeReturn {
+ const defaultOption = { base: 2, standard: "jedec", ...options } as O;
+ return filesize(byteCount, defaultOption);
}
diff --git a/src/utils/MultiInviter.ts b/src/utils/MultiInviter.ts
index f8310de8bd..9ad16c0549 100644
--- a/src/utils/MultiInviter.ts
+++ b/src/utils/MultiInviter.ts
@@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Com
Please see LICENSE files in the repository root for full details.
*/
-import { MatrixError, type MatrixClient, EventType, type EmptyObject } from "matrix-js-sdk/src/matrix";
+import { MatrixError, type MatrixClient, EventType, type EmptyObject, type InviteOpts } from "matrix-js-sdk/src/matrix";
import { KnownMembership } from "matrix-js-sdk/src/types";
import { logger } from "matrix-js-sdk/src/logger";
@@ -183,7 +183,11 @@ export default class MultiInviter {
}
}
- return this.matrixClient.invite(roomId, addr, this.reason);
+ const opts: InviteOpts = {};
+ if (this.reason !== undefined) opts.reason = this.reason;
+ if (SettingsStore.getValue("feature_share_history_on_invite")) opts.shareEncryptedHistory = true;
+
+ return this.matrixClient.invite(roomId, addr, opts);
} else {
throw new Error("Unsupported address");
}
diff --git a/src/utils/exportUtils/HtmlExport.tsx b/src/utils/exportUtils/HtmlExport.tsx
index c20ea8762f..d8ded97ff5 100644
--- a/src/utils/exportUtils/HtmlExport.tsx
+++ b/src/utils/exportUtils/HtmlExport.tsx
@@ -161,7 +161,7 @@ export default class HTMLExporter extends Exporter {