tchapgouv / tchap-ios

A Matrix client for iOS
https://apps.apple.com/fr/app/tchap/id1446253779
GNU Affero General Public License v3.0
60 stars 17 forks source link

L'activation de la sauvegarde automatique crash depuis au moins la v.2.8.1 #1125

Open NicolasBuquet opened 2 days ago

NicolasBuquet commented 2 days ago

Après création d'un nouveau compte, activer la sauvegarde automatique par le réglage de sécurité ou par la pop-up le prpoposant après relancement de l'application crash.

La signature croisée est marquée comme activée sur iOS.

Sur le même compte sur web, elle est marquéé comme non-active. simulator_screenshot_48C4733B-D4E8-4966-B3B0-65C83630EA1A image

Le fait de la réactiver sur iOS semble marcher, mais en fait, ce n'est pas le cas.

Activer la sauvegarde automatique sur iOS alors que la signature croisée n'est pas activée entraîne un crash.

Actver la signature croisée depuis le web entraîne l'affichage de ce message 👍 image

Dans le message suivant, le bouton "Revenir en arrière" devrait être "Continuer" (c'est l'action qu'il a) : image

Sur web, on présente l'option de saisir une phrase de sécurité ! image

Un crash sour iOS (test de Synapse 1.119 en PreProd) semble indiquer qu'il cherche aussi à activer la sauvegarde automatique en passant pas la passphrase ! La signature croisée s'active alors depuis le web : image

L'activatiobn de la sauvegarde sécurisée sur iOS est alors possible, bien qu'elle plante à la fin du processus.

Au redémarrage, la signature croisée est activée sur iOS et la sauvegarde automatique aussi. simulator_screenshot_C1E324D3-DAC8-4A87-8E59-70A7760244B1

Il est possible de la réinitialiser depuis iOS sans plantage.

Sur web, la signature croisée est marquée comme non-activée. Vérifier la session web n'active pas la signature croisée.

image

NicolasBuquet commented 2 days ago

Testé le lendemain sur le m´me compte avec le web, Android et iOS :

web

image

Android

IMG_0605

iOS

simulator_screenshot_69EC0ED6-E74A-410D-B382-90625BED9E89

Les 3 clients ne formulent pas la même chose. JJe pense que le web et iOS simplifient en disant que la signature croisée n'est pas exploitable alors qu'Android donne trop de détail.

Par contre, iOS semble donner une information fausse sur la sauvegarde automatique : elle n'est pas activée disent le web et Android, et iOS dit qu'elle est activée.

image

Par contre, il y a une sauvegarde de clés (en version 9) sur le compte. Je pense qu'iOS doit vouloir dire qu'une sauvegarde existe sur le compte.

NicolasBuquet commented 2 days ago

C'est un crash du à Element.

Element iOS crash si on essaie de régénérer une sauvegarde sécurisée avec Code de récupération.

C'est du à un appel depuis Riot/Modules/Secrets/Setup/RecoveryKey/SecretsSetupRecoveryKeyViewModel.swift createSecureKey qui appelle dans le Matrix-iOS-SDK la méthode de Crypto/SecretStorage/MXSecretStorage :

(MXHTTPOperation*)createKeyWithKeyId:(nullable NSString*)keyId
                               keyName:(nullable NSString*)keyName
                            passphrase:(nullable NSString*)passphrase
                               success:(void (^)(MXSecretStorageKeyCreationInfo *keyCreationInfo))success
                               failure:(void (^)(NSError *error))failure

Hors, l'entête de cette méthode existe toujours dans le SDK, mais son implémentaiton n'existe plus !

https://github.com/matrix-org/matrix-ios-sdk/blob/34c66a0615173fb2d0252f8b9dc5d2650a58a847/MatrixSDK/Crypto/SecretStorage/MXSecretStorage.h#L92

NicolasBuquet commented 2 days ago

Problème référencé chez Element : https://github.com/element-hq/element-ios/issues/7871#issuecomment-2491100200

Delphgateau commented 1 day ago

@NicolasBuquet doublon avec le https://github.com/tchapgouv/tchap-ios/issues/1124 ? :)