From f65a4bd437f0e3d7dfcaf15fe044695b7d7d32f7 Mon Sep 17 00:00:00 2001 From: Mauro Romito Date: Tue, 18 Jun 2024 16:54:53 +0200 Subject: [PATCH 001/117] Prepare for new sprint --- Config/AppVersion.xcconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Config/AppVersion.xcconfig b/Config/AppVersion.xcconfig index 716ff33d7..084508c89 100644 --- a/Config/AppVersion.xcconfig +++ b/Config/AppVersion.xcconfig @@ -15,5 +15,5 @@ // // Version -MARKETING_VERSION = 1.11.15 -CURRENT_PROJECT_VERSION = 1.11.15 +MARKETING_VERSION = 1.11.16 +CURRENT_PROJECT_VERSION = 1.11.16 From 515cfdeea4b387f9872bdf769d8cfc6bbfcad085 Mon Sep 17 00:00:00 2001 From: Doug <6060466+pixlwave@users.noreply.github.com> Date: Mon, 24 Jun 2024 17:33:50 +0100 Subject: [PATCH 002/117] Update the SDK. (#7819) * Update the SDK. * Run pod install. --- Podfile.lock | 10 +++++----- matrix-ios-sdk | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Podfile.lock b/Podfile.lock index ce0165a2b..6e3ce20f9 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -39,9 +39,9 @@ PODS: - LoggerAPI (1.9.200): - Logging (~> 1.1) - Logging (1.4.0) - - MatrixSDK (0.27.10): - - MatrixSDK/Core (= 0.27.10) - - MatrixSDK/Core (0.27.10): + - MatrixSDK (0.27.11): + - MatrixSDK/Core (= 0.27.11) + - MatrixSDK/Core (0.27.11): - AFNetworking (~> 4.0.0) - GZIP (~> 1.3.0) - libbase58 (~> 0.1.4) @@ -49,7 +49,7 @@ PODS: - OLMKit (~> 3.2.5) - Realm (= 10.27.0) - SwiftyBeaver (= 1.9.5) - - MatrixSDK/JingleCallStack (0.27.10): + - MatrixSDK/JingleCallStack (0.27.11): - JitsiMeetSDKLite (= 8.1.2-lite) - MatrixSDK/Core - MatrixSDKCrypto (0.4.2) @@ -187,7 +187,7 @@ SPEC CHECKSUMS: libPhoneNumber-iOS: 0a32a9525cf8744fe02c5206eb30d571e38f7d75 LoggerAPI: ad9c4a6f1e32f518fdb43a1347ac14d765ab5e3d Logging: beeb016c9c80cf77042d62e83495816847ef108b - MatrixSDK: c805f9306d60955215f4b15043ed0f96fd4867b3 + MatrixSDK: 7c29e5cc8934cfc1f81f83fcfa17cd652612086d MatrixSDKCrypto: 736069ee0a5ec12852ab3498bf2242acecc443fc OLMKit: da115f16582e47626616874e20f7bb92222c7a51 ReadMoreTextView: 19147adf93abce6d7271e14031a00303fe28720d diff --git a/matrix-ios-sdk b/matrix-ios-sdk index ff2b2a402..04e422e1f 160000 --- a/matrix-ios-sdk +++ b/matrix-ios-sdk @@ -1 +1 @@ -Subproject commit ff2b2a4024b48dbeba5d4157d2622161b3034ba4 +Subproject commit 04e422e1f70eb3c32b9d0067cf9721bdc295caa0 From 2063a4a74413b47b9a6b3d6886ffc3604a462558 Mon Sep 17 00:00:00 2001 From: Mauro Romito Date: Fri, 5 Jul 2024 16:11:47 +0200 Subject: [PATCH 003/117] updated SDK and added a fix for the discover server table view cell --- .../Views/DirectoryServerTableViewCell.m | 10 ++++++++++ matrix-ios-sdk | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Riot/Modules/Rooms/DirectoryPicker/Views/DirectoryServerTableViewCell.m b/Riot/Modules/Rooms/DirectoryPicker/Views/DirectoryServerTableViewCell.m index 6ec9484e6..3daadd924 100644 --- a/Riot/Modules/Rooms/DirectoryPicker/Views/DirectoryServerTableViewCell.m +++ b/Riot/Modules/Rooms/DirectoryPicker/Views/DirectoryServerTableViewCell.m @@ -60,6 +60,16 @@ - (void)render:(id)cellData { iconURL = [NSString stringWithFormat:@"%@%@", kMXContentUriScheme, [iconURL substringFromIndex:range.location + range.length]]; } + // Check also if we are using the authenticated endpoint + else + { + mxMediaPrefix = [NSString stringWithFormat:@"/%@/download/", kMXAuthenticatedContentPrefixPath]; + range = [iconURL rangeOfString:mxMediaPrefix]; + if (range.location != NSNotFound) + { + iconURL = [NSString stringWithFormat:@"%@%@", kMXContentUriScheme, [iconURL substringFromIndex:range.location + range.length]]; + } + } [self.iconImageView setImageURI:iconURL withType:nil andImageOrientation:UIImageOrientationUp diff --git a/matrix-ios-sdk b/matrix-ios-sdk index 04e422e1f..66f05d046 160000 --- a/matrix-ios-sdk +++ b/matrix-ios-sdk @@ -1 +1 @@ -Subproject commit 04e422e1f70eb3c32b9d0067cf9721bdc295caa0 +Subproject commit 66f05d0468390bdddf838b73135353408fa5390c From 17d4d68d545ddabced0dc12b5a5a73992fd79610 Mon Sep 17 00:00:00 2001 From: Mauro Romito Date: Fri, 5 Jul 2024 18:08:38 +0200 Subject: [PATCH 004/117] updated the submodule --- matrix-ios-sdk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/matrix-ios-sdk b/matrix-ios-sdk index 66f05d046..1c4b3f5c3 160000 --- a/matrix-ios-sdk +++ b/matrix-ios-sdk @@ -1 +1 @@ -Subproject commit 66f05d0468390bdddf838b73135353408fa5390c +Subproject commit 1c4b3f5c32ed3bcf27d3404c770e000a50417352 From 269d71da4e995f263ddc37cbf23ff5e8603adc41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Priit=20J=C3=B5er=C3=BC=C3=BCt?= Date: Mon, 17 Jun 2024 10:55:06 +0000 Subject: [PATCH 005/117] Translated using Weblate (Estonian) Currently translated at 99.9% (2418 of 2420 strings) Translation: Element iOS/Element iOS Translate-URL: https://translate.element.io/projects/riot-ios/riot-ios/et/ --- Riot/Assets/et.lproj/Vector.strings | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Riot/Assets/et.lproj/Vector.strings b/Riot/Assets/et.lproj/Vector.strings index 22e9f3419..8311104ce 100644 --- a/Riot/Assets/et.lproj/Vector.strings +++ b/Riot/Assets/et.lproj/Vector.strings @@ -2719,3 +2719,5 @@ "settings_manage_account_description" = "Halda kasutajakontot koduserveris %@"; "manage_session_redirect" = "Järgmiseks suuname sind sinu serveriteenuse autentijale ning seal saad sa väljalogimise lõpuni viia."; "manage_session_redirect_error" = "See funktsionaalsus pole hetkel saadaval. Lisateavet saad oma koduserveri haldajalt"; +"room_action_report" = "Teata jututoast"; +"room_action_report_prompt_reason" = "Jututoast teatamise põhjus"; From 9192664c549e03cb1085f2fe43bce349fb18b3bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Priit=20J=C3=B5er=C3=BC=C3=BCt?= Date: Mon, 17 Jun 2024 19:41:28 +0000 Subject: [PATCH 006/117] Translated using Weblate (Estonian) Currently translated at 100.0% (2420 of 2420 strings) Translation: Element iOS/Element iOS Translate-URL: https://translate.element.io/projects/riot-ios/riot-ios/et/ --- Riot/Assets/et.lproj/Vector.strings | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Riot/Assets/et.lproj/Vector.strings b/Riot/Assets/et.lproj/Vector.strings index 8311104ce..c21f0ba26 100644 --- a/Riot/Assets/et.lproj/Vector.strings +++ b/Riot/Assets/et.lproj/Vector.strings @@ -2721,3 +2721,8 @@ "manage_session_redirect_error" = "See funktsionaalsus pole hetkel saadaval. Lisateavet saad oma koduserveri haldajalt"; "room_action_report" = "Teata jututoast"; "room_action_report_prompt_reason" = "Jututoast teatamise põhjus"; + + +// MARK: - WYSIWYG Composer +"wysiwyg_composer_action_minimise_action" = "Peida tekstitoimeti"; +"wysiwyg_composer_action_maximise_action" = "Ava tekstitoimeti"; From 3f7aa67b3e729810bb98f548aec7707266413672 Mon Sep 17 00:00:00 2001 From: Besnik Bleta Date: Tue, 18 Jun 2024 08:52:46 +0000 Subject: [PATCH 007/117] Translated using Weblate (Albanian) Currently translated at 99.6% (2411 of 2420 strings) Translation: Element iOS/Element iOS Translate-URL: https://translate.element.io/projects/riot-ios/riot-ios/sq/ --- Riot/Assets/sq.lproj/Vector.strings | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Riot/Assets/sq.lproj/Vector.strings b/Riot/Assets/sq.lproj/Vector.strings index cd338d626..b1158c152 100644 --- a/Riot/Assets/sq.lproj/Vector.strings +++ b/Riot/Assets/sq.lproj/Vector.strings @@ -14,7 +14,7 @@ "leave" = "Dilni"; "remove" = "Hiqe"; "invite" = "Ftoje"; -"retry" = "Riprovo"; +"retry" = "Riprovoni"; "off" = "Off"; "cancel" = "Anuloje"; "save" = "Ruaje"; @@ -2757,3 +2757,10 @@ "settings_manage_account_title" = "Llogari"; "settings_manage_account_action" = "Administroni llogari"; "manage_session_redirect" = "Do të ridrejtoheni te shërbimi i mirëfilltësimit të shërbyesit tuaj, për të plotësuar daljen nga llogaria."; +"room_action_report" = "Raportojeni dhomën"; +"room_action_report_prompt_reason" = "Arsye për raportimin e kësaj dhome"; + + +// MARK: - WYSIWYG Composer +"wysiwyg_composer_action_minimise_action" = "Tkurre hartuesin"; +"wysiwyg_composer_action_maximise_action" = "Zgjeroje hartuesin"; From 8a021d8ae5f497cdcc77577e35e145da0b87d63d Mon Sep 17 00:00:00 2001 From: Linerly Date: Tue, 18 Jun 2024 12:17:47 +0000 Subject: [PATCH 008/117] Translated using Weblate (Indonesian) Currently translated at 100.0% (2420 of 2420 strings) Translation: Element iOS/Element iOS Translate-URL: https://translate.element.io/projects/riot-ios/riot-ios/id/ --- Riot/Assets/id.lproj/Vector.strings | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Riot/Assets/id.lproj/Vector.strings b/Riot/Assets/id.lproj/Vector.strings index 5e8e1c027..a27d04098 100644 --- a/Riot/Assets/id.lproj/Vector.strings +++ b/Riot/Assets/id.lproj/Vector.strings @@ -2974,3 +2974,10 @@ "settings_manage_account_description" = "Kelola akun Anda di %@"; "manage_session_redirect" = "Anda akan dialihkan ke penyedia autentikasi server Anda untuk menyelesaikan proses keluar."; "manage_session_redirect_error" = "Fungsi saat ini tidak tersedia. Silakan hubungi admin homeserver Anda"; +"room_action_report_prompt_reason" = "Alasan melaporkan ruangan ini"; + + +// MARK: - WYSIWYG Composer +"wysiwyg_composer_action_minimise_action" = "Kecilkan komposer"; +"wysiwyg_composer_action_maximise_action" = "Luaskan komposer"; +"room_action_report" = "Laporkan ruangan"; From 9099ab395d41b93172198b20413bd2feb6d050b3 Mon Sep 17 00:00:00 2001 From: LinAGKar Date: Thu, 20 Jun 2024 18:47:02 +0000 Subject: [PATCH 009/117] Translated using Weblate (Swedish) Currently translated at 100.0% (2420 of 2420 strings) Translation: Element iOS/Element iOS Translate-URL: https://translate.element.io/projects/riot-ios/riot-ios/sv/ --- Riot/Assets/sv.lproj/Vector.strings | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Riot/Assets/sv.lproj/Vector.strings b/Riot/Assets/sv.lproj/Vector.strings index 85662f029..4ba032603 100644 --- a/Riot/Assets/sv.lproj/Vector.strings +++ b/Riot/Assets/sv.lproj/Vector.strings @@ -2714,3 +2714,10 @@ "settings_manage_account_description" = "Hantera ditt konto på %@"; "manage_session_redirect" = "Du kommer att omdirigeras till din servers autentiseringsleverantör för att fortsätta utloggning."; "manage_session_redirect_error" = "Funktion för närvarande otillgänglig. Vänligen kontakta din hemserveradministratör"; +"room_action_report" = "Rapportera rum"; +"room_action_report_prompt_reason" = "Anledning att rapportera det här rummet"; +"wysiwyg_composer_action_maximise_action" = "Expandera redigerare"; + + +// MARK: - WYSIWYG Composer +"wysiwyg_composer_action_minimise_action" = "Krymp redigerare"; From 61a942eeba943b3ca79c9eba3c28213b186e45dc Mon Sep 17 00:00:00 2001 From: Jozef Gaal Date: Wed, 26 Jun 2024 10:56:37 +0000 Subject: [PATCH 010/117] Translated using Weblate (Slovak) Currently translated at 100.0% (2420 of 2420 strings) Translation: Element iOS/Element iOS Translate-URL: https://translate.element.io/projects/riot-ios/riot-ios/sk/ --- Riot/Assets/sk.lproj/Vector.strings | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Riot/Assets/sk.lproj/Vector.strings b/Riot/Assets/sk.lproj/Vector.strings index a18873e4d..5ad14f43f 100644 --- a/Riot/Assets/sk.lproj/Vector.strings +++ b/Riot/Assets/sk.lproj/Vector.strings @@ -2970,3 +2970,10 @@ "settings_manage_account_description" = "Spravujte svoj účet na %@"; "manage_session_redirect" = "Budete presmerovaní na poskytovateľa overovania vášho servera, aby ste dokončili odhlásenie."; "manage_session_redirect_error" = "Funkcia aktuálne nie je dostupná. Obráťte sa na správcu vášho domovského servera"; +"room_action_report_prompt_reason" = "Dôvod nahlásenia tejto miestnosti"; +"wysiwyg_composer_action_maximise_action" = "Rozšíriť editor"; +"room_action_report" = "Nahlásiť miestnosť"; + + +// MARK: - WYSIWYG Composer +"wysiwyg_composer_action_minimise_action" = "Zmenšiť editor"; From 1da77bc73d790c551e9e7b111ad737c27d44fa41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Mesk=C3=B3?= Date: Fri, 28 Jun 2024 09:37:34 +0000 Subject: [PATCH 011/117] Translated using Weblate (Hungarian) Currently translated at 99.9% (2419 of 2420 strings) Translation: Element iOS/Element iOS Translate-URL: https://translate.element.io/projects/riot-ios/riot-ios/hu/ --- Riot/Assets/hu.lproj/Vector.strings | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/Riot/Assets/hu.lproj/Vector.strings b/Riot/Assets/hu.lproj/Vector.strings index 216ab88fd..bac644244 100644 --- a/Riot/Assets/hu.lproj/Vector.strings +++ b/Riot/Assets/hu.lproj/Vector.strings @@ -2478,9 +2478,9 @@ "user_sessions_settings" = "Munkamenetek kezelése"; "invite_to" = "Meghívó ide: %@"; "device_name_unknown" = "Ismeretlen kliens"; -"device_name_mobile" = "%@ Mobil"; -"device_name_desktop" = "%@ Alkalmazás"; -"device_name_web" = "%@ Web"; +"device_name_mobile" = "Mobilos %@"; +"device_name_desktop" = "Asztali %@"; +"device_name_web" = "Webes %@"; "user_session_item_details" = "%1$@ · %2$@"; // First item is client name and second item is session display name @@ -2528,19 +2528,19 @@ "user_session_details_device_os" = "Operációs rendszer"; "user_session_details_device_browser" = "Böngésző"; "user_session_details_device_model" = "Modell"; -"user_session_details_device_ip_location" = "Tartózkodási helyem"; +"user_session_details_device_ip_location" = "Saját tartózkodási hely"; "user_session_details_device_ip_address" = "IP cím"; "user_session_details_last_activity" = "Utolsó tevékenység"; -"user_session_details_session_section_footer" = "A másoláshoz koppints és tartsd rajta az ujjad."; -"user_session_details_session_id" = "Kapcsolat azonosító"; +"user_session_details_session_section_footer" = "A másoláshoz koppintson és tartsa lenyomva."; +"user_session_details_session_id" = "Kapcsolatazonosító"; "user_session_details_session_name" = "Munkamenet neve"; "user_session_details_device_section_header" = "Eszköz"; "user_session_details_application_section_header" = "Alkalmazás"; "user_session_details_session_section_header" = "Munkamenet"; -"user_session_details_title" = "Munkamenet információk"; +"user_session_details_title" = "Munkamenet-információk"; "device_type_name_unknown" = "Ismeretlen"; -"device_type_name_mobile" = "Mobil"; -"device_type_name_web" = "Web"; +"device_type_name_mobile" = "Mobilos"; +"device_type_name_web" = "Webes"; "device_type_name_desktop" = "Asztali"; "user_inactive_session_item_with_date" = "90+ napja inaktív (%@)"; "user_inactive_session_item" = "90+ napja inaktív"; @@ -2763,3 +2763,13 @@ "settings_manage_account_action" = "Fiók kezelése"; "settings_manage_account_description" = "A fiókja kezelése itt: %@"; "room_command_change_room_topic_description" = "Beállítja a szoba témáját"; +"room_action_report" = "Szoba jelentése"; +"room_action_report_prompt_reason" = "A szoba jelentésének oka"; + + +// MARK: - WYSIWYG Composer +"wysiwyg_composer_action_minimise_action" = "Szerkesztő összecsukása"; +"wysiwyg_composer_action_maximise_action" = "Szerkesztő kibontása"; +"room_command_set_user_power_level_description" = "Meghatározza a felhasználó szintjét"; +"room_command_reset_user_power_level_description" = "Elveszi az adott azonosítójú felhasználó operátori jogosultságát"; +"room_command_error_unknown_command" = "Érvénytelen vagy nem kezelt parancs"; From 74c54d0ff55573302f5805b72ab39b4ca946913a Mon Sep 17 00:00:00 2001 From: Ihor Hordiichuk Date: Sun, 30 Jun 2024 12:53:35 +0000 Subject: [PATCH 012/117] Translated using Weblate (Ukrainian) Currently translated at 100.0% (2420 of 2420 strings) Translation: Element iOS/Element iOS Translate-URL: https://translate.element.io/projects/riot-ios/riot-ios/uk/ --- Riot/Assets/uk.lproj/Vector.strings | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Riot/Assets/uk.lproj/Vector.strings b/Riot/Assets/uk.lproj/Vector.strings index 7c18d9f8b..0119a6575 100644 --- a/Riot/Assets/uk.lproj/Vector.strings +++ b/Riot/Assets/uk.lproj/Vector.strings @@ -2972,3 +2972,10 @@ "settings_manage_account_description" = "Керувати обліковим записом у %@"; "manage_session_redirect" = "Вас буде перенаправлено до постачальника автентифікації вашого сервера для завершення виходу."; "manage_session_redirect_error" = "Функціональність наразі недоступна. Зверніться до адміністратора вашого домашнього сервера"; +"wysiwyg_composer_action_maximise_action" = "Розгорнути редактор"; +"room_action_report" = "Поскаржитися на кімнату"; +"room_action_report_prompt_reason" = "Причина скарги на цю кімнату"; + + +// MARK: - WYSIWYG Composer +"wysiwyg_composer_action_minimise_action" = "Зменшити редактор"; From 63e547deeb14435624f2b6e7e4d4735fe99d702e Mon Sep 17 00:00:00 2001 From: random Date: Sat, 13 Jul 2024 09:21:50 +0000 Subject: [PATCH 013/117] Translated using Weblate (Italian) Currently translated at 100.0% (2420 of 2420 strings) Translation: Element iOS/Element iOS Translate-URL: https://translate.element.io/projects/riot-ios/riot-ios/it/ --- Riot/Assets/it.lproj/Vector.strings | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Riot/Assets/it.lproj/Vector.strings b/Riot/Assets/it.lproj/Vector.strings index 0e893b97c..55551cc09 100644 --- a/Riot/Assets/it.lproj/Vector.strings +++ b/Riot/Assets/it.lproj/Vector.strings @@ -2747,3 +2747,10 @@ "settings_manage_account_description" = "Gestisci il tuo account su %@"; "manage_session_redirect" = "Verrai reindirizzato al fornitore di autenticazione del tuo server per completare la disconnessione."; "manage_session_redirect_error" = "Funzionalità attualmente non disponibile. Contatta l'amministratore del tuo homeserver"; + + +// MARK: - WYSIWYG Composer +"wysiwyg_composer_action_minimise_action" = "Rimpicciolisci il compositore"; +"wysiwyg_composer_action_maximise_action" = "Espandi il compositore"; +"room_action_report" = "Segnala stanza"; +"room_action_report_prompt_reason" = "Motivo della segnalazione della stanza"; From f477807d4feb1bff956e5dd28b4e16168e685ea9 Mon Sep 17 00:00:00 2001 From: simsononroad Date: Sun, 14 Jul 2024 11:22:12 +0000 Subject: [PATCH 014/117] Translated using Weblate (Hungarian) Currently translated at 99.9% (2419 of 2420 strings) Translation: Element iOS/Element iOS Translate-URL: https://translate.element.io/projects/riot-ios/riot-ios/hu/ --- Riot/Assets/hu.lproj/Vector.strings | 1 + 1 file changed, 1 insertion(+) diff --git a/Riot/Assets/hu.lproj/Vector.strings b/Riot/Assets/hu.lproj/Vector.strings index bac644244..8e324169f 100644 --- a/Riot/Assets/hu.lproj/Vector.strings +++ b/Riot/Assets/hu.lproj/Vector.strings @@ -2773,3 +2773,4 @@ "room_command_set_user_power_level_description" = "Meghatározza a felhasználó szintjét"; "room_command_reset_user_power_level_description" = "Elveszi az adott azonosítójú felhasználó operátori jogosultságát"; "room_command_error_unknown_command" = "Érvénytelen vagy nem kezelt parancs"; +"room_command_discard_session_description" = "Kényszeríti a titkosított szobában lévő aktuális kimenő csoportmunkamenet elvetését"; From b7ff327160afa18ef32d7095c10a5da4b8018428 Mon Sep 17 00:00:00 2001 From: Mauro Romito Date: Tue, 23 Jul 2024 13:41:51 +0200 Subject: [PATCH 015/117] version++ --- CHANGES.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 907d69b54..11ffc2409 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,8 @@ +## Changes in 1.11.16 (2024-07-23) + +No significant changes. + + ## Changes in 1.11.15 (2024-06-18) No significant changes. From 3ba96830c318d089a25361d48074b29657ebc289 Mon Sep 17 00:00:00 2001 From: Mauro Romito Date: Tue, 23 Jul 2024 14:13:03 +0200 Subject: [PATCH 016/117] finish version++ From 3149392143ac7a3d34887f1fcca141116a06c81f Mon Sep 17 00:00:00 2001 From: Mauro Romito Date: Tue, 23 Jul 2024 14:13:11 +0200 Subject: [PATCH 017/117] Prepare for new sprint --- Config/AppVersion.xcconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Config/AppVersion.xcconfig b/Config/AppVersion.xcconfig index 084508c89..92f56844f 100644 --- a/Config/AppVersion.xcconfig +++ b/Config/AppVersion.xcconfig @@ -15,5 +15,5 @@ // // Version -MARKETING_VERSION = 1.11.16 -CURRENT_PROJECT_VERSION = 1.11.16 +MARKETING_VERSION = 1.11.17 +CURRENT_PROJECT_VERSION = 1.11.17 From 0d65fc1dde44e4c07f6e5d6ff75ebfb49b68e952 Mon Sep 17 00:00:00 2001 From: Guillaume <88834548+guillaumevillemont@users.noreply.github.com> Date: Mon, 5 Aug 2024 10:54:37 +0200 Subject: [PATCH 018/117] Update sonarcloud project key (#7826) --- .github/workflows/sonarcloud.yml | 4 ++-- README.md | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml index d902ca136..ae78b6908 100644 --- a/.github/workflows/sonarcloud.yml +++ b/.github/workflows/sonarcloud.yml @@ -25,7 +25,7 @@ jobs: with: # Additional arguments for the sonarcloud scanner args: - -Dsonar.projectKey=vector-im_element-ios - -Dsonar.organization=new_vector_ltd_organization + -Dsonar.projectKey=element-ios + -Dsonar.organization=element-hq -Dsonar.inclusions=RiotSwiftUI/** # For more info about the parameters, please refer to https://docs.sonarcloud.io/advanced-setup/analysis-parameters/ \ No newline at end of file diff --git a/README.md b/README.md index 8ebf0f2c6..da462ce03 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,9 @@ [![Build status](https://badge.buildkite.com/cc8f93e32da93fa7c1172398bd8af66254490567c7195a5f3f.svg?branch=develop)](https://buildkite.com/matrix-dot-org/element-ios/builds?branch=develop) [![Weblate](https://translate.riot.im/widgets/riot-ios/-/svg-badge.svg)](https://translate.riot.im/engage/riot-ios/?utm_source=widget) [![codecov](https://codecov.io/gh/element-hq/element-ios/branch/develop/graph/badge.svg?token=INNm5o6XWg)](https://codecov.io/gh/element-hq/element-ios) -[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=vector-im_element-ios&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=vector-im_element-ios) -[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=vector-im_element-ios&metric=bugs)](https://sonarcloud.io/summary/new_code?id=vector-im_element-ios) -[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=vector-im_element-ios&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=vector-im_element-ios) +[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=element-ios&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=element-ios) +[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=element-ios&metric=bugs)](https://sonarcloud.io/summary/new_code?id=element-ios) +[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=element-ios&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=element-ios) [![Element iOS Matrix room #element-ios:matrix.org](https://img.shields.io/matrix/element-ios:matrix.org.svg?label=%23element-ios:matrix.org&logo=matrix&server_fqdn=matrix.org)](https://matrix.to/#/#element-ios:matrix.org) ![GitHub](https://img.shields.io/github/license/element-hq/element-ios) [![Twitter URL](https://img.shields.io/twitter/url?label=Element&url=https%3A%2F%2Ftwitter.com%2Felement_hq)](https://twitter.com/element_hq) From 2229487c8229c2fc9228303b2562ef021260fd41 Mon Sep 17 00:00:00 2001 From: Doug Date: Wed, 7 Aug 2024 13:56:14 +0100 Subject: [PATCH 019/117] Update FLEX. Fixes a build issue with Xcode 15.4. --- Podfile | 2 +- Podfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Podfile b/Podfile index f6f26f61c..4035934fb 100644 --- a/Podfile +++ b/Podfile @@ -61,7 +61,7 @@ abstract_target 'RiotPods' do pod 'SideMenu', '~> 6.5' pod 'DSWaveformImage', '~> 6.1.1' - pod 'FLEX', '~> 4.5.0', :configurations => ['Debug'], :inhibit_warnings => true + pod 'FLEX', '~> 5.22.10', :configurations => ['Debug'], :inhibit_warnings => true target 'RiotTests' do inherit! :search_paths diff --git a/Podfile.lock b/Podfile.lock index 6e3ce20f9..5131afefa 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -20,7 +20,7 @@ PODS: - Down (0.11.0) - DSBottomSheet (0.3.0) - DSWaveformImage (6.1.1) - - FLEX (4.5.0) + - FLEX (5.22.10) - FlowCommoniOS (1.12.2) - GBDeviceInfo (7.1.0): - GBDeviceInfo/Core (= 7.1.0) @@ -94,7 +94,7 @@ DEPENDENCIES: - Down (~> 0.11.0) - DSBottomSheet (~> 0.3) - DSWaveformImage (~> 6.1.1) - - FLEX (~> 4.5.0) + - FLEX (~> 5.22.10) - FlowCommoniOS (~> 1.12.0) - GBDeviceInfo (~> 7.1.0) - Introspect (~> 0.1) @@ -173,7 +173,7 @@ SPEC CHECKSUMS: Down: b6ba1bc985c9d2f4e15e3b293d2207766fa12612 DSBottomSheet: ca0ac37eb5af2dd54663f86b84382ed90a59be2a DSWaveformImage: 3c718a0cf99291887ee70d1d0c18d80101d3d9ce - FLEX: e51461dd6f0bfb00643c262acdfea5d5d12c596b + FLEX: f21ee4f498eed3f8a1eded66b21939fd3b7a22ce FlowCommoniOS: ca92071ab526dc89905495a37844fd7e78d1a7f2 GBDeviceInfo: 5d62fa85bdcce3ed288d83c28789adf1173e4376 GZIP: 3c0abf794bfce8c7cb34ea05a1837752416c8868 @@ -207,6 +207,6 @@ SPEC CHECKSUMS: zxcvbn-ios: fef98b7c80f1512ff0eec47ac1fa399fc00f7e3c ZXingObjC: 8898711ab495761b2dbbdec76d90164a6d7e14c5 -PODFILE CHECKSUM: b622ffadc1a0fe5442787bd9023ca3d110384814 +PODFILE CHECKSUM: 7e14a7efb021fca69b3ffc2ffbe5fe632e6df7ea COCOAPODS: 1.14.3 From c4387b9d840bd77e7cbfa691c328c46f201d6a75 Mon Sep 17 00:00:00 2001 From: Doug <6060466+pixlwave@users.noreply.github.com> Date: Wed, 14 Aug 2024 18:20:02 +0100 Subject: [PATCH 020/117] Check power level before starting live sharing location (#7832) Update RiotSwiftUI/Modules/LocationSharing/StartLocationSharing/Coordinator/LocationSharingCoordinator.swift Use local var `roomPowerLevels` Co-authored-by: Nicolas Buquet --- .../Coordinator/LocationSharingCoordinator.swift | 15 +++++++-------- changelog.d/pr-7808.change | 1 + 2 files changed, 8 insertions(+), 8 deletions(-) create mode 100644 changelog.d/pr-7808.change diff --git a/RiotSwiftUI/Modules/LocationSharing/StartLocationSharing/Coordinator/LocationSharingCoordinator.swift b/RiotSwiftUI/Modules/LocationSharing/StartLocationSharing/Coordinator/LocationSharingCoordinator.swift index 9cd5853c7..c2494be12 100644 --- a/RiotSwiftUI/Modules/LocationSharing/StartLocationSharing/Coordinator/LocationSharingCoordinator.swift +++ b/RiotSwiftUI/Modules/LocationSharing/StartLocationSharing/Coordinator/LocationSharingCoordinator.swift @@ -166,17 +166,16 @@ final class LocationSharingCoordinator: Coordinator, Presentable { // Check if user can send beacon info state event private func canShareLiveLocation() -> Bool { - guard let myUserId = parameters.roomDataSource.mxSession.myUserId else { + guard let myUserId = parameters.roomDataSource.mxSession.myUserId, + let roomPowerLevels = parameters.roomDataSource.roomState.powerLevels, + let userPowerLevel = RoomPowerLevel(rawValue: roomPowerLevels.powerLevelOfUser(withUserID: myUserId)) else { return false } - let userPowerLevelRawValue = parameters.roomDataSource.roomState.powerLevels.powerLevelOfUser(withUserID: myUserId) - - guard let userPowerLevel = RoomPowerLevel(rawValue: userPowerLevelRawValue) else { - return false - } - - return userPowerLevel.rawValue >= RoomPowerLevel.moderator.rawValue + // CHeck user power level in room against power level needed to post geolocation state event. + let liveSharingPowerLevel = roomPowerLevels.minimumPowerLevelForSendingStateEvent(.beaconInfo) + + return userPowerLevel.rawValue >= liveSharingPowerLevel } private func showLabFlagPromotionIfNeeded(completion: @escaping ((Bool) -> Void)) { diff --git a/changelog.d/pr-7808.change b/changelog.d/pr-7808.change new file mode 100644 index 000000000..cc803849f --- /dev/null +++ b/changelog.d/pr-7808.change @@ -0,0 +1 @@ +Check power level before starting live sharing location \ No newline at end of file From 39a359d079c69d4d07abb10268a7d256ee1291a8 Mon Sep 17 00:00:00 2001 From: Hugh Nimmo-Smith Date: Wed, 14 Aug 2024 18:23:15 +0100 Subject: [PATCH 021/117] Fix dead image link (#7682) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index da462ce03..7a437e62c 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Element iOS is an iOS [Matrix](https://matrix.org/) client provided by [Element]

