From f1a1bd1aa40fb5b6ba86c3ac1bac8094173984f1 Mon Sep 17 00:00:00 2001 From: yostyle Date: Tue, 29 Oct 2024 15:13:39 +0100 Subject: [PATCH 1/7] Enable visio for Education and Agent instances --- changelog.d/1121.feature | 1 + vector-config/src/tchap/res/values/config-features.xml | 1 + 2 files changed, 2 insertions(+) create mode 100644 changelog.d/1121.feature diff --git a/changelog.d/1121.feature b/changelog.d/1121.feature new file mode 100644 index 0000000000..4684401ab7 --- /dev/null +++ b/changelog.d/1121.feature @@ -0,0 +1 @@ +Activation des appels vidéos pour Éducation et Agent. \ No newline at end of file diff --git a/vector-config/src/tchap/res/values/config-features.xml b/vector-config/src/tchap/res/values/config-features.xml index 54960855f6..a748ca7633 100755 --- a/vector-config/src/tchap/res/values/config-features.xml +++ b/vector-config/src/tchap/res/values/config-features.xml @@ -8,5 +8,6 @@ agent.dinum.tchap.gouv.fr agent.education.tchap.gouv.fr + agent.tchap.gouv.fr From 3153aa6070a72dc076fff8af1a21764f0851a853 Mon Sep 17 00:00:00 2001 From: yostyle Date: Wed, 30 Oct 2024 16:25:39 +0100 Subject: [PATCH 2/7] Add explicit error when a user is not allowed to access a room. --- changelog.d/1118.improvements | 1 + .../src/main/java/im/vector/app/core/error/ErrorFormatter.kt | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 changelog.d/1118.improvements diff --git a/changelog.d/1118.improvements b/changelog.d/1118.improvements new file mode 100644 index 0000000000..90478180df --- /dev/null +++ b/changelog.d/1118.improvements @@ -0,0 +1 @@ +Améliorer l'explication pour un externe voulant rejoindre un salon sans autorisation. \ No newline at end of file diff --git a/vector/src/main/java/im/vector/app/core/error/ErrorFormatter.kt b/vector/src/main/java/im/vector/app/core/error/ErrorFormatter.kt index 47e650b41b..5cf32fad97 100644 --- a/vector/src/main/java/im/vector/app/core/error/ErrorFormatter.kt +++ b/vector/src/main/java/im/vector/app/core/error/ErrorFormatter.kt @@ -123,7 +123,8 @@ class DefaultErrorFormatter @Inject constructor( throwable.error.code == MatrixError.M_PASSWORD_NO_SYMBOL -> { stringProvider.getString(CommonStrings.tchap_register_pwd_no_symbol) } - throwable.error.code == MatrixError.M_UNKNOWN && + // TCHAP Add explicit error when a user is not allowed to access a room. + (throwable.error.code == MatrixError.M_UNKNOWN || throwable.error.code == MatrixError.M_FORBIDDEN) && throwable.error.message == "Not allowed to join this room" -> { stringProvider.getString(CommonStrings.room_error_access_unauthorized) } From 053df77c2084f7f60e4938d2bd59b91384351bfa Mon Sep 17 00:00:00 2001 From: Yoan Pintas Date: Wed, 30 Oct 2024 19:07:01 +0100 Subject: [PATCH 3/7] Add help item in bottom sheet verification (#1125) --- changelog.d/1113.improvements | 1 + changelog.d/1116.improvements | 1 + library/ui-strings/src/main/res/values-fr/strings.xml | 4 ++-- .../src/main/res/values-fr/strings_tchap.xml | 1 + library/ui-strings/src/main/res/values/strings.xml | 2 +- .../ui-strings/src/main/res/values/strings_tchap.xml | 1 + .../verification/self/SelfVerificationController.kt | 10 ++++++++++ .../verification/self/SelfVerificationFragment.kt | 11 +++++++++++ .../detail/timeline/factory/EncryptedItemFactory.kt | 3 ++- 9 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 changelog.d/1113.improvements create mode 100644 changelog.d/1116.improvements diff --git a/changelog.d/1113.improvements b/changelog.d/1113.improvements new file mode 100644 index 0000000000..5106daa05d --- /dev/null +++ b/changelog.d/1113.improvements @@ -0,0 +1 @@ +Améliorer l'explication pour la génération d'un nouveau code de récupération. \ No newline at end of file diff --git a/changelog.d/1116.improvements b/changelog.d/1116.improvements new file mode 100644 index 0000000000..c1cbd69cbb --- /dev/null +++ b/changelog.d/1116.improvements @@ -0,0 +1 @@ +Faciliter l'accès à l'aide sur la vérification d'appareil \ No newline at end of file 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 625c371f77..7334f20647 100644 --- a/library/ui-strings/src/main/res/values-fr/strings.xml +++ b/library/ui-strings/src/main/res/values-fr/strings.xml @@ -1542,7 +1542,7 @@ Définir le rôle Vous redémarrerez sans aucun historique, message, appareil ou utilisateurs connus Si vous réinitialisez tout - Uniquement si vous avez perdu votre Code et n\'avez aucun autre appareil connecté à ${app_name}. + Uniquement si vous avez perdu votre code et n\'avez aucun autre appareil connecté à ${app_name}. Réinitialiser tout Générer un nouveau Code de Récupération Impossible d’enregistrer le fichier multimédia @@ -2940,7 +2940,7 @@ Message Message de %s Chiffré par un appareil supprimé - Veuillez ne continuer que si vous êtes certain d’avoir perdu tous vos autres appareils et votre Code de Récupération. + Veuillez continuer uniquement si vous êtes certain·e d’avoir perdu votre Code de Récupération et qu’aucun autres appareils n’a accès à l’historique de vos messages. La réinitialisation ne peut pas être annulée. Vous n’aurez plus accès à vos anciens messages chiffrés. La demande de vérification n’a pas été trouvée. Elle a peut-être été annulée, ou prise en charge dans une autre session. Une demande de vérification a été envoyée. Ouvrez ${app_name} sur l’un de vos autres appareils pour accepter et commencer la vérification. diff --git a/library/ui-strings/src/main/res/values-fr/strings_tchap.xml b/library/ui-strings/src/main/res/values-fr/strings_tchap.xml index f084939c09..3e99cbc478 100644 --- a/library/ui-strings/src/main/res/values-fr/strings_tchap.xml +++ b/library/ui-strings/src/main/res/values-fr/strings_tchap.xml @@ -116,6 +116,7 @@ La vérification de votre nouvelle session a échoué. + Obtenir de l’aide Voir l’état du service diff --git a/library/ui-strings/src/main/res/values/strings.xml b/library/ui-strings/src/main/res/values/strings.xml index 3bca8e05b4..978ba4530e 100644 --- a/library/ui-strings/src/main/res/values/strings.xml +++ b/library/ui-strings/src/main/res/values/strings.xml @@ -2688,7 +2688,7 @@ Failed to access secure storage Lost your Recovery Code? Generate a new one. Reset everything - Only do this if you have no other device you can verify this device with. + Only do this if you lost your recovery code and you have no other device connected to ${app_name}. Resetting your verification keys cannot be undone. After resetting, you won\'t have access to old encrypted messages, and any friends who have previously verified you will see security warnings until you re-verify with them. If you reset everything diff --git a/library/ui-strings/src/main/res/values/strings_tchap.xml b/library/ui-strings/src/main/res/values/strings_tchap.xml index 6be5bb78a1..c8d27399a3 100644 --- a/library/ui-strings/src/main/res/values/strings_tchap.xml +++ b/library/ui-strings/src/main/res/values/strings_tchap.xml @@ -116,6 +116,7 @@ Failed to verify your new session. + Get help View the status of services diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/self/SelfVerificationController.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/self/SelfVerificationController.kt index 506d4222b8..ca450af7cc 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/self/SelfVerificationController.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/self/SelfVerificationController.kt @@ -54,6 +54,7 @@ class SelfVerificationController @Inject constructor( ) : BaseEpoxyVerificationController(stringProvider, colorProvider, eventHtmlRenderer) { interface InteractionListener : BaseEpoxyVerificationController.InteractionListener { + fun onClickHelp() fun onClickRecoverFromPassphrase() fun onClickSkip() fun onClickResetSecurity() @@ -320,6 +321,15 @@ class SelfVerificationController @Inject constructor( listener { host.selfVerificationListener?.onClickResetSecurity() } } + bottomSheetVerificationActionItem { + id("help") + title(host.stringProvider.getString(CommonStrings.tchap_verification_get_help)) + titleColor(host.colorProvider.getColorFromAttribute(com.google.android.material.R.attr.colorError)) + iconRes(R.drawable.ic_arrow_right) + iconColor(host.colorProvider.getColorFromAttribute(com.google.android.material.R.attr.colorError)) + listener { host.selfVerificationListener?.onClickHelp() } + } + if (!state.isVerificationRequired) { bottomSheetDividerItem { id("reset_div") diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/self/SelfVerificationFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/self/SelfVerificationFragment.kt index cce2290bfe..293c9ee7f4 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/self/SelfVerificationFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/self/SelfVerificationFragment.kt @@ -37,10 +37,12 @@ import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.core.utils.PERMISSIONS_FOR_TAKING_PHOTO import im.vector.app.core.utils.checkPermissions import im.vector.app.core.utils.onPermissionDeniedDialog +import im.vector.app.core.utils.openUrlInChromeCustomTab import im.vector.app.core.utils.registerForPermissionsResult import im.vector.app.databinding.BottomSheetVerificationChildFragmentBinding import im.vector.app.features.crypto.verification.VerificationAction import im.vector.app.features.qrcode.QrCodeScannerActivity +import im.vector.app.features.settings.VectorSettingsUrls import im.vector.lib.strings.CommonStrings import org.matrix.android.sdk.api.session.crypto.verification.EVerificationState import timber.log.Timber @@ -94,6 +96,10 @@ class SelfVerificationFragment : VectorBaseFragment Date: Wed, 30 Oct 2024 19:38:13 +0100 Subject: [PATCH 4/7] Update changes --- TCHAP_CHANGES.md | 14 ++++++++++++++ changelog.d/1107.improvements | 1 - changelog.d/1113.improvements | 1 - changelog.d/1116.improvements | 1 - changelog.d/1118.improvements | 1 - changelog.d/1121.feature | 1 - towncrier.toml | 2 +- vector-app/build.gradle | 4 ++-- 8 files changed, 17 insertions(+), 8 deletions(-) delete mode 100644 changelog.d/1107.improvements delete mode 100644 changelog.d/1113.improvements delete mode 100644 changelog.d/1116.improvements delete mode 100644 changelog.d/1118.improvements delete mode 100644 changelog.d/1121.feature diff --git a/TCHAP_CHANGES.md b/TCHAP_CHANGES.md index b3efe909ef..cb1125f893 100644 --- a/TCHAP_CHANGES.md +++ b/TCHAP_CHANGES.md @@ -1,3 +1,17 @@ +Changes in Tchap 2.13.6 (2024-10-30) +==================================== + +Features ✨ +---------- + - Activation des appels vidéos pour Éducation et Agent. ([#1121](https://github.com/tchapgouv/tchap-android/issues/1121)) + +Improvements 🙌 +-------------- + - Ajout d'une description pour le paramètre de notifications du compte. ([#1107](https://github.com/tchapgouv/tchap-android/issues/1107)) + - Améliorer l'explication pour la génération d'un nouveau code de récupération. ([#1113](https://github.com/tchapgouv/tchap-android/issues/1113)) + - Faciliter l'accès à l'aide sur la vérification d'appareil. ([#1116](https://github.com/tchapgouv/tchap-android/issues/1116)) + - Améliorer l'explication pour un utilisateur voulant rejoindre un salon sans autorisation. ([#1118](https://github.com/tchapgouv/tchap-android/issues/1118)) + Changes in Tchap 2.13.5 (2024-10-01) ==================================== diff --git a/changelog.d/1107.improvements b/changelog.d/1107.improvements deleted file mode 100644 index 3278511908..0000000000 --- a/changelog.d/1107.improvements +++ /dev/null @@ -1 +0,0 @@ -Ajout d'une description pour le paramètre de notifications du compte \ No newline at end of file diff --git a/changelog.d/1113.improvements b/changelog.d/1113.improvements deleted file mode 100644 index 5106daa05d..0000000000 --- a/changelog.d/1113.improvements +++ /dev/null @@ -1 +0,0 @@ -Améliorer l'explication pour la génération d'un nouveau code de récupération. \ No newline at end of file diff --git a/changelog.d/1116.improvements b/changelog.d/1116.improvements deleted file mode 100644 index c1cbd69cbb..0000000000 --- a/changelog.d/1116.improvements +++ /dev/null @@ -1 +0,0 @@ -Faciliter l'accès à l'aide sur la vérification d'appareil \ No newline at end of file diff --git a/changelog.d/1118.improvements b/changelog.d/1118.improvements deleted file mode 100644 index 90478180df..0000000000 --- a/changelog.d/1118.improvements +++ /dev/null @@ -1 +0,0 @@ -Améliorer l'explication pour un externe voulant rejoindre un salon sans autorisation. \ No newline at end of file diff --git a/changelog.d/1121.feature b/changelog.d/1121.feature deleted file mode 100644 index 4684401ab7..0000000000 --- a/changelog.d/1121.feature +++ /dev/null @@ -1 +0,0 @@ -Activation des appels vidéos pour Éducation et Agent. \ No newline at end of file diff --git a/towncrier.toml b/towncrier.toml index 156e302981..bde8034bbd 100644 --- a/towncrier.toml +++ b/towncrier.toml @@ -1,5 +1,5 @@ [tool.towncrier] - version = "2.14.0" + version = "2.13.6" directory = "changelog.d" filename = "TCHAP_CHANGES.md" name = "Changes in Tchap" diff --git a/vector-app/build.gradle b/vector-app/build.gradle index 893d429c24..5e092cc69b 100644 --- a/vector-app/build.gradle +++ b/vector-app/build.gradle @@ -33,11 +33,11 @@ knit { // Note: 2 digits max for each value ext.versionMajor = 2 -ext.versionMinor = 14 +ext.versionMinor = 13 // 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 = 0 +ext.versionPatch = 6 static def getGitTimestamp() { def cmd = 'git show -s --format=%ct' From 1ce6c6c5fb73b72b3c6b6892f33c49f0adbdd67e Mon Sep 17 00:00:00 2001 From: yostyle Date: Thu, 31 Oct 2024 11:54:40 +0100 Subject: [PATCH 5/7] Secure backup is not mandatory --- TCHAP_CHANGES.md | 7 +++++++ towncrier.toml | 2 +- vector-app/build.gradle | 2 +- vector-config/src/tchap/res/values/config-features.xml | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/TCHAP_CHANGES.md b/TCHAP_CHANGES.md index cb1125f893..1e6a5ad5d1 100644 --- a/TCHAP_CHANGES.md +++ b/TCHAP_CHANGES.md @@ -1,3 +1,10 @@ +Changes in Tchap 2.13.7 (2024-10-31) +==================================== + +Features ✨ +---------- +- Ne pas forcer la génération du code de récupération et la sauvegarde automatique en production. + Changes in Tchap 2.13.6 (2024-10-30) ==================================== diff --git a/towncrier.toml b/towncrier.toml index bde8034bbd..c5d7ddaf96 100644 --- a/towncrier.toml +++ b/towncrier.toml @@ -1,5 +1,5 @@ [tool.towncrier] - version = "2.13.6" + version = "2.13.7" directory = "changelog.d" filename = "TCHAP_CHANGES.md" name = "Changes in Tchap" diff --git a/vector-app/build.gradle b/vector-app/build.gradle index 5e092cc69b..411df1274b 100644 --- a/vector-app/build.gradle +++ b/vector-app/build.gradle @@ -37,7 +37,7 @@ ext.versionMinor = 13 // 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 = 6 +ext.versionPatch = 7 static def getGitTimestamp() { def cmd = 'git show -s --format=%ct' diff --git a/vector-config/src/tchap/res/values/config-features.xml b/vector-config/src/tchap/res/values/config-features.xml index a748ca7633..d84cbf38c3 100755 --- a/vector-config/src/tchap/res/values/config-features.xml +++ b/vector-config/src/tchap/res/values/config-features.xml @@ -3,7 +3,7 @@ true true false - true + false agent.dinum.tchap.gouv.fr From 20e1bc2ba0af15983b1b5797e3e925d945d00d86 Mon Sep 17 00:00:00 2001 From: Yoan Pintas Date: Thu, 31 Oct 2024 15:08:45 +0100 Subject: [PATCH 6/7] Enable visio for Intradef instance (#1123) --- changelog.d/1120.feature | 1 + vector-config/src/tchap/res/values/config-features.xml | 1 + 2 files changed, 2 insertions(+) create mode 100644 changelog.d/1120.feature diff --git a/changelog.d/1120.feature b/changelog.d/1120.feature new file mode 100644 index 0000000000..b4b264c3f1 --- /dev/null +++ b/changelog.d/1120.feature @@ -0,0 +1 @@ +Activation des appels vidéos pour Intradef en beta externe. \ No newline at end of file diff --git a/vector-config/src/tchap/res/values/config-features.xml b/vector-config/src/tchap/res/values/config-features.xml index d84cbf38c3..3796724003 100755 --- a/vector-config/src/tchap/res/values/config-features.xml +++ b/vector-config/src/tchap/res/values/config-features.xml @@ -9,5 +9,6 @@ agent.dinum.tchap.gouv.fr agent.education.tchap.gouv.fr agent.tchap.gouv.fr + agent.intradef.tchap.gouv.fr From 29f37246e4fe6ca61a5f77e77fe116ab12b67fed Mon Sep 17 00:00:00 2001 From: yostyle Date: Thu, 31 Oct 2024 15:49:30 +0100 Subject: [PATCH 7/7] Update changes --- TCHAP_CHANGES.md | 9 ++++- changelog.d/1120.feature | 1 - tools/release/download_github_artifacts.py | 36 ++++++++++++------- towncrier.toml | 2 +- vector-app/build.gradle | 2 +- .../src/tchap/res/values/config-features.xml | 2 +- 6 files changed, 35 insertions(+), 17 deletions(-) delete mode 100644 changelog.d/1120.feature diff --git a/TCHAP_CHANGES.md b/TCHAP_CHANGES.md index 1e6a5ad5d1..e75999fc33 100644 --- a/TCHAP_CHANGES.md +++ b/TCHAP_CHANGES.md @@ -1,9 +1,16 @@ +Changes in Tchap 2.13.8 (2024-10-31) +==================================== + +Features ✨ +---------- + - Activation des appels vidéos pour Intradef en beta externe. ([#1120](https://github.com/tchapgouv/tchap-android/issues/1120)) + Changes in Tchap 2.13.7 (2024-10-31) ==================================== Features ✨ ---------- -- Ne pas forcer la génération du code de récupération et la sauvegarde automatique en production. + - Ne pas forcer la génération du code de récupération et la sauvegarde automatique en production. Changes in Tchap 2.13.6 (2024-10-30) ==================================== diff --git a/changelog.d/1120.feature b/changelog.d/1120.feature deleted file mode 100644 index b4b264c3f1..0000000000 --- a/changelog.d/1120.feature +++ /dev/null @@ -1 +0,0 @@ -Activation des appels vidéos pour Intradef en beta externe. \ No newline at end of file diff --git a/tools/release/download_github_artifacts.py b/tools/release/download_github_artifacts.py index fddc120762..768b3f42d4 100755 --- a/tools/release/download_github_artifacts.py +++ b/tools/release/download_github_artifacts.py @@ -22,6 +22,8 @@ import re # Run `pip3 install requests` if not installed yet import requests +# Run `pip3 install tqdm` if not installed yet +from tqdm import tqdm # This script downloads artifacts from GitHub. # Ref: https://docs.github.com/en/rest/actions/artifacts#get-an-artifact @@ -131,20 +133,30 @@ target = targetDir + "/" + filename sizeInBytes = data.get("size_in_bytes") + + # get request +response = requests.get(url, headers=headers, stream=True) + +# Sizes in bytes. +total_size = data.get("size_in_bytes") +block_size = 1024 + print("Downloading %s to '%s' (file size is %s bytes, this may take a while)..." % (filename, targetDir, sizeInBytes)) if not args.simulate: - # open file to write in binary mode - with open(target, "wb") as file: - # get request - response = requests.get(url, headers=headers) - # write to file - file.write(response.content) - print("Verifying file size...") - # get the file size - size = os.path.getsize(target) - if sizeInBytes != size: - # error = True - print("Warning, file size mismatch: expecting %s and get %s. This is just a warning for now..." % (sizeInBytes, size)) + with tqdm(total=total_size, unit="B", unit_scale=True) as progress_bar: + # open file to write in binary mode + with open(target, "wb") as file: + for data in response.iter_content(block_size): + progress_bar.update(len(data)) + # write to file + file.write(data) + + print("Verifying file size...") + # get the file size + size = os.path.getsize(target) + if sizeInBytes != size: + # error = True + print("Warning, file size mismatch: expecting %s and get %s. This is just a warning for now..." % (sizeInBytes, size)) if error: print("❌ Error(s) occurred, please check the log") diff --git a/towncrier.toml b/towncrier.toml index c5d7ddaf96..89bb42afaa 100644 --- a/towncrier.toml +++ b/towncrier.toml @@ -1,5 +1,5 @@ [tool.towncrier] - version = "2.13.7" + version = "2.13.8" directory = "changelog.d" filename = "TCHAP_CHANGES.md" name = "Changes in Tchap" diff --git a/vector-app/build.gradle b/vector-app/build.gradle index 411df1274b..1456ee9604 100644 --- a/vector-app/build.gradle +++ b/vector-app/build.gradle @@ -37,7 +37,7 @@ ext.versionMinor = 13 // 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 = 7 +ext.versionPatch = 8 static def getGitTimestamp() { def cmd = 'git show -s --format=%ct' diff --git a/vector-config/src/tchap/res/values/config-features.xml b/vector-config/src/tchap/res/values/config-features.xml index 3796724003..6050a08f7c 100755 --- a/vector-config/src/tchap/res/values/config-features.xml +++ b/vector-config/src/tchap/res/values/config-features.xml @@ -3,7 +3,7 @@ true true false - false + true agent.dinum.tchap.gouv.fr