From 3e67489a9b250453648709095c05662a5ca3d6c6 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 13 Jan 2025 13:43:15 +0000 Subject: [PATCH 01/49] Translated using Weblate (Hungarian) Currently translated at 99.6% (2642 of 2651 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/hu/ --- library/ui-strings/src/main/res/values-hu/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/ui-strings/src/main/res/values-hu/strings.xml b/library/ui-strings/src/main/res/values-hu/strings.xml index ceff3b9f57..3a5f106935 100644 --- a/library/ui-strings/src/main/res/values-hu/strings.xml +++ b/library/ui-strings/src/main/res/values-hu/strings.xml @@ -143,7 +143,7 @@ Ön beállította a saját megjelenítendő nevét erre: %1$s Az Ön meghívója %1$s hozzáférési szintjét erről: %2$s, erre: %3$s - %1$s megváltoztatta %1$s hozzáférési szintjét. + %1$s megváltoztatta %2$s hozzáférési szintjét. Ön megváltoztatta %1$s hozzáférési szintjét. 🎉 Minden kiszolgáló ki lett tiltva a szobából! Ez a szoba többé nem használható. Nincs változás. @@ -1658,7 +1658,7 @@ A Visszaállítási Kulcsot tartsd biztonságos helyen, mint pl. egy jelszókeze %1$s hozzáadta a szobához a következő alternatív szobacímeket: %2$s Ön eltávolította a szoba elsődleges címét. - Ön beállította a szoba elsődleges címét erre: %2$s. + Ön beállította a szoba elsődleges címét erre: %1$s. Ön hozzáadta a szobához a következő címeket:%1$s, és eltávolította a következő szobacímeket: %2$s. Ön eltávolította ezt a szobacímet: %1$s From 71e8ab975d7aa7336c19379b02cc40ac66af69a3 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 13 Jan 2025 14:00:05 +0000 Subject: [PATCH 02/49] Translated using Weblate (Georgian) Currently translated at 99.8% (2647 of 2651 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/ka/ --- library/ui-strings/src/main/res/values-ka/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/ui-strings/src/main/res/values-ka/strings.xml b/library/ui-strings/src/main/res/values-ka/strings.xml index 9fb0f03c16..dfad5197ec 100644 --- a/library/ui-strings/src/main/res/values-ka/strings.xml +++ b/library/ui-strings/src/main/res/values-ka/strings.xml @@ -678,7 +678,7 @@ შეტყობინებების დიაგნოსტიკა პრობლემების დიაგნოსტიკა ტესტების გაშვება - გაშვება... (%1$d %2$d-დან) + გაშვება… (%1$d %2$d-დან) ერთი ან მეტი ტესტი ჩაიშალა, სცადეთ შემოთავაზებული გამოსწორება(ებ)ი. სისტემის პარამეტრები. შეტყობინებები ჩართულია სისტემის პარამეტრებში. From b670708f8a2324482387ee2d529ff240508bbe36 Mon Sep 17 00:00:00 2001 From: Danial Behzadi Date: Mon, 13 Jan 2025 16:09:25 +0000 Subject: [PATCH 03/49] Translated using Weblate (Persian) Currently translated at 100.0% (2651 of 2651 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/fa/ --- library/ui-strings/src/main/res/values-fa/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/library/ui-strings/src/main/res/values-fa/strings.xml b/library/ui-strings/src/main/res/values-fa/strings.xml index 8ba6d2a2ec..65dbc06631 100644 --- a/library/ui-strings/src/main/res/values-fa/strings.xml +++ b/library/ui-strings/src/main/res/values-fa/strings.xml @@ -2975,4 +2975,8 @@ تماس پشتیبانی نشده. برای پیوستن به این تماس نیاز به کارهٔ جدید المنت اکس است. صدابَر در حال استفاده تماس پشتیبانی نشده + برای استفاده از %2$s برای حسابتان %1$s را گرفته یا کارساز خانگی دیگری را برگزینید. + بارگیری %1$s + دیگر نمی‌توانید با این کاره حسابی روی %1$s بسازید + سریع‌تر، امن‌تر و دارای ابزارهای همکاری قدرتمند. \ No newline at end of file From 0eddea4512c2dfbcd07a6b66162724c3e2c8f625 Mon Sep 17 00:00:00 2001 From: Danial Behzadi Date: Mon, 13 Jan 2025 16:08:17 +0000 Subject: [PATCH 04/49] Translated using Weblate (Persian) Currently translated at 100.0% (114 of 114 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/fa/ --- fastlane/metadata/android/fa/changelogs/40106280.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/fa/changelogs/40106280.txt diff --git a/fastlane/metadata/android/fa/changelogs/40106280.txt b/fastlane/metadata/android/fa/changelogs/40106280.txt new file mode 100644 index 0000000000..8e1b11f5a2 --- /dev/null +++ b/fastlane/metadata/android/fa/changelogs/40106280.txt @@ -0,0 +1,2 @@ +تغییرات عمده در این نگارش: هدایت کاربران به المنت اکس هنگام تلاش برای ساختن حساب روی کارسازی با پشتیبانی از MAS. +گزارش دگرگونی کامل: https://github.com/element-hq/element-android/releases From 2f1b849dfa78f1658d2c2fdcfd3a691ce8f2879c Mon Sep 17 00:00:00 2001 From: Besnik Bleta Date: Mon, 13 Jan 2025 17:20:38 +0000 Subject: [PATCH 05/49] Translated using Weblate (Albanian) Currently translated at 99.4% (2637 of 2651 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/sq/ --- library/ui-strings/src/main/res/values-sq/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/library/ui-strings/src/main/res/values-sq/strings.xml b/library/ui-strings/src/main/res/values-sq/strings.xml index 0c7f74b2ff..7c57e8707a 100644 --- a/library/ui-strings/src/main/res/values-sq/strings.xml +++ b/library/ui-strings/src/main/res/values-sq/strings.xml @@ -2963,4 +2963,8 @@ Mikrofon në përdorim Thirrje që s’mbulohet. Për të marrë pjesë në këtë thirrje lypset aplikacioni i ri Element X. Thirrje që s’mbulohet + Shkarkoni %1$s, që të përdorni %2$s për llogarinë tuaj, ose zgjidhni një tjetër shërbyes Home. + Shkarko %1$s + S’mund të krijoni më një llogari te %1$s duke përdorur këtë aplikacion + I shpejtë, më i siguruar dhe plot mjete të fuqishme bashkëpunimi. \ No newline at end of file From f3af34dcb5f844c9e2f2503e3041603daa8c575a Mon Sep 17 00:00:00 2001 From: Besnik Bleta Date: Mon, 13 Jan 2025 17:18:49 +0000 Subject: [PATCH 06/49] Translated using Weblate (Albanian) Currently translated at 100.0% (114 of 114 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/sq/ --- fastlane/metadata/android/sq/changelogs/40106280.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/sq/changelogs/40106280.txt diff --git a/fastlane/metadata/android/sq/changelogs/40106280.txt b/fastlane/metadata/android/sq/changelogs/40106280.txt new file mode 100644 index 0000000000..09d3e6d03b --- /dev/null +++ b/fastlane/metadata/android/sq/changelogs/40106280.txt @@ -0,0 +1,2 @@ +Ndryshimet kryesore në këtë version: Ridrejto përdoruesit te Element X, kur duan të krijojnë llogari në shërbyes që mbulojnë MAS. +Regjistër i plotë ndryshimesh: https://github.com/element-hq/element-android/releases From fb92511caf2a96d04f23e8e6f219e893190fa668 Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Mon, 13 Jan 2025 23:33:44 +0000 Subject: [PATCH 07/49] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (2651 of 2651 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hant/ --- library/ui-strings/src/main/res/values-zh-rTW/strings.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/library/ui-strings/src/main/res/values-zh-rTW/strings.xml b/library/ui-strings/src/main/res/values-zh-rTW/strings.xml index 79257f87ff..80532b8b81 100644 --- a/library/ui-strings/src/main/res/values-zh-rTW/strings.xml +++ b/library/ui-strings/src/main/res/values-zh-rTW/strings.xml @@ -2912,4 +2912,11 @@ \n \n若您不想要看到來自此使用者的任何內容,您可以忽略他們以隱藏他們的訊息。 回報使用者 + 下載 %1$s + 麥克風使用中 + 不支援的通話。需要新的 Element X 應用程式才能加入此通話。 + 不支援的通話 + 您無法再使用此應用程式建立 %1$s 的帳號 + 下載 %1$s 以將 %2$s 用於您的帳號或選擇其他家伺服器。 + 更快、更安全,並配備了強大的協作工具。 \ No newline at end of file From 87ad09cb5557c409b7e3683b89072123c21f1b96 Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Mon, 13 Jan 2025 23:30:24 +0000 Subject: [PATCH 08/49] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (114 of 114 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/zh_Hant/ --- fastlane/metadata/android/zh-TW/changelogs/40106220.txt | 2 ++ fastlane/metadata/android/zh-TW/changelogs/40106240.txt | 2 ++ fastlane/metadata/android/zh-TW/changelogs/40106260.txt | 2 ++ fastlane/metadata/android/zh-TW/changelogs/40106280.txt | 2 ++ 4 files changed, 8 insertions(+) create mode 100644 fastlane/metadata/android/zh-TW/changelogs/40106220.txt create mode 100644 fastlane/metadata/android/zh-TW/changelogs/40106240.txt create mode 100644 fastlane/metadata/android/zh-TW/changelogs/40106260.txt create mode 100644 fastlane/metadata/android/zh-TW/changelogs/40106280.txt diff --git a/fastlane/metadata/android/zh-TW/changelogs/40106220.txt b/fastlane/metadata/android/zh-TW/changelogs/40106220.txt new file mode 100644 index 0000000000..ee25082a4b --- /dev/null +++ b/fastlane/metadata/android/zh-TW/changelogs/40106220.txt @@ -0,0 +1,2 @@ +此版本中的主要變動:crypto SDK 更新。 +完整的變更紀錄:https://github.com/element-hq/element-android/releases diff --git a/fastlane/metadata/android/zh-TW/changelogs/40106240.txt b/fastlane/metadata/android/zh-TW/changelogs/40106240.txt new file mode 100644 index 0000000000..a509b096cc --- /dev/null +++ b/fastlane/metadata/android/zh-TW/changelogs/40106240.txt @@ -0,0 +1,2 @@ +此版本中的主要變動:通知使用者不支援 Element Call。 +完整的變更紀錄:https://github.com/element-hq/element-android/releases diff --git a/fastlane/metadata/android/zh-TW/changelogs/40106260.txt b/fastlane/metadata/android/zh-TW/changelogs/40106260.txt new file mode 100644 index 0000000000..ee25082a4b --- /dev/null +++ b/fastlane/metadata/android/zh-TW/changelogs/40106260.txt @@ -0,0 +1,2 @@ +此版本中的主要變動:crypto SDK 更新。 +完整的變更紀錄:https://github.com/element-hq/element-android/releases diff --git a/fastlane/metadata/android/zh-TW/changelogs/40106280.txt b/fastlane/metadata/android/zh-TW/changelogs/40106280.txt new file mode 100644 index 0000000000..ed52bbfe02 --- /dev/null +++ b/fastlane/metadata/android/zh-TW/changelogs/40106280.txt @@ -0,0 +1,2 @@ +此版本中的主要變動:當使用者想要在有 MAS 支援的伺服器上建立帳號時,將使用者重新導向到 Element X。 +完整的變更紀錄:https://github.com/element-hq/element-android/releases From a86780e86a699159ec32f91605110918cbee3ae4 Mon Sep 17 00:00:00 2001 From: Glandos Date: Tue, 14 Jan 2025 08:00:12 +0000 Subject: [PATCH 09/49] Translated using Weblate (French) Currently translated at 100.0% (2651 of 2651 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/fr/ --- library/ui-strings/src/main/res/values-fr/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/library/ui-strings/src/main/res/values-fr/strings.xml b/library/ui-strings/src/main/res/values-fr/strings.xml index 4f83b70306..54d7b7bfd5 100644 --- a/library/ui-strings/src/main/res/values-fr/strings.xml +++ b/library/ui-strings/src/main/res/values-fr/strings.xml @@ -2975,4 +2975,8 @@ Appel non pris en charge Appel non pris en charge. La nouvelle application Element X est nécessaire pour rejoindre cet appel. Microphone en service + Vous ne pouvez plus créer de compte sur %1$s avec cette application + Téléchargez %1$s pour utiliser %2$s avec votre compte, ou choisissez un autre serveur d’accueil. + Télécharger %1$s + Plus rapide, plus sécurisé et fourni avec des outils de collaboration efficaces. \ No newline at end of file From d59275f2755623012856c699a648db0034c7d361 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Priit=20J=C3=B5er=C3=BC=C3=BCt?= Date: Tue, 14 Jan 2025 09:31:16 +0000 Subject: [PATCH 10/49] Translated using Weblate (Estonian) Currently translated at 100.0% (2651 of 2651 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/et/ --- library/ui-strings/src/main/res/values-et/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/library/ui-strings/src/main/res/values-et/strings.xml b/library/ui-strings/src/main/res/values-et/strings.xml index d00895765e..28804e2cd5 100644 --- a/library/ui-strings/src/main/res/values-et/strings.xml +++ b/library/ui-strings/src/main/res/values-et/strings.xml @@ -2975,4 +2975,8 @@ Mikrofon on kasutusel See kõne pole toetatud See kõne pole toetatud. Kõnega liitumiseks palun kasuta uut Element X rakendust. + Laadi alla %1$s + Kiirem, turvalisem ja sisaldab palju võimsaid ühistöövahendeid. + Selle rakendusega enam ei saa luua kasutajakontot teenuses %1$s + %2$s teenuse kasutamiseks võta kasutusele %1$s või vali mõni muu koduserver. \ No newline at end of file From 4ef8b2f1a726d696a197c61a0d9632491547206e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Priit=20J=C3=B5er=C3=BC=C3=BCt?= Date: Tue, 14 Jan 2025 09:30:19 +0000 Subject: [PATCH 11/49] Translated using Weblate (Estonian) Currently translated at 100.0% (114 of 114 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/et/ --- fastlane/metadata/android/et/changelogs/40106280.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/et/changelogs/40106280.txt diff --git a/fastlane/metadata/android/et/changelogs/40106280.txt b/fastlane/metadata/android/et/changelogs/40106280.txt new file mode 100644 index 0000000000..82cf1afbe0 --- /dev/null +++ b/fastlane/metadata/android/et/changelogs/40106280.txt @@ -0,0 +1,2 @@ +Põhilised muutused selles versioonis: kui kasutaja soovib lisada kontot MASi toega serverisse, siis suuname ta Element Xi juurde. +Kogu ingliskeelne muudatuste logi: https://github.com/element-hq/element-android/releases From c9528d8f146be551b189c110bac379ad1099793e Mon Sep 17 00:00:00 2001 From: Linerly Date: Tue, 14 Jan 2025 11:02:55 +0000 Subject: [PATCH 12/49] Translated using Weblate (Indonesian) Currently translated at 100.0% (2651 of 2651 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/id/ --- library/ui-strings/src/main/res/values-in/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/library/ui-strings/src/main/res/values-in/strings.xml b/library/ui-strings/src/main/res/values-in/strings.xml index 9426589abe..ba3667b66c 100644 --- a/library/ui-strings/src/main/res/values-in/strings.xml +++ b/library/ui-strings/src/main/res/values-in/strings.xml @@ -2917,4 +2917,8 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan. Mikrofon digunakan Panggilan tidak didukung Panggilan tidak didukung. Aplikasi Element X yang baru diperlukan untuk bergabung ke panggilan ini. + Unduh %1$s + Lebih cepat, lebih aman, dan lengkap dengan peralatan kolaborasi yang lebih berdaya. + Anda sudah tidak bisa lagi membuat akun dengan %1$s menggunakan aplikasi ini + Unduh %1$s untuk menggunakan %2$s untuk Akun Anda atau pilih homeserver yang lain. \ No newline at end of file From f50b445203797c3aa45ed1d6e383f74e712269aa Mon Sep 17 00:00:00 2001 From: Linerly Date: Tue, 14 Jan 2025 11:04:10 +0000 Subject: [PATCH 13/49] Translated using Weblate (Indonesian) Currently translated at 100.0% (114 of 114 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/id/ --- fastlane/metadata/android/id/changelogs/40106280.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/id/changelogs/40106280.txt diff --git a/fastlane/metadata/android/id/changelogs/40106280.txt b/fastlane/metadata/android/id/changelogs/40106280.txt new file mode 100644 index 0000000000..84f05c1a79 --- /dev/null +++ b/fastlane/metadata/android/id/changelogs/40106280.txt @@ -0,0 +1,2 @@ +Perubahan utama dalam versi ini: Alihkan pengguna ke Element X ketika ingin membuat akun di server dengan dukungan MAS. +Catatan perubahan lanjutan: https://github.com/element-hq/element-android/releases From 605996121d4c8a20d974375842b4d82c3b2b5086 Mon Sep 17 00:00:00 2001 From: Mike Date: Thu, 16 Jan 2025 00:28:03 +0000 Subject: [PATCH 14/49] Translated using Weblate (Portuguese (Brazil)) Currently translated at 99.6% (2642 of 2651 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/pt_BR/ --- library/ui-strings/src/main/res/values-pt-rBR/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/ui-strings/src/main/res/values-pt-rBR/strings.xml b/library/ui-strings/src/main/res/values-pt-rBR/strings.xml index 5a82d1c32b..401805e99e 100644 --- a/library/ui-strings/src/main/res/values-pt-rBR/strings.xml +++ b/library/ui-strings/src/main/res/values-pt-rBR/strings.xml @@ -1430,7 +1430,7 @@ Novo login. Foi você\? Use esta sessão para verificar sua nova, concedendo-lhe acesso a mensagens encriptadas. Não foi eu - Sua conta pode estar comprometida + I Se você cancelar, você não vai ser capaz de ler mensagens encriptadas neste dispositivo, e outras(os) usuárias(os) não vão confiar nele Se você cancelar, você não vai ser capaz de ler mensagens encriptadas em seu novo dispositivo, e outras(os) usuárias(os) não vão confiar nele Você não vai verificar %1$s (%2$s) se cancelar agora. Comece de novo no perfil de usuária(o) dela(e). From df4088913f8dc6edc5aeb42483a4c7ea933d64af Mon Sep 17 00:00:00 2001 From: Ihor Hordiichuk Date: Thu, 16 Jan 2025 11:48:47 +0000 Subject: [PATCH 15/49] Translated using Weblate (Ukrainian) Currently translated at 100.0% (2651 of 2651 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/uk/ --- library/ui-strings/src/main/res/values-uk/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/library/ui-strings/src/main/res/values-uk/strings.xml b/library/ui-strings/src/main/res/values-uk/strings.xml index 839251523f..f5cad9e016 100644 --- a/library/ui-strings/src/main/res/values-uk/strings.xml +++ b/library/ui-strings/src/main/res/values-uk/strings.xml @@ -3095,4 +3095,8 @@ Мікрофон використовується Непідтримуваний виклик Непідтримуваний виклик. Потрібен застосунок Element X, щоб приєднатися до цього виклику. + Ви більше не можете створити обліковий запис з %1$s за допомогою цього застосунку + Завантажте %1$s, щоб використовувати %2$s для свого облікового запису або виберіть інший домашній сервер. + Завантажити %1$s + Швидший, безпечніший і з потужними інструментами для спільної роботи. \ No newline at end of file From 8ef6181802bb54868e3c8ff7dcbab8f3f08f2088 Mon Sep 17 00:00:00 2001 From: Mike Date: Thu, 16 Jan 2025 13:05:44 +0000 Subject: [PATCH 16/49] Translated using Weblate (Slovak) Currently translated at 98.2% (112 of 114 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/sk/ --- fastlane/metadata/android/sk/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/sk/short_description.txt b/fastlane/metadata/android/sk/short_description.txt index 942bd27ca8..0744f4a617 100644 --- a/fastlane/metadata/android/sk/short_description.txt +++ b/fastlane/metadata/android/sk/short_description.txt @@ -1 +1 @@ -Skupinový messenger - šifrované správy, skupinové konverzácie a videohovory +Zabezpečené konverzácie a VoIP. Ochráňte vaše údaje pred tretími stranami. From bb24b1621cfde0544f4a5a003b9dddd44cfaa0bf Mon Sep 17 00:00:00 2001 From: Ihor Hordiichuk Date: Thu, 16 Jan 2025 11:47:38 +0000 Subject: [PATCH 17/49] Translated using Weblate (Ukrainian) Currently translated at 100.0% (114 of 114 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/uk/ --- fastlane/metadata/android/uk/changelogs/40106280.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/uk/changelogs/40106280.txt diff --git a/fastlane/metadata/android/uk/changelogs/40106280.txt b/fastlane/metadata/android/uk/changelogs/40106280.txt new file mode 100644 index 0000000000..ac33502e85 --- /dev/null +++ b/fastlane/metadata/android/uk/changelogs/40106280.txt @@ -0,0 +1,2 @@ +Основні зміни в цій версії: Переспрямування користувачів до Element X, коли вони хочуть створити облікові записи на сервері з підтримкою MAS. +Список усіх змін: https://github.com/element-hq/element-android/releases From a16544f194446a94ff4cf1535c8a9bc430c87f3c Mon Sep 17 00:00:00 2001 From: LinAGKar Date: Tue, 21 Jan 2025 20:41:47 +0000 Subject: [PATCH 18/49] Translated using Weblate (Swedish) Currently translated at 100.0% (2651 of 2651 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/sv/ --- library/ui-strings/src/main/res/values-sv/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/library/ui-strings/src/main/res/values-sv/strings.xml b/library/ui-strings/src/main/res/values-sv/strings.xml index 6358aedf7a..6352c01e76 100644 --- a/library/ui-strings/src/main/res/values-sv/strings.xml +++ b/library/ui-strings/src/main/res/values-sv/strings.xml @@ -2975,4 +2975,8 @@ Mikrofon används Samtal stöds inte Samtal stöds inte. Nya Element X-appen behövs för att gå med i det här samtalet. + Ladda ner %1$s + Snabbare, säkrare och fullproppad med kraftfulla samarbetsverktyg. + Du kan inte längre skapa ett konto med %1$s med den här appen + Ladda ner %1$s för att använda %2$s för ditt konto eller välj en annan hemserver. \ No newline at end of file From e1530b076ffcaecacae8b851fea768f4f80f2f69 Mon Sep 17 00:00:00 2001 From: LinAGKar Date: Tue, 21 Jan 2025 20:40:22 +0000 Subject: [PATCH 19/49] Translated using Weblate (Swedish) Currently translated at 100.0% (114 of 114 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/sv/ --- fastlane/metadata/android/sv-SE/changelogs/40106280.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/sv-SE/changelogs/40106280.txt diff --git a/fastlane/metadata/android/sv-SE/changelogs/40106280.txt b/fastlane/metadata/android/sv-SE/changelogs/40106280.txt new file mode 100644 index 0000000000..bda6849891 --- /dev/null +++ b/fastlane/metadata/android/sv-SE/changelogs/40106280.txt @@ -0,0 +1,2 @@ +Huvudsakliga ändringar i den här versionen: Omdirigera användare till Element X när de vill skapa konton på server med MAS-stöd. +Full ändringslogg: https://github.com/element-hq/element-android/releases From 32d9d7567b0803ca9cd963b8041201f82877e414 Mon Sep 17 00:00:00 2001 From: Mike Date: Wed, 22 Jan 2025 04:13:47 +0000 Subject: [PATCH 20/49] Translated using Weblate (Spanish) Currently translated at 33.3% (38 of 114 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/es/ --- fastlane/metadata/android/es-ES/changelogs/40103120.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/es-ES/changelogs/40103120.txt diff --git a/fastlane/metadata/android/es-ES/changelogs/40103120.txt b/fastlane/metadata/android/es-ES/changelogs/40103120.txt new file mode 100644 index 0000000000..9d36b62d3e --- /dev/null +++ b/fastlane/metadata/android/es-ES/changelogs/40103120.txt @@ -0,0 +1,2 @@ +Principales cambios en esta versión: mejora del rendimiento y corrección de errores. +Registro de cambios completo: https://github.com/element-hq/element-android/releases/tag/v1.1.1 From 26b604cd8c5eac5304b940f0ea4ea30c97029a18 Mon Sep 17 00:00:00 2001 From: Mike Date: Wed, 22 Jan 2025 04:04:51 +0000 Subject: [PATCH 21/49] Translated using Weblate (Slovak) Currently translated at 98.2% (112 of 114 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/sk/ --- fastlane/metadata/android/sk/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/sk/short_description.txt b/fastlane/metadata/android/sk/short_description.txt index 0744f4a617..942bd27ca8 100644 --- a/fastlane/metadata/android/sk/short_description.txt +++ b/fastlane/metadata/android/sk/short_description.txt @@ -1 +1 @@ -Zabezpečené konverzácie a VoIP. Ochráňte vaše údaje pred tretími stranami. +Skupinový messenger - šifrované správy, skupinové konverzácie a videohovory From 15b51830d3425d4308f72170740244f6b5906743 Mon Sep 17 00:00:00 2001 From: Jozef Gaal Date: Wed, 22 Jan 2025 13:21:06 +0000 Subject: [PATCH 22/49] Translated using Weblate (Slovak) Currently translated at 100.0% (2651 of 2651 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/sk/ --- library/ui-strings/src/main/res/values-sk/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/library/ui-strings/src/main/res/values-sk/strings.xml b/library/ui-strings/src/main/res/values-sk/strings.xml index f3b5ef1dfa..6bb12dde1d 100644 --- a/library/ui-strings/src/main/res/values-sk/strings.xml +++ b/library/ui-strings/src/main/res/values-sk/strings.xml @@ -3035,4 +3035,8 @@ Mikrofón v prevádzke Nepodporovaný hovor Nepodporovaný hovor. Na pripojenie k tomuto hovoru je potrebná nová aplikácia Element X. + Stiahnite si %1$s a používajte %2$s pre svoje konto alebo si vyberte iný domovský server. + Stiahnuť %1$s + Pomocou tejto aplikácie si už nemôžete vytvoriť účet %1$s + Rýchlejší, bezpečnejší a vybavený výkonnými nástrojmi na spoluprácu. \ No newline at end of file From b0acd59f5060622c75204726c63334b11f8dec11 Mon Sep 17 00:00:00 2001 From: Jozef Gaal Date: Wed, 22 Jan 2025 13:15:34 +0000 Subject: [PATCH 23/49] Translated using Weblate (Slovak) Currently translated at 100.0% (114 of 114 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/sk/ --- fastlane/metadata/android/sk/changelogs/40106260.txt | 2 ++ fastlane/metadata/android/sk/changelogs/40106280.txt | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 fastlane/metadata/android/sk/changelogs/40106260.txt create mode 100644 fastlane/metadata/android/sk/changelogs/40106280.txt diff --git a/fastlane/metadata/android/sk/changelogs/40106260.txt b/fastlane/metadata/android/sk/changelogs/40106260.txt new file mode 100644 index 0000000000..18d36fe1f7 --- /dev/null +++ b/fastlane/metadata/android/sk/changelogs/40106260.txt @@ -0,0 +1,2 @@ +Hlavné zmeny v tejto verzii: aktualizácia crypto sdk. +Úplný zoznam zmien: https://github.com/element-hq/element-android/releases diff --git a/fastlane/metadata/android/sk/changelogs/40106280.txt b/fastlane/metadata/android/sk/changelogs/40106280.txt new file mode 100644 index 0000000000..f3620f3a05 --- /dev/null +++ b/fastlane/metadata/android/sk/changelogs/40106280.txt @@ -0,0 +1,2 @@ +Hlavné zmeny v tejto verzii: Presmerovanie používateľa na Element X, keď chce vytvoriť účty na serveri s podporou MAS. +Úplný zoznam zmien: https://github.com/element-hq/element-android/releases From aada1a158ef18556c961fe17ccdced4fcc911e18 Mon Sep 17 00:00:00 2001 From: waclaw66 Date: Fri, 24 Jan 2025 07:53:35 +0000 Subject: [PATCH 24/49] Translated using Weblate (Czech) Currently translated at 100.0% (2651 of 2651 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/cs/ --- library/ui-strings/src/main/res/values-cs/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/library/ui-strings/src/main/res/values-cs/strings.xml b/library/ui-strings/src/main/res/values-cs/strings.xml index f17e0bec1e..488b3017e5 100644 --- a/library/ui-strings/src/main/res/values-cs/strings.xml +++ b/library/ui-strings/src/main/res/values-cs/strings.xml @@ -3035,4 +3035,8 @@ Nepodporované volání Nepodporované volání. Pro připojení k tomuto volání je nutná nová aplikace Element X. Mikrofon se používá + Stáhněte si %1$s a používejte %2$s se svým účetem nebo si vyberte jiný domovský server. + Stáhnout %1$s + Pomocí této aplikace již nelze vytvořit účet na %1$s + Rychlejší, bezpečnější a s výkonnými nástroji pro spolupráci. \ No newline at end of file From 439200fcb093011ca2f7e3e03ad8218b6d1f3349 Mon Sep 17 00:00:00 2001 From: waclaw66 Date: Fri, 24 Jan 2025 07:55:36 +0000 Subject: [PATCH 25/49] Translated using Weblate (Czech) Currently translated at 100.0% (114 of 114 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/cs/ --- fastlane/metadata/android/cs-CZ/changelogs/40106280.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/cs-CZ/changelogs/40106280.txt diff --git a/fastlane/metadata/android/cs-CZ/changelogs/40106280.txt b/fastlane/metadata/android/cs-CZ/changelogs/40106280.txt new file mode 100644 index 0000000000..d830a1417e --- /dev/null +++ b/fastlane/metadata/android/cs-CZ/changelogs/40106280.txt @@ -0,0 +1,2 @@ +Hlavní změny v této verzi: Přesměrování uživatele na Element X, když chce vytvořit účty na serveru s podporou MAS. +Úplný seznam změn: https://github.com/element-hq/element-android/releases From 3e61abb935bb50b5a285be0ad5491f4d2e820064 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BE=9D=E4=BA=91?= Date: Sat, 1 Feb 2025 05:10:51 +0000 Subject: [PATCH 26/49] Translated using Weblate (Chinese (Simplified)) Currently translated at 99.8% (2647 of 2651 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hans/ --- library/ui-strings/src/main/res/values-zh-rCN/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/ui-strings/src/main/res/values-zh-rCN/strings.xml b/library/ui-strings/src/main/res/values-zh-rCN/strings.xml index 6d2752b2e5..8b88e229e3 100644 --- a/library/ui-strings/src/main/res/values-zh-rCN/strings.xml +++ b/library/ui-strings/src/main/res/values-zh-rCN/strings.xml @@ -1889,7 +1889,7 @@ 暂且略过 加入我的空间 %1$s %2$s 他们不会成为 %s 的一部分 - 刚到此房间 + 仅到此房间 他们将可以探索 %s 邀请至 %s 共享链接 From c2d7c881832a5f9b08ac172fb4d03d955e1031ac Mon Sep 17 00:00:00 2001 From: S3608362402 Date: Mon, 3 Feb 2025 14:40:31 +0000 Subject: [PATCH 27/49] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (2651 of 2651 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hans/ --- library/ui-strings/src/main/res/values-zh-rCN/strings.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/library/ui-strings/src/main/res/values-zh-rCN/strings.xml b/library/ui-strings/src/main/res/values-zh-rCN/strings.xml index 8b88e229e3..61f5a8ead2 100644 --- a/library/ui-strings/src/main/res/values-zh-rCN/strings.xml +++ b/library/ui-strings/src/main/res/values-zh-rCN/strings.xml @@ -2915,4 +2915,8 @@ 麦克风正在使用 不支持的通话 不支持的通话。需要新的Element X应用来加入此通话。 + 下载%1$s + 更快、更安全,并配备了强大的协作工具。 + 下载%1$s以将%2$s用于您的帐户或选择不同的主服务器。 + 您无法再使用此应用程序创建%1$s的帐户 \ No newline at end of file From 0321e932c41ee0a679153a6671c61f9834c792d3 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 4 Feb 2025 10:44:08 +0100 Subject: [PATCH 28/49] version++ --- matrix-sdk-android/build.gradle | 2 +- vector-app/build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/matrix-sdk-android/build.gradle b/matrix-sdk-android/build.gradle index d72afa317a..90eca2e0ab 100644 --- a/matrix-sdk-android/build.gradle +++ b/matrix-sdk-android/build.gradle @@ -62,7 +62,7 @@ android { // that the app's state is completely cleared between tests. testInstrumentationRunnerArguments clearPackageData: 'true' - buildConfigField "String", "SDK_VERSION", "\"1.6.30\"" + buildConfigField "String", "SDK_VERSION", "\"1.6.32\"" buildConfigField "String", "GIT_SDK_REVISION", "\"${gitRevision()}\"" buildConfigField "String", "GIT_SDK_REVISION_UNIX_DATE", "\"${gitRevisionUnixDate()}\"" diff --git a/vector-app/build.gradle b/vector-app/build.gradle index d571a6da86..b8957c4093 100644 --- a/vector-app/build.gradle +++ b/vector-app/build.gradle @@ -37,7 +37,7 @@ ext.versionMinor = 6 // Note: even values are reserved for regular release, odd values for hotfix release. // When creating a hotfix, you should decrease the value, since the current value // is the value for the next regular release. -ext.versionPatch = 30 +ext.versionPatch = 32 static def getGitTimestamp() { def cmd = 'git show -s --format=%ct' From a861b77162764854a687514d969b946d76ab9ca5 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 4 Feb 2025 10:57:26 +0100 Subject: [PATCH 29/49] Upgrade github action from v3 to v4 https://github.com/actions/upload-artifact/blob/main/docs/MIGRATION.md --- .github/workflows/build.yml | 8 ++++---- .github/workflows/post-pr.yml | 2 +- .github/workflows/quality.yml | 4 ++-- .github/workflows/tests.yml | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4c2137f54a..88db81c5cf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -40,7 +40,7 @@ jobs: - name: Assemble ${{ matrix.target }} debug apk run: ./gradlew assemble${{ matrix.target }}Debug $CI_GRADLE_ARG_PROPERTIES - name: Upload ${{ matrix.target }} debug APKs - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: vector-${{ matrix.target }}-debug path: | @@ -69,7 +69,7 @@ jobs: - name: Assemble GPlay unsigned apk run: ./gradlew clean assembleGplayRelease $CI_GRADLE_ARG_PROPERTIES - name: Upload Gplay unsigned APKs - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: vector-gplay-release-unsigned path: | @@ -81,7 +81,7 @@ jobs: steps: - name: Obtain apk from artifact id: download - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: vector-gplay-release-unsigned - name: Show apks in artifact @@ -92,7 +92,7 @@ jobs: # Don't fail when finding trackers so they can be reported later args: /github/workspace/gplay/release/vector-gplay-universal-release-unsigned.apk -j -o /github/workspace/exodus.json -e 0 - name: Upload exodus json report - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: exodus.json path: | diff --git a/.github/workflows/post-pr.yml b/.github/workflows/post-pr.yml index 5b19417609..c0e7caba76 100644 --- a/.github/workflows/post-pr.yml +++ b/.github/workflows/post-pr.yml @@ -77,7 +77,7 @@ jobs: adb logcat >> emulator.log & ./gradlew $CI_GRADLE_ARG_PROPERTIES connectedGplayDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=im.vector.app.ui.UiAllScreensSanityTest || (adb pull storage/emulated/0/Pictures/failure_screenshots && exit 1 ) - name: Upload Test Report Log - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: always() with: name: uitest-error-results diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index 7af7e55786..d821c36971 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -71,7 +71,7 @@ jobs: ./gradlew vector-app:lintFdroidRelease $CI_GRADLE_ARG_PROPERTIES - name: Upload reports if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: linting-report path: | @@ -115,7 +115,7 @@ jobs: run: ./gradlew dependencyCheckAnalyze $CI_GRADLE_ARG_PROPERTIES - name: Upload dependency analysis if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: dependency-analysis path: build/reports/dependency-check-report.html diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 2cf2c7e87b..678ceaf11d 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -45,7 +45,7 @@ jobs: - name: Archive Screenshot Results on Error if: failure() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: screenshot-results path: | @@ -98,7 +98,7 @@ jobs: ### ./gradlew generateCoverageReport $CI_GRADLE_ARG_PROPERTIES - name: Upload Integration Test Report Log - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: always() with: name: integration-test-error-results From 4a43097d5f8fc6bf834e007263400990033a0a5f Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 4 Feb 2025 10:57:26 +0100 Subject: [PATCH 30/49] Upgrade github action from v3 to v4 https://github.com/actions/upload-artifact/blob/main/docs/MIGRATION.md --- .github/workflows/build.yml | 8 ++++---- .github/workflows/post-pr.yml | 2 +- .github/workflows/quality.yml | 4 ++-- .github/workflows/tests.yml | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4c2137f54a..88db81c5cf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -40,7 +40,7 @@ jobs: - name: Assemble ${{ matrix.target }} debug apk run: ./gradlew assemble${{ matrix.target }}Debug $CI_GRADLE_ARG_PROPERTIES - name: Upload ${{ matrix.target }} debug APKs - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: vector-${{ matrix.target }}-debug path: | @@ -69,7 +69,7 @@ jobs: - name: Assemble GPlay unsigned apk run: ./gradlew clean assembleGplayRelease $CI_GRADLE_ARG_PROPERTIES - name: Upload Gplay unsigned APKs - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: vector-gplay-release-unsigned path: | @@ -81,7 +81,7 @@ jobs: steps: - name: Obtain apk from artifact id: download - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: vector-gplay-release-unsigned - name: Show apks in artifact @@ -92,7 +92,7 @@ jobs: # Don't fail when finding trackers so they can be reported later args: /github/workspace/gplay/release/vector-gplay-universal-release-unsigned.apk -j -o /github/workspace/exodus.json -e 0 - name: Upload exodus json report - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: exodus.json path: | diff --git a/.github/workflows/post-pr.yml b/.github/workflows/post-pr.yml index 5b19417609..c0e7caba76 100644 --- a/.github/workflows/post-pr.yml +++ b/.github/workflows/post-pr.yml @@ -77,7 +77,7 @@ jobs: adb logcat >> emulator.log & ./gradlew $CI_GRADLE_ARG_PROPERTIES connectedGplayDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=im.vector.app.ui.UiAllScreensSanityTest || (adb pull storage/emulated/0/Pictures/failure_screenshots && exit 1 ) - name: Upload Test Report Log - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: always() with: name: uitest-error-results diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index 7af7e55786..d821c36971 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -71,7 +71,7 @@ jobs: ./gradlew vector-app:lintFdroidRelease $CI_GRADLE_ARG_PROPERTIES - name: Upload reports if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: linting-report path: | @@ -115,7 +115,7 @@ jobs: run: ./gradlew dependencyCheckAnalyze $CI_GRADLE_ARG_PROPERTIES - name: Upload dependency analysis if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: dependency-analysis path: build/reports/dependency-check-report.html diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 2cf2c7e87b..678ceaf11d 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -45,7 +45,7 @@ jobs: - name: Archive Screenshot Results on Error if: failure() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: screenshot-results path: | @@ -98,7 +98,7 @@ jobs: ### ./gradlew generateCoverageReport $CI_GRADLE_ARG_PROPERTIES - name: Upload Integration Test Report Log - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: always() with: name: integration-test-error-results From 3d2d08c31a2f4fee9e791281030954f347c17f05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Priit=20J=C3=B5er=C3=BC=C3=BCt?= Date: Wed, 5 Feb 2025 08:32:02 +0000 Subject: [PATCH 31/49] Translated using Weblate (Estonian) Currently translated at 100.0% (115 of 115 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/et/ --- fastlane/metadata/android/et/changelogs/40106300.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/et/changelogs/40106300.txt diff --git a/fastlane/metadata/android/et/changelogs/40106300.txt b/fastlane/metadata/android/et/changelogs/40106300.txt new file mode 100644 index 0000000000..131920c593 --- /dev/null +++ b/fastlane/metadata/android/et/changelogs/40106300.txt @@ -0,0 +1,2 @@ +Põhilised muutused selles versioonis: vastuvõetava kõne kokkujooksmine Androidi versioonis 14 ja uuemas. +Kogu ingliskeelne muudatuste logi: https://github.com/element-hq/element-android/releases From dd40f321e8d7c11e81b01c4fb648617b328c08ff Mon Sep 17 00:00:00 2001 From: yostyle Date: Wed, 5 Feb 2025 12:26:52 +0100 Subject: [PATCH 32/49] fix conflicts --- .github/workflows/build.yml | 5 -- README.md | 9 --- build.gradle | 10 +-- .../realmfieldnameshelper/build.gradle | 10 +-- .../src/main/res/values-fr/strings.xml | 11 +-- .../internal/crypto/network/RequestSender.kt | 81 +++++++++---------- vector-app/build.gradle | 4 - vector-app/proguard-rules.pro | 5 +- vector/build.gradle | 6 +- vector/src/main/AndroidManifest.xml | 10 +-- .../im/vector/app/features/VectorFeatures.kt | 6 -- .../onboarding/OnboardingViewModel.kt | 29 ------- .../features/crypto/keys/KeysExporterTest.kt | 4 + .../onboarding/OnboardingViewModelTest.kt | 26 ------ .../app/features/call/VectorCallActivity.kt | 52 +++++++----- .../app/features/call/VectorCallActivity.kt | 20 ----- 16 files changed, 80 insertions(+), 208 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 265f8a347c..f6f331a4b8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -68,13 +68,8 @@ jobs: # TCHAP stay on current branch # with: # https://github.com/actions/checkout/issues/881 -<<<<<<< HEAD # ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }} - - name: Use JDK 17 -======= - ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }} - name: Use JDK 21 ->>>>>>> v1.6.30 uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options diff --git a/README.md b/README.md index 9ac75a7976..820d59a4e0 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,4 @@ -<<<<<<< HEAD # Tchap Android -======= -[![Latest build](https://github.com/element-hq/element-android/actions/workflows/build.yml/badge.svg?query=branch%3Adevelop)](https://github.com/element-hq/element-android/actions/workflows/build.yml?query=branch%3Adevelop) -[![Weblate](https://translate.element.io/widgets/element-android/-/svg-badge.svg)](https://translate.element.io/engage/element-android/?utm_source=widget) -[![Element Android Matrix room #element-android:matrix.org](https://img.shields.io/matrix/element-android:matrix.org.svg?label=%23element-android:matrix.org&logo=matrix&server_fqdn=matrix.org)](https://matrix.to/#/#element-android:matrix.org) -[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=element-android&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=element-android) -[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=element-android&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=element-android) -[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=element-android&metric=bugs)](https://sonarcloud.io/summary/new_code?id=element-android) ->>>>>>> v1.6.30 Tchap Android is an Android Matrix Client provided by [DINUM](https://tchap.numerique.gouv.fr/). The app can be run on every Android devices with Android OS Lollipop and more (API 21). diff --git a/build.gradle b/build.gradle index 7c3c18ae2c..6f6635d303 100644 --- a/build.gradle +++ b/build.gradle @@ -211,19 +211,11 @@ sonar { property "sonar.host.url", "https://sonarcloud.io" property "sonar.projectVersion", project(":vector").android.defaultConfig.versionName property "sonar.sourceEncoding", "UTF-8" -<<<<<<< HEAD property "sonar.links.homepage", "https://github.com/tchapgouv/tchap-android/" property "sonar.links.ci", "https://github.com/tchapgouv/tchap-android/actions" property "sonar.links.scm", "https://github.com/tchapgouv/tchap-android/" property "sonar.links.issue", "https://github.com/tchapgouv/tchap-android/issues" - property "sonar.organization", "new_vector_ltd_organization" -======= - property "sonar.links.homepage", "https://github.com/element-hq/element-android/" - property "sonar.links.ci", "https://github.com/element-hq/element-android/actions" - property "sonar.links.scm", "https://github.com/element-hq/element-android/" - property "sonar.links.issue", "https://github.com/element-hq/element-android/issues" - property "sonar.organization", "element-hq" ->>>>>>> v1.6.30 + property "sonar.organization", "tchapgouv" property "sonar.java.coveragePlugin", "jacoco" property "sonar.coverage.jacoco.xmlReportPaths", "${project.buildDir}/reports/jacoco/generateCoverageReport/generateCoverageReport.xml" property "sonar.login", project.hasProperty("SONAR_LOGIN") ? SONAR_LOGIN : "invalid" diff --git a/library/external/realmfieldnameshelper/build.gradle b/library/external/realmfieldnameshelper/build.gradle index 48861980d2..4662fa58e7 100644 --- a/library/external/realmfieldnameshelper/build.gradle +++ b/library/external/realmfieldnameshelper/build.gradle @@ -1,16 +1,8 @@ -import org.jetbrains.kotlin.gradle.dsl.JvmTarget - apply plugin: 'kotlin' apply plugin: 'java' sourceCompatibility = versions.sourceCompat -targetCompatibility = versions.targetCompat - -kotlin { - compilerOptions { - jvmTarget = JvmTarget.JVM_17 - } -} +targetCompatibility = versions.sourceCompat dependencies { implementation 'com.squareup:javapoet:1.13.0' diff --git a/library/ui-strings/src/main/res/values-fr/strings.xml b/library/ui-strings/src/main/res/values-fr/strings.xml index 39a5a37bd3..4c0aa90827 100644 --- a/library/ui-strings/src/main/res/values-fr/strings.xml +++ b/library/ui-strings/src/main/res/values-fr/strings.xml @@ -2186,7 +2186,6 @@ Appel audio avec %s Appel vidéo avec %s Appel en cours… - Microphone en cours d’utilisation Espaces Arrêter l’enregistrement Ajouter un espace à un espace que vous gérez. @@ -2961,17 +2960,14 @@ Application mise-à-jour Se déconnecter malgré tout Impossible de joindre le serveur d’accueil. Si vous vous déconnectez malgré tout, cet appareil ne sera pas effacé de la liste de vos appareils, vous pourrez l’enlever en utilisant un autre client. -<<<<<<< HEAD - -======= Impossible de trouver les profils pour les identifiants Matrix listés ci-dessous. Voulez-vous quand même les inviter \? \n \n%s Inviter quand même Se connecter - Impossible de trouver des profils pour les ID Matrix listés ci-dessous. Voulez-vous tout de même débuter une nouvelle conversation \? + Impossible de trouver des profils pour les identifiants ci-dessous. Voulez-vous tout de même débuter une nouvelle conversation \? \n -\n%s +\n%s Commencer la conversation quand même Utilisateur signalé Signaler l’utilisateur @@ -2979,7 +2975,6 @@ \n \nSi vous ne voulez plus voir de contenu de cet utilisateur, vous pouvez l’ignorer pour masquer ses messages. Appel non pris en charge - Appel non pris en charge. La nouvelle application Element X est nécessaire pour rejoindre cet appel. + Appel non pris en charge. Microphone en service ->>>>>>> v1.6.30 diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/network/RequestSender.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/network/RequestSender.kt index 5b9e2463ae..22ec4ee417 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/network/RequestSender.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/network/RequestSender.kt @@ -22,23 +22,17 @@ import dagger.Lazy import kotlinx.coroutines.CoroutineName import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.SupervisorJob -import kotlinx.coroutines.launch import org.matrix.android.sdk.api.auth.UserInteractiveAuthInterceptor -import org.matrix.android.sdk.api.extensions.tryOrNull import org.matrix.android.sdk.api.failure.Failure import org.matrix.android.sdk.api.failure.MatrixError import org.matrix.android.sdk.api.session.crypto.keysbackup.KeysBackupLastVersionResult import org.matrix.android.sdk.api.session.crypto.keysbackup.KeysVersion import org.matrix.android.sdk.api.session.crypto.keysbackup.KeysVersionResult -import org.matrix.android.sdk.api.session.crypto.model.GossipingToDeviceObject import org.matrix.android.sdk.api.session.crypto.model.MXUsersDevicesMap import org.matrix.android.sdk.api.session.events.model.Content import org.matrix.android.sdk.api.session.events.model.Event -import org.matrix.android.sdk.api.session.events.model.EventType import org.matrix.android.sdk.api.session.uia.UiaResult import org.matrix.android.sdk.internal.auth.registration.handleUIA -import org.matrix.android.sdk.internal.crypto.OlmMachine -import org.matrix.android.sdk.internal.crypto.PerSessionBackupQueryRateLimiter import org.matrix.android.sdk.internal.crypto.keysbackup.model.rest.BackupKeysResult import org.matrix.android.sdk.internal.crypto.keysbackup.model.rest.CreateKeysBackupVersionBody import org.matrix.android.sdk.internal.crypto.keysbackup.model.rest.KeysBackupData @@ -59,7 +53,6 @@ import org.matrix.android.sdk.internal.crypto.model.rest.KeysUploadBody import org.matrix.android.sdk.internal.crypto.model.rest.KeysUploadResponse import org.matrix.android.sdk.internal.crypto.model.rest.RestKeyInfo import org.matrix.android.sdk.internal.crypto.model.rest.SignatureUploadResponse -import org.matrix.android.sdk.internal.crypto.store.IMXCommonCryptoStore import org.matrix.android.sdk.internal.crypto.tasks.ClaimOneTimeKeysForUsersDeviceTask import org.matrix.android.sdk.internal.crypto.tasks.DefaultSendVerificationMessageTask import org.matrix.android.sdk.internal.crypto.tasks.DownloadKeysForUsersTask @@ -102,10 +95,10 @@ internal class RequestSender @Inject constructor( private val getRoomSessionDataTask: GetRoomSessionDataTask, private val moshi: Moshi, cryptoCoroutineScope: CoroutineScope, - private val rateLimiter: PerSessionBackupQueryRateLimiter, - private val cryptoStore: IMXCommonCryptoStore, +// private val rateLimiter: PerSessionBackupQueryRateLimiter, +// private val cryptoStore: IMXCommonCryptoStore, private val localEchoRepository: LocalEchoRepository, - private val olmMachine: Lazy +// private val olmMachine: Lazy ) { private val scope = CoroutineScope( @@ -249,40 +242,40 @@ internal class RequestSender @Inject constructor( .adapter>>(Map::class.java) val jsonBody = adapter.fromJson(body)!! - if (eventType == EventType.ROOM_KEY_REQUEST) { - scope.launch { - Timber.v("Intercepting key request, try backup") - /** - * It's a bit hacky, check how this can be better integrated with rust? - */ - try { - jsonBody.forEach { (_, deviceToContent) -> - deviceToContent.forEach { (_, content) -> - val hashMap = content as? Map<*, *> - val action = hashMap?.get("action")?.toString() - if (GossipingToDeviceObject.ACTION_SHARE_REQUEST == action) { - val requestBody = hashMap["body"] as? Map<*, *> - val roomId = requestBody?.get("room_id") as? String - val sessionId = requestBody?.get("session_id") as? String - val senderKey = requestBody?.get("sender_key") as? String - if (roomId != null && sessionId != null) { - // try to perform a lazy migration from legacy store - val legacy = tryOrNull("Failed to access legacy crypto store") { - cryptoStore.getInboundGroupSession(sessionId, senderKey.orEmpty()) - } - if (legacy == null || olmMachine.get().importRoomKey(legacy).isFailure) { - rateLimiter.tryFromBackupIfPossible(sessionId, roomId) - } - } - } - } - } - Timber.v("Intercepting key request, try backup") - } catch (failure: Throwable) { - Timber.v(failure, "Failed to use backup") - } - } - } +// if (eventType == EventType.ROOM_KEY_REQUEST) { +// scope.launch { +// Timber.v("Intercepting key request, try backup") +// /** +// * It's a bit hacky, check how this can be better integrated with rust? +// */ +// try { +// jsonBody.forEach { (_, deviceToContent) -> +// deviceToContent.forEach { (_, content) -> +// val hashMap = content as? Map<*, *> +// val action = hashMap?.get("action")?.toString() +// if (GossipingToDeviceObject.ACTION_SHARE_REQUEST == action) { +// val requestBody = hashMap["body"] as? Map<*, *> +// val roomId = requestBody?.get("room_id") as? String +// val sessionId = requestBody?.get("session_id") as? String +// val senderKey = requestBody?.get("sender_key") as? String +// if (roomId != null && sessionId != null) { +// // try to perform a lazy migration from legacy store +// val legacy = tryOrNull("Failed to access legacy crypto store") { +// cryptoStore.getInboundGroupSession(sessionId, senderKey.orEmpty()) +// } +// if (legacy == null || olmMachine.get().importRoomKey(legacy).isFailure) { +// rateLimiter.tryFromBackupIfPossible(sessionId, roomId) +// } +// } +// } +// } +// } +// Timber.v("Intercepting key request, try backup") +// } catch (failure: Throwable) { +// Timber.v(failure, "Failed to use backup") +// } +// } +// } val userMap = MXUsersDevicesMap() userMap.join(jsonBody) diff --git a/vector-app/build.gradle b/vector-app/build.gradle index d3d46bbe94..4919d244ef 100644 --- a/vector-app/build.gradle +++ b/vector-app/build.gradle @@ -37,11 +37,7 @@ ext.versionMinor = 16 // Note: even values are reserved for regular release, odd values for hotfix release. // When creating a hotfix, you should decrease the value, since the current value // is the value for the next regular release. -<<<<<<< HEAD ext.versionPatch = 0 -======= -ext.versionPatch = 30 ->>>>>>> v1.6.30 static def getGitTimestamp() { def cmd = 'git show -s --format=%ct' diff --git a/vector-app/proguard-rules.pro b/vector-app/proguard-rules.pro index 8116322bec..bce67683a4 100644 --- a/vector-app/proguard-rules.pro +++ b/vector-app/proguard-rules.pro @@ -93,7 +93,7 @@ -dontwarn org.commonmark.ext.gfm.strikethrough.Strikethrough -dontwarn org.mozilla.javascript.** -dontwarn org.slf4j.** -<<<<<<< HEAD +-dontwarn org.jspecify.annotations.NullMarked # TCHAP guava rules -dontwarn com.google.j2objc.annotations.** @@ -104,6 +104,3 @@ -dontwarn java.lang.reflect.AnnotatedType -dontwarn jdk.javadoc.doclet.** -dontwarn org.checkerframework.** -======= --dontwarn org.jspecify.annotations.NullMarked ->>>>>>> v1.6.30 diff --git a/vector/build.gradle b/vector/build.gradle index 27a1ae5afe..7dc1b2d71c 100644 --- a/vector/build.gradle +++ b/vector/build.gradle @@ -283,11 +283,7 @@ dependencies { // WebRTC withdmvoipImplementation('com.github.tchapgouv:webrtc:124.2.0') // Jitsi -<<<<<<< HEAD - withvoipApi('org.jitsi.react:jitsi-meet-sdk:8.1.1') { -======= - api('org.jitsi.react:jitsi-meet-sdk:10.2.0') { ->>>>>>> v1.6.30 + withvoipApi('org.jitsi.react:jitsi-meet-sdk:10.2.0') { exclude group: 'com.google.firebase' exclude group: 'com.google.android.gms' exclude group: 'com.android.installreferrer' diff --git a/vector/src/main/AndroidManifest.xml b/vector/src/main/AndroidManifest.xml index 365285f46c..a38767bdcd 100644 --- a/vector/src/main/AndroidManifest.xml +++ b/vector/src/main/AndroidManifest.xml @@ -212,17 +212,11 @@ -<<<<<<< HEAD + + -======= - - - - - ->>>>>>> v1.6.30 diff --git a/vector/src/main/java/im/vector/app/features/VectorFeatures.kt b/vector/src/main/java/im/vector/app/features/VectorFeatures.kt index 629274a37f..e0aee40f33 100644 --- a/vector/src/main/java/im/vector/app/features/VectorFeatures.kt +++ b/vector/src/main/java/im/vector/app/features/VectorFeatures.kt @@ -74,12 +74,6 @@ class DefaultVectorFeatures @Inject constructor( override fun isLocationSharingEnabled() = Config.ENABLE_LOCATION_SHARING override fun forceUsageOfOpusEncoder(): Boolean = false override fun isNewAppLayoutFeatureEnabled(): Boolean = true -<<<<<<< HEAD - override fun isQrCodeLoginEnabled(): Boolean = false // TCHAP disable QrCode login for now - override fun isQrCodeLoginForAllServers(): Boolean = false - override fun isReciprocateQrCodeLogin(): Boolean = false -======= ->>>>>>> v1.6.30 override fun isVoiceBroadcastEnabled(): Boolean = true override fun isUnverifiedSessionsAlertEnabled(): Boolean = true } diff --git a/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt b/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt index c6424c443e..503ece1c5c 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt @@ -12,15 +12,12 @@ import com.airbnb.mvrx.MavericksViewModelFactory import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject -<<<<<<< HEAD import fr.gouv.tchap.features.platform.GetPlatformResult import fr.gouv.tchap.features.platform.Params import fr.gouv.tchap.features.platform.TchapGetPlatformTask import im.vector.app.R -======= import im.vector.app.config.Config import im.vector.app.config.SunsetConfig ->>>>>>> v1.6.30 import im.vector.app.core.di.ActiveSessionHolder import im.vector.app.core.di.MavericksAssistedViewModelFactory import im.vector.app.core.di.hiltMavericksViewModelFactory @@ -127,35 +124,9 @@ class OnboardingViewModel @AssistedInject constructor( } } -<<<<<<< HEAD - private fun checkQrCodeLoginCapability() { - if (!vectorFeatures.isQrCodeLoginEnabled()) { - setState { - copy( - canLoginWithQrCode = false - ) - } - } else if (vectorFeatures.isQrCodeLoginForAllServers()) { - // allow for all servers - setState { - copy( - canLoginWithQrCode = true - ) - } - } else { - setState { - copy( - canLoginWithQrCode = selectedHomeserver.isLoginWithQrSupported - ) - } - } - } - // TCHAP private var currentHomeServerConnectionConfig: HomeServerConnectionConfig? = null -======= ->>>>>>> v1.6.30 private val matrixOrgUrl = stringProvider.getString(im.vector.app.config.R.string.matrix_org_server_url).ensureTrailingSlash() private val defaultHomeserverUrl = mdmService.getData(MdmData.DefaultHomeserverUrl, matrixOrgUrl) diff --git a/vector/src/test/java/im/vector/app/features/crypto/keys/KeysExporterTest.kt b/vector/src/test/java/im/vector/app/features/crypto/keys/KeysExporterTest.kt index 3f5e08622e..5c1b582870 100644 --- a/vector/src/test/java/im/vector/app/features/crypto/keys/KeysExporterTest.kt +++ b/vector/src/test/java/im/vector/app/features/crypto/keys/KeysExporterTest.kt @@ -9,9 +9,11 @@ package im.vector.app.features.crypto.keys import android.net.Uri import im.vector.app.core.dispatchers.CoroutineDispatchers +import im.vector.app.test.fakes.FakeAuthenticationService import im.vector.app.test.fakes.FakeContext import im.vector.app.test.fakes.FakeCryptoService import im.vector.app.test.fakes.FakeSession +import im.vector.app.test.fakes.FakeStringProvider import io.mockk.every import io.mockk.justRun import io.mockk.mockk @@ -31,6 +33,8 @@ class KeysExporterTest { private val cryptoService = FakeCryptoService() private val context = FakeContext() private val keysExporter = KeysExporter( + authenticationService = FakeAuthenticationService(), // TCHAP add policy on the password to export keys + stringProvider = FakeStringProvider().instance, // TCHAP add policy on the password to export keys session = FakeSession(fakeCryptoService = cryptoService), context = context.instance, dispatchers = CoroutineDispatchers(Dispatchers.Unconfined, Dispatchers.Unconfined) diff --git a/vector/src/test/java/im/vector/app/features/onboarding/OnboardingViewModelTest.kt b/vector/src/test/java/im/vector/app/features/onboarding/OnboardingViewModelTest.kt index 8b50b26aca..507ac4aebc 100644 --- a/vector/src/test/java/im/vector/app/features/onboarding/OnboardingViewModelTest.kt +++ b/vector/src/test/java/im/vector/app/features/onboarding/OnboardingViewModelTest.kt @@ -183,7 +183,6 @@ class OnboardingViewModelTest { // TCHAP unit test @Test -<<<<<<< HEAD fun `given combined login enabled, when handling sign in splash action, then emits Tchap sign in`() = runTest { val test = viewModel.test() fakeVectorFeatures.givenCombinedLoginEnabled() @@ -201,31 +200,6 @@ class OnboardingViewModelTest { } @Test - @Ignore("Tchap: this flow does not exist anymore in Tchap") - fun `given combined login enabled, when handling sign in splash action, then emits OpenCombinedLogin with default homeserver qrCode supported`() = runTest { - val test = viewModel.test() - fakeVectorFeatures.givenCombinedLoginEnabled() - givenCanSuccessfullyUpdateHomeserver(A_DEFAULT_HOMESERVER_URL, DEFAULT_SELECTED_HOMESERVER_STATE_WITH_QR_SUPPORTED) - - viewModel.handle(OnboardingAction.SplashAction.OnIAlreadyHaveAnAccount(OnboardingFlow.SignIn)) - - test - .assertStatesChanges( - initialState, - { copy(onboardingFlow = OnboardingFlow.SignIn) }, - { copy(isLoading = true) }, - { copy(selectedHomeserver = DEFAULT_SELECTED_HOMESERVER_STATE_WITH_QR_SUPPORTED) }, - { copy(signMode = SignMode.SignIn) }, - { copy(canLoginWithQrCode = true) }, - { copy(isLoading = false) } - ) - .assertEvents(OnboardingViewEvents.OpenCombinedLogin) - .finish() - } - - @Test -======= ->>>>>>> v1.6.30 fun `given can successfully login in with token, when logging in with token, then emits AccountSignedIn`() = runTest { val test = viewModel.test() fakeAuthenticationService.givenLoginWizard(fakeLoginWizard) diff --git a/vector/src/withdmvoip/java/im/vector/app/features/call/VectorCallActivity.kt b/vector/src/withdmvoip/java/im/vector/app/features/call/VectorCallActivity.kt index 7919320871..03c7d30b27 100644 --- a/vector/src/withdmvoip/java/im/vector/app/features/call/VectorCallActivity.kt +++ b/vector/src/withdmvoip/java/im/vector/app/features/call/VectorCallActivity.kt @@ -1,17 +1,8 @@ /* - * Copyright (c) 2020 New Vector Ltd + * Copyright 2020-2024 New Vector Ltd. * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial + * Please see LICENSE files in the repository root for full details. */ package im.vector.app.features.call @@ -251,17 +242,31 @@ class VectorCallActivity : } private fun startMicrophoneService() { - val isConnected = withState(callViewModel) { - val callState = it.callState.invoke() - callState is CallState.Connected + if (ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO) + == PackageManager.PERMISSION_GRANTED) { + // Only start the service if the app is in the foreground + if (isAppInForeground()) { + withState(callViewModel) { + // Starting in Android 14, you can't create a microphone foreground service while your app is in + // the background. If we call startForegroundService while the call state is ringing (i.e. the + // user has not interacted with the device at all) the app will crash. Make sure the call has + // already been answered before starting the MicrophoneAccessService + // https://github.com/element-hq/element-android/issues/8964 + val callState = it.callState.invoke() + if (callState !is CallState.LocalRinging && callState !is CallState.Ended && callState != null) { + Timber.tag(loggerTag.value).v("Starting microphone foreground service") + val intent = Intent(this, MicrophoneAccessService::class.java) + ContextCompat.startForegroundService(this, intent) + } else { + Timber.tag(loggerTag.value).v("Call is in ringing or ended state; cannot start microphone service. callState: $callState") + } + } + } else { + Timber.tag(loggerTag.value).v("App is not in foreground; cannot start microphone service") + } + } else { + Timber.tag(loggerTag.value).v("Microphone permission not granted; cannot start service") } - if (!isAppInForeground()) return - if (!isConnected) return - if (ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO) == PackageManager.PERMISSION_DENIED) return - - Timber.tag(loggerTag.value).d("Starting microphone foreground service") - val intent = Intent(this, MicrophoneAccessService::class.java) - ContextCompat.startForegroundService(this, intent) } private fun isAppInForeground(): Boolean { @@ -277,6 +282,9 @@ class VectorCallActivity : override fun onPause() { super.onPause() + + // Start the microphone service to keep access to the microphone when the call is in the background + // https://github.com/element-hq/element-android/issues/8881 startMicrophoneService() } diff --git a/vector/src/withvoip/java/im/vector/app/features/call/VectorCallActivity.kt b/vector/src/withvoip/java/im/vector/app/features/call/VectorCallActivity.kt index ae5b98721b..03c7d30b27 100644 --- a/vector/src/withvoip/java/im/vector/app/features/call/VectorCallActivity.kt +++ b/vector/src/withvoip/java/im/vector/app/features/call/VectorCallActivity.kt @@ -242,19 +242,6 @@ class VectorCallActivity : } private fun startMicrophoneService() { -<<<<<<< HEAD:vector/src/withvoip/java/im/vector/app/features/call/VectorCallActivity.kt - val isConnected = withState(callViewModel) { - val callState = it.callState.invoke() - callState is CallState.Connected - } - if (!isAppInForeground()) return - if (!isConnected) return - if (ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO) == PackageManager.PERMISSION_DENIED) return - - Timber.tag(loggerTag.value).d("Starting microphone foreground service") - val intent = Intent(this, MicrophoneAccessService::class.java) - ContextCompat.startForegroundService(this, intent) -======= if (ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO) == PackageManager.PERMISSION_GRANTED) { // Only start the service if the app is in the foreground @@ -280,17 +267,13 @@ class VectorCallActivity : } else { Timber.tag(loggerTag.value).v("Microphone permission not granted; cannot start service") } ->>>>>>> v1.6.30:vector/src/main/java/im/vector/app/features/call/VectorCallActivity.kt } private fun isAppInForeground(): Boolean { val appProcess = ProcessLifecycleOwner.get().lifecycle.currentState.isAtLeast(Lifecycle.State.STARTED) return appProcess } -<<<<<<< HEAD:vector/src/withvoip/java/im/vector/app/features/call/VectorCallActivity.kt -======= ->>>>>>> v1.6.30:vector/src/main/java/im/vector/app/features/call/VectorCallActivity.kt private fun stopMicrophoneService() { Timber.tag(loggerTag.value).d("Stopping MicrophoneAccessService (if needed).") val intent = Intent(this, MicrophoneAccessService::class.java) @@ -299,12 +282,9 @@ class VectorCallActivity : override fun onPause() { super.onPause() -<<<<<<< HEAD:vector/src/withvoip/java/im/vector/app/features/call/VectorCallActivity.kt -======= // Start the microphone service to keep access to the microphone when the call is in the background // https://github.com/element-hq/element-android/issues/8881 ->>>>>>> v1.6.30:vector/src/main/java/im/vector/app/features/call/VectorCallActivity.kt startMicrophoneService() } From 39a4bc230df889c7972f3f4b98cddec310bfb5b2 Mon Sep 17 00:00:00 2001 From: Jozef Gaal Date: Wed, 5 Feb 2025 11:52:33 +0000 Subject: [PATCH 33/49] Translated using Weblate (Slovak) Currently translated at 100.0% (115 of 115 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/sk/ --- fastlane/metadata/android/sk/changelogs/40106300.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/sk/changelogs/40106300.txt diff --git a/fastlane/metadata/android/sk/changelogs/40106300.txt b/fastlane/metadata/android/sk/changelogs/40106300.txt new file mode 100644 index 0000000000..174b03accf --- /dev/null +++ b/fastlane/metadata/android/sk/changelogs/40106300.txt @@ -0,0 +1,2 @@ +Hlavné zmeny v tejto verzii: Oprava pádu prichádzajúceho hovoru v systéme Android 14+. +Úplný zoznam zmien: https://github.com/element-hq/element-android/releases From 4eee9c09b980d8313b661afeee460bc2dcdc87c3 Mon Sep 17 00:00:00 2001 From: Danial Behzadi Date: Wed, 5 Feb 2025 10:22:12 +0000 Subject: [PATCH 34/49] Translated using Weblate (Persian) Currently translated at 100.0% (115 of 115 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/fa/ --- fastlane/metadata/android/fa/changelogs/40106300.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/fa/changelogs/40106300.txt diff --git a/fastlane/metadata/android/fa/changelogs/40106300.txt b/fastlane/metadata/android/fa/changelogs/40106300.txt new file mode 100644 index 0000000000..c83779027b --- /dev/null +++ b/fastlane/metadata/android/fa/changelogs/40106300.txt @@ -0,0 +1,2 @@ +تغییرات عمده در این نگارش: تعمیر فروپاشی تماس ورودی روی اندروید ۱۴+. +گزارش دگرگونی کامل: https://github.com/element-hq/element-android/releases From 5ffee0618d1085bbe645629b261a82c58813bae1 Mon Sep 17 00:00:00 2001 From: Linerly Date: Thu, 6 Feb 2025 00:19:41 +0000 Subject: [PATCH 35/49] Translated using Weblate (Indonesian) Currently translated at 100.0% (115 of 115 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/id/ --- fastlane/metadata/android/id/changelogs/40106300.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/id/changelogs/40106300.txt diff --git a/fastlane/metadata/android/id/changelogs/40106300.txt b/fastlane/metadata/android/id/changelogs/40106300.txt new file mode 100644 index 0000000000..2eca870fa8 --- /dev/null +++ b/fastlane/metadata/android/id/changelogs/40106300.txt @@ -0,0 +1,2 @@ +Perubahan utama dalam versi ini: Perbaikan kemogokan panggilan masuk di Android 14+. +Catatan perubahan lanjutan: https://github.com/element-hq/element-android/releases From 11aa64ebe13339f13d1a0c46480986441d4d7bbd Mon Sep 17 00:00:00 2001 From: Glandos Date: Thu, 6 Feb 2025 21:12:49 +0000 Subject: [PATCH 36/49] Translated using Weblate (French) Currently translated at 99.1% (114 of 115 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/fr/ --- fastlane/metadata/android/fr-FR/changelogs/40106300.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/fr-FR/changelogs/40106300.txt diff --git a/fastlane/metadata/android/fr-FR/changelogs/40106300.txt b/fastlane/metadata/android/fr-FR/changelogs/40106300.txt new file mode 100644 index 0000000000..108cef0661 --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/40106300.txt @@ -0,0 +1,2 @@ +Principaux changements pour cette version : Correction du plantage lors des appels entrants sur Android 14+. +Intégralité des changements : https://github.com/element-hq/element-android/releases From 753101ff7aef74835f2657c3b81998ba754f650e Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 7 Feb 2025 12:27:04 +0100 Subject: [PATCH 37/49] Add action to report room. #8998 --- changelog.d/8998.misc | 1 + .../src/main/res/values/strings.xml | 2 ++ .../features/roomprofile/RoomProfileAction.kt | 1 + .../roomprofile/RoomProfileController.kt | 8 +++++ .../roomprofile/RoomProfileFragment.kt | 33 +++++++++++++++++++ .../roomprofile/RoomProfileViewEvents.kt | 1 + .../roomprofile/RoomProfileViewModel.kt | 30 +++++++++++++++++ 7 files changed, 76 insertions(+) create mode 100644 changelog.d/8998.misc diff --git a/changelog.d/8998.misc b/changelog.d/8998.misc new file mode 100644 index 0000000000..f6744ff12f --- /dev/null +++ b/changelog.d/8998.misc @@ -0,0 +1 @@ +Add action to report room. diff --git a/library/ui-strings/src/main/res/values/strings.xml b/library/ui-strings/src/main/res/values/strings.xml index 54d783fc85..803510ed76 100644 --- a/library/ui-strings/src/main/res/values/strings.xml +++ b/library/ui-strings/src/main/res/values/strings.xml @@ -2369,6 +2369,8 @@ Poll history Uploads + Report Room + The room has been successfully reported. Leave Room Leave "Leaving the room…" diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileAction.kt b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileAction.kt index 6afe5f8aa7..a11d8afbfc 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileAction.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileAction.kt @@ -18,4 +18,5 @@ sealed class RoomProfileAction : VectorViewModelAction { object CreateShortcut : RoomProfileAction() object RestoreEncryptionState : RoomProfileAction() data class SetEncryptToVerifiedDeviceOnly(val enabled: Boolean) : RoomProfileAction() + data class ReportRoom(val reason: String) : RoomProfileAction() } diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileController.kt b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileController.kt index 0ce243e810..7dd11c281c 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileController.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileController.kt @@ -52,6 +52,7 @@ class RoomProfileController @Inject constructor( fun onUploadsClicked() fun createShortcut() fun onSettingsClicked() + fun onReportRoomClicked() fun onLeaveRoomClicked() fun onRoomAliasesClicked() fun onRoomPermissionsClicked() @@ -279,6 +280,13 @@ class RoomProfileController @Inject constructor( action = { callback?.createShortcut() } ) } + buildProfileAction( + id = "Report", + title = stringProvider.getString(CommonStrings.room_profile_section_more_report), + icon = R.drawable.ic_report_spam, + editable = false, + action = { callback?.onReportRoomClicked() } + ) buildProfileAction( id = "leave", title = stringProvider.getString( diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt index 13f02d9f05..1a56de9fab 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt @@ -33,6 +33,7 @@ import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.core.platform.VectorMenuProvider import im.vector.app.core.utils.copyToClipboard import im.vector.app.core.utils.startSharePlainTextIntent +import im.vector.app.databinding.DialogReportContentBinding import im.vector.app.databinding.FragmentMatrixProfileBinding import im.vector.app.databinding.ViewStubRoomProfileHeaderBinding import im.vector.app.features.analytics.plan.Interaction @@ -123,6 +124,7 @@ class RoomProfileFragment : is RoomProfileViewEvents.ShareRoomProfile -> onShareRoomProfile(it.permalink) is RoomProfileViewEvents.OnShortcutReady -> addShortcut(it) RoomProfileViewEvents.DismissLoading -> dismissLoadingDialog() + is RoomProfileViewEvents.Success -> dismissSuccessDialog(it.message) } } roomListQuickActionsSharedActionViewModel @@ -133,6 +135,17 @@ class RoomProfileFragment : setupLongClicks() } + private fun dismissSuccessDialog(message: CharSequence) { + MaterialAlertDialogBuilder( + requireActivity(), + im.vector.lib.ui.styles.R.style.ThemeOverlay_Vector_MaterialAlertDialog_NegativeDestructive + ) + .setTitle(CommonStrings.room_profile_section_more_report) + .setMessage(message) + .setPositiveButton(CommonStrings.ok, null) + .show() + } + private fun setupWaitingView() { views.waitingView.waitingStatusText.setText(CommonStrings.please_wait) views.waitingView.waitingStatusText.isVisible = true @@ -286,6 +299,26 @@ class RoomProfileFragment : ShortcutManagerCompat.requestPinShortcut(requireContext(), onShortcutReady.shortcutInfo, null) } + override fun onReportRoomClicked() { + promptReasonToReportRoom() + } + + private fun promptReasonToReportRoom() { + val inflater = requireActivity().layoutInflater + val layout = inflater.inflate(R.layout.dialog_report_content, null) + val views = DialogReportContentBinding.bind(layout) + + MaterialAlertDialogBuilder(requireActivity()) + .setTitle(CommonStrings.room_profile_section_more_report) + .setView(layout) + .setPositiveButton(CommonStrings.report_content_custom_submit) { _, _ -> + val reason = views.dialogReportContentInput.text.toString() + roomProfileViewModel.handle(RoomProfileAction.ReportRoom(reason)) + } + .setNegativeButton(CommonStrings.action_cancel, null) + .show() + } + override fun onLeaveRoomClicked() { val isPublicRoom = roomProfileViewModel.isPublicRoom() val message = buildString { diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileViewEvents.kt b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileViewEvents.kt index 12a0b327d2..1b12085663 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileViewEvents.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileViewEvents.kt @@ -17,6 +17,7 @@ sealed class RoomProfileViewEvents : VectorViewEvents { data class Loading(val message: CharSequence? = null) : RoomProfileViewEvents() object DismissLoading : RoomProfileViewEvents() data class Failure(val throwable: Throwable) : RoomProfileViewEvents() + data class Success(val message: CharSequence) : RoomProfileViewEvents() data class ShareRoomProfile(val permalink: String) : RoomProfileViewEvents() data class OnShortcutReady(val shortcutInfo: ShortcutInfoCompat) : RoomProfileViewEvents() diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileViewModel.kt b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileViewModel.kt index 7e18b327f1..f54f7314ad 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileViewModel.kt @@ -176,6 +176,36 @@ class RoomProfileViewModel @AssistedInject constructor( RoomProfileAction.CreateShortcut -> handleCreateShortcut() RoomProfileAction.RestoreEncryptionState -> restoreEncryptionState() is RoomProfileAction.SetEncryptToVerifiedDeviceOnly -> setEncryptToVerifiedDeviceOnly(action.enabled) + is RoomProfileAction.ReportRoom -> handleReportRoom(action.reason) + } + } + + private fun handleReportRoom(reason: String) { + _viewEvents.post(RoomProfileViewEvents.Loading()) + session.coroutineScope.launch { + try { + // When reporting a user, use the user state event if available (it should always be available) + val createStateEventId = room.stateService() + .getStateEvent(EventType.STATE_ROOM_CREATE, QueryStringValue.IsEmpty) + ?.eventId + ?: throw IllegalStateException("Failure: m.room.create event not found.") + room.reportingService() + .reportContent( + eventId = createStateEventId, + score = -100, + reason = reason, + ) + _viewEvents.post( + RoomProfileViewEvents.Success( + stringProvider.getString(CommonStrings.room_profile_section_more_report_success_content) + ) + ) + } catch (failure: Throwable) { + Timber.e(failure, "Failed to report room ${room.roomId}") + _viewEvents.post(RoomProfileViewEvents.Failure(failure)) + } finally { + _viewEvents.post(RoomProfileViewEvents.DismissLoading) + } } } From b204d271e3b986048befb60d3ae918a6eb6c84a9 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 7 Feb 2025 16:29:35 +0100 Subject: [PATCH 38/49] Add action to report room: use the report Room API. --- .../room/reporting/ReportingService.kt | 5 +++ .../sdk/internal/session/room/RoomAPI.kt | 13 ++++++ .../sdk/internal/session/room/RoomModule.kt | 5 +++ .../room/reporting/DefaultReportingService.kt | 8 +++- .../session/room/reporting/ReportRoomBody.kt | 28 +++++++++++++ .../session/room/reporting/ReportRoomTask.kt | 42 +++++++++++++++++++ .../roomprofile/RoomProfileViewModel.kt | 12 +----- 7 files changed, 101 insertions(+), 12 deletions(-) create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/ReportRoomBody.kt create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/ReportRoomTask.kt diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/reporting/ReportingService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/reporting/ReportingService.kt index a444e2346e..c3ee5d75c1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/reporting/ReportingService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/reporting/ReportingService.kt @@ -26,4 +26,9 @@ interface ReportingService { * Ref: https://matrix.org/docs/spec/client_server/latest#post-matrix-client-r0-rooms-roomid-report-eventid */ suspend fun reportContent(eventId: String, score: Int, reason: String) + + /** + * Report a room. + */ + suspend fun reportRoom(reason: String) } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomAPI.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomAPI.kt index aa4bdb1dd4..33fa1d8ce0 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomAPI.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomAPI.kt @@ -36,6 +36,7 @@ import org.matrix.android.sdk.internal.session.room.read.ReadBody import org.matrix.android.sdk.internal.session.room.relation.RelationsResponse import org.matrix.android.sdk.internal.session.room.relation.threads.ThreadSummariesResponse import org.matrix.android.sdk.internal.session.room.reporting.ReportContentBody +import org.matrix.android.sdk.internal.session.room.reporting.ReportRoomBody import org.matrix.android.sdk.internal.session.room.send.SendResponse import org.matrix.android.sdk.internal.session.room.send.model.EventRedactBody import org.matrix.android.sdk.internal.session.room.tags.TagBody @@ -375,6 +376,18 @@ internal interface RoomAPI { @Body body: ReportContentBody, ) + /** + * Reports a room as inappropriate to the server, which may then notify the appropriate people. + * + * @param roomId the room id + * @param body body containing the reason + */ + @POST(NetworkConstants.URI_API_PREFIX_PATH_V3 + "rooms/{roomId}/report") + suspend fun reportRoom( + @Path("roomId") roomId: String, + @Body body: ReportRoomBody, + ) + /** * Get a list of aliases maintained by the local server for the given room. * Ref: https://matrix.org/docs/spec/client_server/r0.6.1#get-matrix-client-r0-rooms-roomid-aliases diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomModule.kt index 673a979633..d14568ebc3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomModule.kt @@ -114,7 +114,9 @@ import org.matrix.android.sdk.internal.session.room.relation.threads.DefaultFetc import org.matrix.android.sdk.internal.session.room.relation.threads.FetchThreadSummariesTask import org.matrix.android.sdk.internal.session.room.relation.threads.FetchThreadTimelineTask import org.matrix.android.sdk.internal.session.room.reporting.DefaultReportContentTask +import org.matrix.android.sdk.internal.session.room.reporting.DefaultReportRoomTask import org.matrix.android.sdk.internal.session.room.reporting.ReportContentTask +import org.matrix.android.sdk.internal.session.room.reporting.ReportRoomTask import org.matrix.android.sdk.internal.session.room.state.DefaultSendStateTask import org.matrix.android.sdk.internal.session.room.state.SendStateTask import org.matrix.android.sdk.internal.session.room.tags.AddTagToRoomTask @@ -281,6 +283,9 @@ internal abstract class RoomModule { @Binds abstract fun bindReportContentTask(task: DefaultReportContentTask): ReportContentTask + @Binds + abstract fun bindReportRoomTask(task: DefaultReportRoomTask): ReportRoomTask + @Binds abstract fun bindGetContextOfEventTask(task: DefaultGetContextOfEventTask): GetContextOfEventTask diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/DefaultReportingService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/DefaultReportingService.kt index 1e32bf5e16..ba8a6cb453 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/DefaultReportingService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/DefaultReportingService.kt @@ -23,7 +23,8 @@ import org.matrix.android.sdk.api.session.room.reporting.ReportingService internal class DefaultReportingService @AssistedInject constructor( @Assisted private val roomId: String, - private val reportContentTask: ReportContentTask + private val reportContentTask: ReportContentTask, + private val reportRoomTask: ReportRoomTask, ) : ReportingService { @AssistedFactory @@ -35,4 +36,9 @@ internal class DefaultReportingService @AssistedInject constructor( val params = ReportContentTask.Params(roomId, eventId, score, reason) reportContentTask.execute(params) } + + override suspend fun reportRoom(reason: String) { + val params = ReportRoomTask.Params(roomId, reason) + reportRoomTask.execute(params) + } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/ReportRoomBody.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/ReportRoomBody.kt new file mode 100644 index 0000000000..8e21132063 --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/ReportRoomBody.kt @@ -0,0 +1,28 @@ +/* + * Copyright 2025 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.room.reporting + +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) +internal data class ReportRoomBody( + /** + * Required. The reason the content is being reported. May be blank. + */ + @Json(name = "reason") val reason: String +) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/ReportRoomTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/ReportRoomTask.kt new file mode 100644 index 0000000000..54b0efd207 --- /dev/null +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/reporting/ReportRoomTask.kt @@ -0,0 +1,42 @@ +/* + * Copyright 2025 The Matrix.org Foundation C.I.C. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.matrix.android.sdk.internal.session.room.reporting + +import org.matrix.android.sdk.internal.network.GlobalErrorReceiver +import org.matrix.android.sdk.internal.network.executeRequest +import org.matrix.android.sdk.internal.session.room.RoomAPI +import org.matrix.android.sdk.internal.task.Task +import javax.inject.Inject + +internal interface ReportRoomTask : Task { + data class Params( + val roomId: String, + val reason: String, + ) +} + +internal class DefaultReportRoomTask @Inject constructor( + private val roomAPI: RoomAPI, + private val globalErrorReceiver: GlobalErrorReceiver +) : ReportRoomTask { + + override suspend fun execute(params: ReportRoomTask.Params) { + return executeRequest(globalErrorReceiver) { + roomAPI.reportRoom(params.roomId, ReportRoomBody(params.reason)) + } + } +} diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileViewModel.kt b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileViewModel.kt index f54f7314ad..83b1c5a950 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileViewModel.kt @@ -184,17 +184,7 @@ class RoomProfileViewModel @AssistedInject constructor( _viewEvents.post(RoomProfileViewEvents.Loading()) session.coroutineScope.launch { try { - // When reporting a user, use the user state event if available (it should always be available) - val createStateEventId = room.stateService() - .getStateEvent(EventType.STATE_ROOM_CREATE, QueryStringValue.IsEmpty) - ?.eventId - ?: throw IllegalStateException("Failure: m.room.create event not found.") - room.reportingService() - .reportContent( - eventId = createStateEventId, - score = -100, - reason = reason, - ) + room.reportingService().reportRoom(reason = reason) _viewEvents.post( RoomProfileViewEvents.Success( stringProvider.getString(CommonStrings.room_profile_section_more_report_success_content) From 4b2ebcee4e9742db512cebc738354d5a4762413c Mon Sep 17 00:00:00 2001 From: Ihor Hordiichuk Date: Sun, 9 Feb 2025 19:05:32 +0000 Subject: [PATCH 39/49] Translated using Weblate (Ukrainian) Currently translated at 100.0% (115 of 115 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/uk/ --- fastlane/metadata/android/uk/changelogs/40106300.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/uk/changelogs/40106300.txt diff --git a/fastlane/metadata/android/uk/changelogs/40106300.txt b/fastlane/metadata/android/uk/changelogs/40106300.txt new file mode 100644 index 0000000000..6d559e5525 --- /dev/null +++ b/fastlane/metadata/android/uk/changelogs/40106300.txt @@ -0,0 +1,2 @@ +Основні зміни в цій версії: Виправлено збій вхідних викликів на Android 14+. +Перелік усіх змін: https://github.com/element-hq/element-android/releases From 705d9b2016de09a76c3923add74becf3c2c6cfea Mon Sep 17 00:00:00 2001 From: waclaw66 Date: Mon, 10 Feb 2025 11:31:51 +0000 Subject: [PATCH 40/49] Translated using Weblate (Czech) Currently translated at 100.0% (115 of 115 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/cs/ --- fastlane/metadata/android/cs-CZ/changelogs/40106300.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/cs-CZ/changelogs/40106300.txt diff --git a/fastlane/metadata/android/cs-CZ/changelogs/40106300.txt b/fastlane/metadata/android/cs-CZ/changelogs/40106300.txt new file mode 100644 index 0000000000..d17dcc20d4 --- /dev/null +++ b/fastlane/metadata/android/cs-CZ/changelogs/40106300.txt @@ -0,0 +1,2 @@ +Hlavní změny v této verzi: Oprava pádu příchozího hovoru na Androidu 14+. +Úplný seznam změn: https://github.com/element-hq/element-android/releases From b1f4db58e804047237b7c0ad7fe35f03ebfeb9c6 Mon Sep 17 00:00:00 2001 From: LinAGKar Date: Fri, 14 Feb 2025 20:43:48 +0000 Subject: [PATCH 41/49] Translated using Weblate (Swedish) Currently translated at 100.0% (115 of 115 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/sv/ --- fastlane/metadata/android/sv-SE/changelogs/40106300.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/sv-SE/changelogs/40106300.txt diff --git a/fastlane/metadata/android/sv-SE/changelogs/40106300.txt b/fastlane/metadata/android/sv-SE/changelogs/40106300.txt new file mode 100644 index 0000000000..7249c0ccae --- /dev/null +++ b/fastlane/metadata/android/sv-SE/changelogs/40106300.txt @@ -0,0 +1,2 @@ +Huvudsakliga ändringar i den här versionen: Fixa crash vid inkommande samtal på Android 14+ +Full ändringslogg: https://github.com/element-hq/element-android/releases From 8bcb9a50f77290b8204e4946807ab0c3763c9006 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Priit=20J=C3=B5er=C3=BC=C3=BCt?= Date: Mon, 17 Feb 2025 20:55:22 +0000 Subject: [PATCH 42/49] Translated using Weblate (Estonian) Currently translated at 100.0% (2653 of 2653 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/et/ --- library/ui-strings/src/main/res/values-et/strings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/library/ui-strings/src/main/res/values-et/strings.xml b/library/ui-strings/src/main/res/values-et/strings.xml index 28804e2cd5..80fd7474c4 100644 --- a/library/ui-strings/src/main/res/values-et/strings.xml +++ b/library/ui-strings/src/main/res/values-et/strings.xml @@ -2979,4 +2979,6 @@ Kiirem, turvalisem ja sisaldab palju võimsaid ühistöövahendeid. Selle rakendusega enam ei saa luua kasutajakontot teenuses %1$s %2$s teenuse kasutamiseks võta kasutusele %1$s või vali mõni muu koduserver. + Teata jututoast + Jututoast teatamine õnnestus. \ No newline at end of file From b96899f2b4f7651ad96e3687346abc708fe7d5bc Mon Sep 17 00:00:00 2001 From: Danial Behzadi Date: Mon, 17 Feb 2025 22:06:50 +0000 Subject: [PATCH 43/49] Translated using Weblate (Persian) Currently translated at 100.0% (2653 of 2653 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/fa/ --- library/ui-strings/src/main/res/values-fa/strings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/library/ui-strings/src/main/res/values-fa/strings.xml b/library/ui-strings/src/main/res/values-fa/strings.xml index 65dbc06631..f98270dd6c 100644 --- a/library/ui-strings/src/main/res/values-fa/strings.xml +++ b/library/ui-strings/src/main/res/values-fa/strings.xml @@ -2979,4 +2979,6 @@ بارگیری %1$s دیگر نمی‌توانید با این کاره حسابی روی %1$s بسازید سریع‌تر، امن‌تر و دارای ابزارهای همکاری قدرتمند. + گزارش اتاق + اتاق با موفّقیت گزارش شد. \ No newline at end of file From bb4ea45f372fa1528dedd476c152a2ac0f4d49b5 Mon Sep 17 00:00:00 2001 From: Besnik Bleta Date: Mon, 17 Feb 2025 18:40:34 +0000 Subject: [PATCH 44/49] Translated using Weblate (Albanian) Currently translated at 99.4% (2639 of 2653 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/sq/ --- library/ui-strings/src/main/res/values-sq/strings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/library/ui-strings/src/main/res/values-sq/strings.xml b/library/ui-strings/src/main/res/values-sq/strings.xml index 7c57e8707a..b85c60d37e 100644 --- a/library/ui-strings/src/main/res/values-sq/strings.xml +++ b/library/ui-strings/src/main/res/values-sq/strings.xml @@ -2967,4 +2967,6 @@ Shkarko %1$s S’mund të krijoni më një llogari te %1$s duke përdorur këtë aplikacion I shpejtë, më i siguruar dhe plot mjete të fuqishme bashkëpunimi. + Raportojeni Dhomën + Dhoma u raportua me sukses. \ No newline at end of file From 5c8e9bb9c5c87d1435e55316aa61ee5feb54a77c Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Tue, 18 Feb 2025 02:39:02 +0000 Subject: [PATCH 45/49] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (2653 of 2653 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hant/ --- library/ui-strings/src/main/res/values-zh-rTW/strings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/library/ui-strings/src/main/res/values-zh-rTW/strings.xml b/library/ui-strings/src/main/res/values-zh-rTW/strings.xml index 80532b8b81..f1b00f2613 100644 --- a/library/ui-strings/src/main/res/values-zh-rTW/strings.xml +++ b/library/ui-strings/src/main/res/values-zh-rTW/strings.xml @@ -2919,4 +2919,6 @@ 您無法再使用此應用程式建立 %1$s 的帳號 下載 %1$s 以將 %2$s 用於您的帳號或選擇其他家伺服器。 更快、更安全,並配備了強大的協作工具。 + 回報聊天室 + 已成功回報聊天室。 \ No newline at end of file From 12bc03ce879bd77e599fc299b08a5be955d1c8df Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Tue, 18 Feb 2025 02:38:51 +0000 Subject: [PATCH 46/49] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (115 of 115 strings) Translation: Element Android/Element Android Store Translate-URL: https://translate.element.io/projects/element-android/element-store/zh_Hant/ --- fastlane/metadata/android/zh-TW/changelogs/40106300.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/zh-TW/changelogs/40106300.txt diff --git a/fastlane/metadata/android/zh-TW/changelogs/40106300.txt b/fastlane/metadata/android/zh-TW/changelogs/40106300.txt new file mode 100644 index 0000000000..bc02971682 --- /dev/null +++ b/fastlane/metadata/android/zh-TW/changelogs/40106300.txt @@ -0,0 +1,2 @@ +此版本中的主要變動:修復 Android 14 或更新版本上的來電當機問題。 +完整的變更紀錄:https://github.com/element-hq/element-android/releases From 3a14792d4a2014409d4242f24be31ce66809edbd Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 18 Feb 2025 09:09:15 +0000 Subject: [PATCH 47/49] Translated using Weblate (Portuguese (Brazil)) Currently translated at 99.5% (2642 of 2653 strings) Translation: Element Android/Element Android App Translate-URL: https://translate.element.io/projects/element-android/element-app/pt_BR/ --- library/ui-strings/src/main/res/values-pt-rBR/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/ui-strings/src/main/res/values-pt-rBR/strings.xml b/library/ui-strings/src/main/res/values-pt-rBR/strings.xml index 401805e99e..5a82d1c32b 100644 --- a/library/ui-strings/src/main/res/values-pt-rBR/strings.xml +++ b/library/ui-strings/src/main/res/values-pt-rBR/strings.xml @@ -1430,7 +1430,7 @@ Novo login. Foi você\? Use esta sessão para verificar sua nova, concedendo-lhe acesso a mensagens encriptadas. Não foi eu - I + Sua conta pode estar comprometida Se você cancelar, você não vai ser capaz de ler mensagens encriptadas neste dispositivo, e outras(os) usuárias(os) não vão confiar nele Se você cancelar, você não vai ser capaz de ler mensagens encriptadas em seu novo dispositivo, e outras(os) usuárias(os) não vão confiar nele Você não vai verificar %1$s (%2$s) se cancelar agora. Comece de novo no perfil de usuária(o) dela(e). From 021881e72fbfbb024489b0b26b654e4458c3764e Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 18 Feb 2025 10:48:45 +0100 Subject: [PATCH 48/49] Changelog for version 1.6.32 --- CHANGES.md | 8 ++++++++ changelog.d/8998.misc | 1 - 2 files changed, 8 insertions(+), 1 deletion(-) delete mode 100644 changelog.d/8998.misc diff --git a/CHANGES.md b/CHANGES.md index a7dd26bb9a..195008a0c2 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,11 @@ +Changes in Element v1.6.32 (2025-02-18) +======================================= + +Other changes +------------- + - Add action to report room. ([#8998](https://github.com/element-hq/element-android/issues/8998)) + + Changes in Element v1.6.30 (2025-02-04) ======================================= diff --git a/changelog.d/8998.misc b/changelog.d/8998.misc deleted file mode 100644 index f6744ff12f..0000000000 --- a/changelog.d/8998.misc +++ /dev/null @@ -1 +0,0 @@ -Add action to report room. From 88ab8790a6e563f092ed0da6b3d49c6c83f55cd6 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 18 Feb 2025 10:49:08 +0100 Subject: [PATCH 49/49] Adding fastlane file for version 1.6.32 --- fastlane/metadata/android/en-US/changelogs/40106320.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/40106320.txt diff --git a/fastlane/metadata/android/en-US/changelogs/40106320.txt b/fastlane/metadata/android/en-US/changelogs/40106320.txt new file mode 100644 index 0000000000..022db853cf --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/40106320.txt @@ -0,0 +1,2 @@ +Main changes in this version: Add action to report room. +Full changelog: https://github.com/element-hq/element-android/releases