- Download on the app store + Download on the app store

From d52b9e1b768397e2d13a32f689e8da74914d9b56 Mon Sep 17 00:00:00 2001 From: Nicolas Buquet Date: Tue, 20 Aug 2024 11:00:51 +0200 Subject: [PATCH 022/117] =?UTF-8?q?Ajout=20de=20l'application=20scheme=20?= =?UTF-8?q?=20pour=20retour=20dans=20l'app=20apr=C3=A8s=20SSO=20sur=20Agen?= =?UTF-8?q?tConnect?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Btchap/SupportingFiles/Btchap-App-Common.xcconfig | 1 + DevTchap/SupportingFiles/DevTchap-App-Common.xcconfig | 1 + Tchap/SupportingFiles/App-Common.xcconfig | 1 + 3 files changed, 3 insertions(+) diff --git a/Btchap/SupportingFiles/Btchap-App-Common.xcconfig b/Btchap/SupportingFiles/Btchap-App-Common.xcconfig index 36a596370..0c9357856 100644 --- a/Btchap/SupportingFiles/Btchap-App-Common.xcconfig +++ b/Btchap/SupportingFiles/Btchap-App-Common.xcconfig @@ -24,6 +24,7 @@ BUNDLE_DISPLAY_NAME = Btchap BASE_BUNDLE_IDENTIFIER = fr.gouv.btchap APPLICATION_GROUP_IDENTIFIER = group.$(BASE_BUNDLE_IDENTIFIER) PRODUCT_BUNDLE_IDENTIFIER = $(BASE_BUNDLE_IDENTIFIER) +APPLICATION_SCHEME = tchap INFOPLIST_FILE = Btchap/SupportingFiles/Info.plist ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon diff --git a/DevTchap/SupportingFiles/DevTchap-App-Common.xcconfig b/DevTchap/SupportingFiles/DevTchap-App-Common.xcconfig index 5fe20ec98..ae7b765ca 100644 --- a/DevTchap/SupportingFiles/DevTchap-App-Common.xcconfig +++ b/DevTchap/SupportingFiles/DevTchap-App-Common.xcconfig @@ -24,6 +24,7 @@ BUNDLE_DISPLAY_NAME = DevTchap BASE_BUNDLE_IDENTIFIER = fr.gouv.tchap.dev APPLICATION_GROUP_IDENTIFIER = group.$(BASE_BUNDLE_IDENTIFIER) PRODUCT_BUNDLE_IDENTIFIER = $(BASE_BUNDLE_IDENTIFIER) +APPLICATION_SCHEME = tchap INFOPLIST_FILE = DevTchap/SupportingFiles/Info.plist ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon diff --git a/Tchap/SupportingFiles/App-Common.xcconfig b/Tchap/SupportingFiles/App-Common.xcconfig index 61a5d51db..a31699bd9 100644 --- a/Tchap/SupportingFiles/App-Common.xcconfig +++ b/Tchap/SupportingFiles/App-Common.xcconfig @@ -24,6 +24,7 @@ BUNDLE_DISPLAY_NAME = Tchap BASE_BUNDLE_IDENTIFIER = fr.gouv.tchap APPLICATION_GROUP_IDENTIFIER = group.$(BASE_BUNDLE_IDENTIFIER) PRODUCT_BUNDLE_IDENTIFIER = $(BASE_BUNDLE_IDENTIFIER) +APPLICATION_SCHEME = tchap INFOPLIST_FILE = Tchap/SupportingFiles/Info.plist ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon From 43573288233f494ba5b082ec61b6ac86c014eee4 Mon Sep 17 00:00:00 2001 From: Nicolas Buquet Date: Tue, 20 Aug 2024 11:01:45 +0200 Subject: [PATCH 023/117] =?UTF-8?q?R=C3=A9activation=20de=20l'Onboarding?= =?UTF-8?q?=20original=20Element=20(qui=20supporte=20le=20SSO)=20plut?= =?UTF-8?q?=C3=B4t=20que=20l'onboarding=20custom=20Tchap?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AllChats/AllChatsViewController.swift | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/Riot/Modules/Home/AllChats/AllChatsViewController.swift b/Riot/Modules/Home/AllChats/AllChatsViewController.swift index 0efb816e2..688047ed4 100644 --- a/Riot/Modules/Home/AllChats/AllChatsViewController.swift +++ b/Riot/Modules/Home/AllChats/AllChatsViewController.swift @@ -1117,36 +1117,36 @@ extension AllChatsViewController: SplitViewMasterViewControllerProtocol { MXLog.debug("[AllChatsViewController] presentOnboardingFlow") // Tchap: Use WelcomeCoordinatorBridgePresenter instead of OnboardingCoordinatorBridgePresenter - let welcomeCoordinatorBridgePresenter = WelcomeCoordinatorBridgePresenter() - welcomeCoordinatorBridgePresenter.completion = { [weak self] in - guard let self = self else { return } - - self.welcomeCoordinatorBridgePresenter?.dismiss(animated: true, completion: { - self.welcomeCoordinatorBridgePresenter = nil - }) - - self.isOnboardingInProgress = false // Must be set before calling didCompleteAuthentication - self.allChatsDelegate?.allChatsViewControllerDidCompleteAuthentication(self) - } - - welcomeCoordinatorBridgePresenter.present(from: self, animated: true) - self.welcomeCoordinatorBridgePresenter = welcomeCoordinatorBridgePresenter - - -// let onboardingCoordinatorBridgePresenter = OnboardingCoordinatorBridgePresenter() -// onboardingCoordinatorBridgePresenter.completion = { [weak self] in +// let welcomeCoordinatorBridgePresenter = WelcomeCoordinatorBridgePresenter() +// welcomeCoordinatorBridgePresenter.completion = { [weak self] in // guard let self = self else { return } -// -// self.onboardingCoordinatorBridgePresenter?.dismiss(animated: true, completion: { -// self.onboardingCoordinatorBridgePresenter = nil +// +// self.welcomeCoordinatorBridgePresenter?.dismiss(animated: true, completion: { +// self.welcomeCoordinatorBridgePresenter = nil // }) // // self.isOnboardingInProgress = false // Must be set before calling didCompleteAuthentication // self.allChatsDelegate?.allChatsViewControllerDidCompleteAuthentication(self) // } // -// onboardingCoordinatorBridgePresenter.present(from: self, animated: true) -// self.onboardingCoordinatorBridgePresenter = onboardingCoordinatorBridgePresenter +// welcomeCoordinatorBridgePresenter.present(from: self, animated: true) +// self.welcomeCoordinatorBridgePresenter = welcomeCoordinatorBridgePresenter + + + let onboardingCoordinatorBridgePresenter = OnboardingCoordinatorBridgePresenter() + onboardingCoordinatorBridgePresenter.completion = { [weak self] in + guard let self = self else { return } + + self.onboardingCoordinatorBridgePresenter?.dismiss(animated: true, completion: { + self.onboardingCoordinatorBridgePresenter = nil + }) + + self.isOnboardingInProgress = false // Must be set before calling didCompleteAuthentication + self.allChatsDelegate?.allChatsViewControllerDidCompleteAuthentication(self) + } + + onboardingCoordinatorBridgePresenter.present(from: self, animated: true) + self.onboardingCoordinatorBridgePresenter = onboardingCoordinatorBridgePresenter self.isOnboardingCoordinatorPreparing = false } From f572f1f6a7576317dce95acebd4afc6b306b5215 Mon Sep 17 00:00:00 2001 From: Nicolas Buquet Date: Tue, 20 Aug 2024 11:02:39 +0200 Subject: [PATCH 024/117] Ajout de l'URL scheme dans les fichiers plist --- Btchap/SupportingFiles/Info.plist | 13 +++++++++++++ DevTchap/SupportingFiles/Info.plist | 13 +++++++++++++ Tchap/SupportingFiles/Info.plist | 13 +++++++++++++ 3 files changed, 39 insertions(+) diff --git a/Btchap/SupportingFiles/Info.plist b/Btchap/SupportingFiles/Info.plist index 5e06e305b..262b052c3 100644 --- a/Btchap/SupportingFiles/Info.plist +++ b/Btchap/SupportingFiles/Info.plist @@ -35,6 +35,19 @@ $(MARKETING_VERSION) CFBundleSignature ???? + CFBundleURLTypes + + + CFBundleTypeRole + Editor + CFBundleURLName + $(BASE_BUNDLE_IDENTIFIER) + CFBundleURLSchemes + + $(APPLICATION_SCHEME) + + + CFBundleVersion $(CURRENT_PROJECT_VERSION) ITSAppUsesNonExemptEncryption diff --git a/DevTchap/SupportingFiles/Info.plist b/DevTchap/SupportingFiles/Info.plist index 4303301c1..533722fc3 100644 --- a/DevTchap/SupportingFiles/Info.plist +++ b/DevTchap/SupportingFiles/Info.plist @@ -35,6 +35,19 @@ $(MARKETING_VERSION) CFBundleSignature ???? + CFBundleURLTypes + + + CFBundleTypeRole + Editor + CFBundleURLName + $(BASE_BUNDLE_IDENTIFIER) + CFBundleURLSchemes + + $(APPLICATION_SCHEME) + + + CFBundleVersion $(CURRENT_PROJECT_VERSION) ITSAppUsesNonExemptEncryption diff --git a/Tchap/SupportingFiles/Info.plist b/Tchap/SupportingFiles/Info.plist index 666cd9835..1ef2ea6ab 100644 --- a/Tchap/SupportingFiles/Info.plist +++ b/Tchap/SupportingFiles/Info.plist @@ -35,6 +35,19 @@ $(MARKETING_VERSION) CFBundleSignature ???? + CFBundleURLTypes + + + CFBundleTypeRole + Editor + CFBundleURLName + $(BASE_BUNDLE_IDENTIFIER) + CFBundleURLSchemes + + $(APPLICATION_SCHEME) + + + CFBundleVersion $(CURRENT_PROJECT_VERSION) ITSAppUsesNonExemptEncryption From 6467bd45eeec9b0e1e6bcb429e3d2e5e5dbc2e8f Mon Sep 17 00:00:00 2001 From: Nicolas Buquet Date: Tue, 20 Aug 2024 11:06:14 +0200 Subject: [PATCH 025/117] Skip Onboarding useCase selection --- Riot/Modules/Onboarding/OnboardingCoordinator.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Riot/Modules/Onboarding/OnboardingCoordinator.swift b/Riot/Modules/Onboarding/OnboardingCoordinator.swift index bce47443b..3fb1d711a 100644 --- a/Riot/Modules/Onboarding/OnboardingCoordinator.swift +++ b/Riot/Modules/Onboarding/OnboardingCoordinator.swift @@ -165,7 +165,7 @@ final class OnboardingCoordinator: NSObject, OnboardingCoordinatorProtocol { case .register: // Tchap: Bypass usecase selection screen // showUseCaseSelectionScreen() - MXLog.failure("[OnboardingCoordinator] splashScreenCoordinator register case should not happen !") + beginAuthentication(with: .registration, onStart: coordinator.stop) case .login: if BuildSettings.onboardingEnableNewAuthenticationFlow { From 09b9f4e771a6836458333a344ec476752b7d4e12 Mon Sep 17 00:00:00 2001 From: Doug <6060466+pixlwave@users.noreply.github.com> Date: Tue, 20 Aug 2024 13:56:04 +0100 Subject: [PATCH 026/117] Use the codecov token. (#7834) * Use the codecov token and v4 action --- .github/workflows/ci-tests.yml | 3 ++- .github/workflows/ci-ui-tests.yml | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index e71d7b99b..aca66a553 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -62,6 +62,7 @@ jobs: run: bundle exec fastlane test - name: Upload coverage to Codecov - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 with: + token: ${{ secrets.CODECOV_TOKEN }} flags: unittests diff --git a/.github/workflows/ci-ui-tests.yml b/.github/workflows/ci-ui-tests.yml index 322323739..f325b210f 100644 --- a/.github/workflows/ci-ui-tests.yml +++ b/.github/workflows/ci-ui-tests.yml @@ -57,7 +57,7 @@ jobs: run: bundle exec fastlane uitest - name: Upload coverage to Codecov - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 with: + token: ${{ secrets.CODECOV_TOKEN }} flags: uitests - \ No newline at end of file From 6169266462837b0a58a7351ff37d4c8d407fdce0 Mon Sep 17 00:00:00 2001 From: Doug Date: Tue, 20 Aug 2024 13:57:26 +0100 Subject: [PATCH 027/117] Update the SDK submodule. --- matrix-ios-sdk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/matrix-ios-sdk b/matrix-ios-sdk index 1c4b3f5c3..1f3fa5aa7 160000 --- a/matrix-ios-sdk +++ b/matrix-ios-sdk @@ -1 +1 @@ -Subproject commit 1c4b3f5c32ed3bcf27d3404c770e000a50417352 +Subproject commit 1f3fa5aa795c4610f62f0c3fabd91521c4bfd257 From 1c2282e6826a998e10651df44348333dce0ac7fb Mon Sep 17 00:00:00 2001 From: Doug Date: Tue, 20 Aug 2024 14:01:52 +0100 Subject: [PATCH 028/117] version++ --- CHANGES.md | 7 +++++++ changelog.d/pr-7808.change | 1 - 2 files changed, 7 insertions(+), 1 deletion(-) delete mode 100644 changelog.d/pr-7808.change diff --git a/CHANGES.md b/CHANGES.md index 11ffc2409..73dda9aeb 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,10 @@ +## Changes in 1.11.17 (2024-08-20) + +🙌 Improvements + +- Check power level before starting live sharing location ([#7808](https://github.com/element-hq/element-ios/pull/7808)) + + ## Changes in 1.11.16 (2024-07-23) No significant changes. diff --git a/changelog.d/pr-7808.change b/changelog.d/pr-7808.change deleted file mode 100644 index cc803849f..000000000 --- a/changelog.d/pr-7808.change +++ /dev/null @@ -1 +0,0 @@ -Check power level before starting live sharing location \ No newline at end of file From 6c9b06c32ecee4a342ccf0a9e4497f503eb1db79 Mon Sep 17 00:00:00 2001 From: Doug Date: Tue, 20 Aug 2024 16:12:02 +0100 Subject: [PATCH 029/117] finish version++ From 907be3f8d4e72d9dd63746beb197e4b00d0b8728 Mon Sep 17 00:00:00 2001 From: Doug Date: Tue, 20 Aug 2024 16:12:08 +0100 Subject: [PATCH 030/117] Prepare for new sprint --- Config/AppVersion.xcconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Config/AppVersion.xcconfig b/Config/AppVersion.xcconfig index 92f56844f..9d2bff91c 100644 --- a/Config/AppVersion.xcconfig +++ b/Config/AppVersion.xcconfig @@ -15,5 +15,5 @@ // // Version -MARKETING_VERSION = 1.11.17 -CURRENT_PROJECT_VERSION = 1.11.17 +MARKETING_VERSION = 1.11.18 +CURRENT_PROJECT_VERSION = 1.11.18 From d512392646c65cc66d363b298d1f8a07842670c3 Mon Sep 17 00:00:00 2001 From: Nicolas Buquet Date: Wed, 21 Aug 2024 15:46:22 +0200 Subject: [PATCH 031/117] Reinclude Element Legacy code (for LegacyAuthentication for example) --- Tchap/target.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/Tchap/target.yml b/Tchap/target.yml index 63080dfe3..6d44c6dd0 100644 --- a/Tchap/target.yml +++ b/Tchap/target.yml @@ -177,8 +177,6 @@ targetTemplates: - path: ../Riot/Modules/Analytics - path: ../Riot/Modules/Application - path: ../Riot/Modules/Authentication - excludes: - - "Legacy" - path: ../Riot/Modules/BadgeLabel - path: ../Riot/Modules/BugReport/BugReportViewController.h - path: ../Riot/Modules/BugReport/BugReportViewController.m From 16547cc7614e66da14989dd0d6409fc3c2064c2d Mon Sep 17 00:00:00 2001 From: Nicolas Buquet Date: Wed, 21 Aug 2024 15:47:20 +0200 Subject: [PATCH 032/117] Reimport "AuthenticationViewController.h" for LegacyAuthenticationCoordinator to know AuthenticationViewController class --- Riot/Modules/TabBar/MasterTabBarController.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Riot/Modules/TabBar/MasterTabBarController.h b/Riot/Modules/TabBar/MasterTabBarController.h index 51284144d..7b9a51a59 100644 --- a/Riot/Modules/TabBar/MasterTabBarController.h +++ b/Riot/Modules/TabBar/MasterTabBarController.h @@ -15,7 +15,7 @@ limitations under the License. */ -//#import "AuthenticationViewController.h" +#import "AuthenticationViewController.h" #import "RoomPreviewData.h" #import "FavouritesViewController.h" From 7276e74e66d4ec307d93eee05cef7dcfe840fa2f Mon Sep 17 00:00:00 2001 From: Nicolas Buquet Date: Wed, 21 Aug 2024 15:48:19 +0200 Subject: [PATCH 033/117] Disable default home and identity server temporarily because they are not defined in Tchap --- .../Authentication/Legacy/AuthenticationViewController.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Riot/Modules/Authentication/Legacy/AuthenticationViewController.m b/Riot/Modules/Authentication/Legacy/AuthenticationViewController.m index c0605d813..687a534e2 100644 --- a/Riot/Modules/Authentication/Legacy/AuthenticationViewController.m +++ b/Riot/Modules/Authentication/Legacy/AuthenticationViewController.m @@ -138,10 +138,10 @@ - (void)viewDidLoad } else { - self.defaultHomeServerUrl = RiotSettings.shared.homeserverUrlString; +// self.defaultHomeServerUrl = RiotSettings.shared.homeserverUrlString; } - self.defaultIdentityServerUrl = RiotSettings.shared.identityServerUrlString; +// self.defaultIdentityServerUrl = RiotSettings.shared.identityServerUrlString; self.welcomeImageView.image = AssetSharedImages.horizontalLogo.image; From ad5724f8f70f79e4e47626d86af76072a43723f6 Mon Sep 17 00:00:00 2001 From: Nicolas Buquet Date: Wed, 21 Aug 2024 15:48:56 +0200 Subject: [PATCH 034/117] Temporarily disable custom servers for SSO tests --- .../Legacy/LegacyAuthenticationCoordinator.swift | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Riot/Modules/Authentication/Legacy/LegacyAuthenticationCoordinator.swift b/Riot/Modules/Authentication/Legacy/LegacyAuthenticationCoordinator.swift index 4aea0b8b9..f77fd6109 100644 --- a/Riot/Modules/Authentication/Legacy/LegacyAuthenticationCoordinator.swift +++ b/Riot/Modules/Authentication/Legacy/LegacyAuthenticationCoordinator.swift @@ -72,13 +72,14 @@ final class LegacyAuthenticationCoordinator: NSObject, AuthenticationCoordinator // Set (or clear) any soft-logout credentials. authenticationViewController.softLogoutCredentials = authenticationService.softLogoutCredentials - // Configure custom servers if already customised by a deep link. - let homeserver = authenticationService.state.homeserver.address - let identityServer = authenticationService.state.identityServer - if homeserver != BuildSettings.serverConfigDefaultHomeserverUrlString - || (identityServer != nil && identityServer != BuildSettings.serverConfigDefaultIdentityServerUrlString) { - authenticationViewController.showCustomHomeserver(homeserver, andIdentityServer: identityServer) - } + // Tchap: Don't show custom servers during SSO tests. +// // Configure custom servers if already customised by a deep link. +// let homeserver = authenticationService.state.homeserver.address +// let identityServer = authenticationService.state.identityServer +// if homeserver != BuildSettings.serverConfigDefaultHomeserverUrlString +// || (identityServer != nil && identityServer != BuildSettings.serverConfigDefaultIdentityServerUrlString) { +// authenticationViewController.showCustomHomeserver(homeserver, andIdentityServer: identityServer) +// } // Listen for further changes from deep links. AuthenticationService.shared.delegate = self From 2c6f0b04e6a1fa4c37e06f02af79e5aa02c27f3a Mon Sep 17 00:00:00 2001 From: Nicolas Buquet Date: Wed, 21 Aug 2024 15:50:20 +0200 Subject: [PATCH 035/117] Restore deep link Connect to Element way (not Tchap way) --- Riot/Modules/Application/AppCoordinator.swift | 4 ++- Riot/Modules/Application/LegacyAppDelegate.h | 2 +- Riot/Modules/Application/LegacyAppDelegate.m | 29 +++++++++---------- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/Riot/Modules/Application/AppCoordinator.swift b/Riot/Modules/Application/AppCoordinator.swift index e55874016..577d62cce 100755 --- a/Riot/Modules/Application/AppCoordinator.swift +++ b/Riot/Modules/Application/AppCoordinator.swift @@ -281,7 +281,9 @@ final class AppCoordinator: NSObject, AppCoordinatorType { switch deepLinkOption { case .connect(let loginToken, let transactionID): - canOpenLink = self.legacyAppDelegate.continueSSOLogin(withToken: loginToken, txnId: transactionID) + // Tchap: return to Element way of handling deep link SSO connect +// canOpenLink = self.legacyAppDelegate.continueSSOLogin(withToken: loginToken, txnId: transactionID) + canOpenLink = AuthenticationService.shared.continueSSOLogin(with: loginToken, and: transactionID) } return canOpenLink diff --git a/Riot/Modules/Application/LegacyAppDelegate.h b/Riot/Modules/Application/LegacyAppDelegate.h index 2421e029b..b1aa19ff3 100644 --- a/Riot/Modules/Application/LegacyAppDelegate.h +++ b/Riot/Modules/Application/LegacyAppDelegate.h @@ -294,7 +294,7 @@ UINavigationControllerDelegate /// @param loginToken The login token provided when SSO succeeded. /// @param txnId transaction id generated during SSO page presentation. /// returns YES if the SSO login can be continued. -- (BOOL)continueSSOLoginWithToken:(NSString*)loginToken txnId:(NSString*)txnId; +//- (BOOL)continueSSOLoginWithToken:(NSString*)loginToken txnId:(NSString*)txnId; @end diff --git a/Riot/Modules/Application/LegacyAppDelegate.m b/Riot/Modules/Application/LegacyAppDelegate.m index ae34bcb44..7838c9ca6 100644 --- a/Riot/Modules/Application/LegacyAppDelegate.m +++ b/Riot/Modules/Application/LegacyAppDelegate.m @@ -4543,21 +4543,20 @@ - (void)callPresenter:(CallPresenter *)presenter exitPipForCallViewController:(U [self presentViewController:viewController animated:YES completion:completion]; } -#pragma mark - Authentication - -- (BOOL)continueSSOLoginWithToken:(NSString*)loginToken txnId:(NSString*)txnId -{ - OnboardingCoordinatorBridgePresenter *bridgePresenter = self.masterTabBarController.onboardingCoordinatorBridgePresenter; - - if (!bridgePresenter) - { - MXLogDebug(@"[AppDelegate] Fail to continue SSO login"); - return NO; - } - - // Tchap: - return NO;//[bridgePresenter continueSSOLoginWithToken:loginToken transactionID:txnId]; -} +//#pragma mark - Authentication +// +//- (BOOL)continueSSOLoginWithToken:(NSString*)loginToken txnId:(NSString*)txnId +//{ +// OnboardingCoordinatorBridgePresenter *bridgePresenter = self.masterTabBarController.onboardingCoordinatorBridgePresenter; +// +// if (!bridgePresenter) +// { +// MXLogDebug(@"[AppDelegate] Fail to continue SSO login"); +// return NO; +// } +// +// [bridgePresenter continueSSOLoginWithToken:loginToken transactionID:txnId]; +//} #pragma mark - Private From 53b993dfde538164337ab5918a0120a34be38dc9 Mon Sep 17 00:00:00 2001 From: Nicolas Buquet Date: Wed, 21 Aug 2024 16:47:10 +0200 Subject: [PATCH 036/117] Revert "Restore deep link Connect to Element way (not Tchap way)" This reverts commit 2c6f0b04e6a1fa4c37e06f02af79e5aa02c27f3a. --- Riot/Modules/Application/AppCoordinator.swift | 4 +-- Riot/Modules/Application/LegacyAppDelegate.h | 2 +- Riot/Modules/Application/LegacyAppDelegate.m | 29 ++++++++++--------- 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/Riot/Modules/Application/AppCoordinator.swift b/Riot/Modules/Application/AppCoordinator.swift index 577d62cce..e55874016 100755 --- a/Riot/Modules/Application/AppCoordinator.swift +++ b/Riot/Modules/Application/AppCoordinator.swift @@ -281,9 +281,7 @@ final class AppCoordinator: NSObject, AppCoordinatorType { switch deepLinkOption { case .connect(let loginToken, let transactionID): - // Tchap: return to Element way of handling deep link SSO connect -// canOpenLink = self.legacyAppDelegate.continueSSOLogin(withToken: loginToken, txnId: transactionID) - canOpenLink = AuthenticationService.shared.continueSSOLogin(with: loginToken, and: transactionID) + canOpenLink = self.legacyAppDelegate.continueSSOLogin(withToken: loginToken, txnId: transactionID) } return canOpenLink diff --git a/Riot/Modules/Application/LegacyAppDelegate.h b/Riot/Modules/Application/LegacyAppDelegate.h index b1aa19ff3..2421e029b 100644 --- a/Riot/Modules/Application/LegacyAppDelegate.h +++ b/Riot/Modules/Application/LegacyAppDelegate.h @@ -294,7 +294,7 @@ UINavigationControllerDelegate /// @param loginToken The login token provided when SSO succeeded. /// @param txnId transaction id generated during SSO page presentation. /// returns YES if the SSO login can be continued. -//- (BOOL)continueSSOLoginWithToken:(NSString*)loginToken txnId:(NSString*)txnId; +- (BOOL)continueSSOLoginWithToken:(NSString*)loginToken txnId:(NSString*)txnId; @end diff --git a/Riot/Modules/Application/LegacyAppDelegate.m b/Riot/Modules/Application/LegacyAppDelegate.m index 7838c9ca6..ae34bcb44 100644 --- a/Riot/Modules/Application/LegacyAppDelegate.m +++ b/Riot/Modules/Application/LegacyAppDelegate.m @@ -4543,20 +4543,21 @@ - (void)callPresenter:(CallPresenter *)presenter exitPipForCallViewController:(U [self presentViewController:viewController animated:YES completion:completion]; } -//#pragma mark - Authentication -// -//- (BOOL)continueSSOLoginWithToken:(NSString*)loginToken txnId:(NSString*)txnId -//{ -// OnboardingCoordinatorBridgePresenter *bridgePresenter = self.masterTabBarController.onboardingCoordinatorBridgePresenter; -// -// if (!bridgePresenter) -// { -// MXLogDebug(@"[AppDelegate] Fail to continue SSO login"); -// return NO; -// } -// -// [bridgePresenter continueSSOLoginWithToken:loginToken transactionID:txnId]; -//} +#pragma mark - Authentication + +- (BOOL)continueSSOLoginWithToken:(NSString*)loginToken txnId:(NSString*)txnId +{ + OnboardingCoordinatorBridgePresenter *bridgePresenter = self.masterTabBarController.onboardingCoordinatorBridgePresenter; + + if (!bridgePresenter) + { + MXLogDebug(@"[AppDelegate] Fail to continue SSO login"); + return NO; + } + + // Tchap: + return NO;//[bridgePresenter continueSSOLoginWithToken:loginToken transactionID:txnId]; +} #pragma mark - Private From 03e1be124572604d405deda4e6a173d0e571fc51 Mon Sep 17 00:00:00 2001 From: Nicolas Buquet Date: Wed, 21 Aug 2024 16:47:24 +0200 Subject: [PATCH 037/117] Revert "Reimport "AuthenticationViewController.h" for LegacyAuthenticationCoordinator to know AuthenticationViewController class" This reverts commit 16547cc7614e66da14989dd0d6409fc3c2064c2d. --- Riot/Modules/TabBar/MasterTabBarController.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Riot/Modules/TabBar/MasterTabBarController.h b/Riot/Modules/TabBar/MasterTabBarController.h index 7b9a51a59..51284144d 100644 --- a/Riot/Modules/TabBar/MasterTabBarController.h +++ b/Riot/Modules/TabBar/MasterTabBarController.h @@ -15,7 +15,7 @@ limitations under the License. */ -#import "AuthenticationViewController.h" +//#import "AuthenticationViewController.h" #import "RoomPreviewData.h" #import "FavouritesViewController.h" From 75cb7be6fd4819fb9524504e3c54fa149a10485f Mon Sep 17 00:00:00 2001 From: Nicolas Buquet Date: Wed, 21 Aug 2024 16:47:30 +0200 Subject: [PATCH 038/117] Revert "Reinclude Element Legacy code (for LegacyAuthentication for example)" This reverts commit d512392646c65cc66d363b298d1f8a07842670c3. --- Tchap/target.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Tchap/target.yml b/Tchap/target.yml index 6d44c6dd0..63080dfe3 100644 --- a/Tchap/target.yml +++ b/Tchap/target.yml @@ -177,6 +177,8 @@ targetTemplates: - path: ../Riot/Modules/Analytics - path: ../Riot/Modules/Application - path: ../Riot/Modules/Authentication + excludes: + - "Legacy" - path: ../Riot/Modules/BadgeLabel - path: ../Riot/Modules/BugReport/BugReportViewController.h - path: ../Riot/Modules/BugReport/BugReportViewController.m From f3c9e4f01115649a0e2db63de9061dfc73010a3d Mon Sep 17 00:00:00 2001 From: Nicolas Buquet Date: Wed, 21 Aug 2024 16:54:21 +0200 Subject: [PATCH 039/117] Revert "Temporarily disable custom servers for SSO tests" This reverts commit ad5724f8f70f79e4e47626d86af76072a43723f6. --- .../Legacy/LegacyAuthenticationCoordinator.swift | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Riot/Modules/Authentication/Legacy/LegacyAuthenticationCoordinator.swift b/Riot/Modules/Authentication/Legacy/LegacyAuthenticationCoordinator.swift index f77fd6109..4aea0b8b9 100644 --- a/Riot/Modules/Authentication/Legacy/LegacyAuthenticationCoordinator.swift +++ b/Riot/Modules/Authentication/Legacy/LegacyAuthenticationCoordinator.swift @@ -72,14 +72,13 @@ final class LegacyAuthenticationCoordinator: NSObject, AuthenticationCoordinator // Set (or clear) any soft-logout credentials. authenticationViewController.softLogoutCredentials = authenticationService.softLogoutCredentials - // Tchap: Don't show custom servers during SSO tests. -// // Configure custom servers if already customised by a deep link. -// let homeserver = authenticationService.state.homeserver.address -// let identityServer = authenticationService.state.identityServer -// if homeserver != BuildSettings.serverConfigDefaultHomeserverUrlString -// || (identityServer != nil && identityServer != BuildSettings.serverConfigDefaultIdentityServerUrlString) { -// authenticationViewController.showCustomHomeserver(homeserver, andIdentityServer: identityServer) -// } + // Configure custom servers if already customised by a deep link. + let homeserver = authenticationService.state.homeserver.address + let identityServer = authenticationService.state.identityServer + if homeserver != BuildSettings.serverConfigDefaultHomeserverUrlString + || (identityServer != nil && identityServer != BuildSettings.serverConfigDefaultIdentityServerUrlString) { + authenticationViewController.showCustomHomeserver(homeserver, andIdentityServer: identityServer) + } // Listen for further changes from deep links. AuthenticationService.shared.delegate = self From a3bbf202a283c81b2bae1d2cfc3c4335238ae806 Mon Sep 17 00:00:00 2001 From: Nicolas Buquet Date: Tue, 3 Sep 2024 13:39:20 +0200 Subject: [PATCH 040/117] Call Element onboarding flow rather than Tchap which doesn't support SSO --- .../AuthenticationCoordinator.swift | 36 ++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/Riot/Modules/Authentication/AuthenticationCoordinator.swift b/Riot/Modules/Authentication/AuthenticationCoordinator.swift index 295a591f7..b47c20b3b 100644 --- a/Riot/Modules/Authentication/AuthenticationCoordinator.swift +++ b/Riot/Modules/Authentication/AuthenticationCoordinator.swift @@ -151,7 +151,9 @@ final class AuthenticationCoordinator: NSObject, AuthenticationCoordinatorProtoc if authenticationService.state.homeserver.needsRegistrationFallback { showFallback(for: flow) } else { - showRegistrationScreen() + // Tchap: force email registration mode +// showRegistrationScreen() + TchapShowVerifyEmailScreen() } case .login: if authenticationService.state.homeserver.needsLoginFallback { @@ -379,6 +381,38 @@ final class AuthenticationCoordinator: NSObject, AuthenticationCoordinatorProtoc } } + // Tchap: start Registration with VerifyEmail screen + /// Shows the login screen. + @MainActor private func TchapShowVerifyEmailScreen() { + MXLog.debug("[AuthenticationCoordinator] TchapShowVerifyEmailScreen") + + guard let registrationWizard = authenticationService.registrationWizard else { + MXLog.failure("[AuthenticationCoordinator] showStage: Missing the RegistrationWizard needed to complete the stage.") + displayError(message: VectorL10n.errorCommonMessage) + return + } + let homeserver = authenticationService.state.homeserver + + let parameters = AuthenticationVerifyEmailCoordinatorParameters(registrationWizard: registrationWizard, + homeserver: authenticationService.state.homeserver) + let coordinator = AuthenticationVerifyEmailCoordinator(parameters: parameters) + coordinator.callback = { [weak self] result in + self?.registrationStageDidComplete(with: result) + } + + coordinator.start() + add(childCoordinator: coordinator) + + if navigationRouter.modules.isEmpty { + navigationRouter.setRootModule(coordinator, popCompletion: nil) + } else { + navigationRouter.push(coordinator, animated: true) { [weak self] in + self?.remove(childCoordinator: coordinator) + } + } + } + + /// Displays the next view in the flow based on the result from the registration screen. @MainActor private func registrationCoordinator(_ coordinator: AuthenticationRegistrationCoordinator, didCallbackWith result: AuthenticationRegistrationCoordinatorResult) { From c26dfaf3917f79bba0b87fb181cb238a04325158 Mon Sep 17 00:00:00 2001 From: Nicolas Buquet Date: Tue, 3 Sep 2024 13:39:59 +0200 Subject: [PATCH 041/117] Customize Element onboarding splash screen to mimic Tchap --- .../View/OnboardingSplashScreen.swift | 287 ++++++++++-------- 1 file changed, 167 insertions(+), 120 deletions(-) diff --git a/RiotSwiftUI/Modules/Onboarding/SplashScreen/View/OnboardingSplashScreen.swift b/RiotSwiftUI/Modules/Onboarding/SplashScreen/View/OnboardingSplashScreen.swift index b34239882..7bb7b8098 100644 --- a/RiotSwiftUI/Modules/Onboarding/SplashScreen/View/OnboardingSplashScreen.swift +++ b/RiotSwiftUI/Modules/Onboarding/SplashScreen/View/OnboardingSplashScreen.swift @@ -25,13 +25,14 @@ struct OnboardingSplashScreen: View { @Environment(\.theme) private var theme @Environment(\.layoutDirection) private var layoutDirection - private var isLeftToRight: Bool { layoutDirection == .leftToRight } - private var pageCount: Int { viewModel.viewState.content.count } - - /// A timer to automatically animate the pages. - @State private var pageTimer: Timer? - /// The amount of offset to apply when a drag gesture is in progress. - @State private var dragOffset: CGFloat = .zero + // Tchap: remove carousel +// private var isLeftToRight: Bool { layoutDirection == .leftToRight } +// private var pageCount: Int { viewModel.viewState.content.count } +// +// /// A timer to automatically animate the pages. +// @State private var pageTimer: Timer? +// /// The amount of offset to apply when a drag gesture is in progress. +// @State private var dragOffset: CGFloat = .zero // MARK: Public @@ -43,28 +44,41 @@ struct OnboardingSplashScreen: View { Spacer() .frame(height: OnboardingMetrics.spacerHeight(in: geometry)) - // The main content of the carousel - HStack(alignment: .top, spacing: 0) { - // Add a hidden page at the start of the carousel duplicating the content of the last page - OnboardingSplashScreenPage(content: viewModel.viewState.content[pageCount - 1]) - .frame(width: geometry.size.width) - - ForEach(0..