Closed odelcroi closed 5 months ago
j'ai auto rageshake une erreur de chiffrement qui vient de moi. Je ne comprend pas : j'ai regardé les logs mais ca ne m'aide pas à comprendre. Qu'en penses tu @MatMaul ?
@NicolasBuquet @yostyle vous avez cette option de votre coté aussi? Vous pouvez regarder si vous avez le meme comportement?
@NicolasBuquet @yostyle vous avez cette option de votre coté aussi? Vous pouvez regarder si vous avez le meme comportement?
Sur iOS, on a un point d'entrée similaire :
// Track e2e failures dispatch_async(dispatch_get_main_queue(), ^{ [[DecryptionFailureTracker sharedInstance] reportUnableToDecryptErrorForEvent:event withRoomState:roomState myUser:self->mxSession.myUser.userId]; });
On a aussi ça :
// Tchap: Disable UISI // self.uisiAutoReporter = [[UISIAutoReporter alloc] init];
La classe UISIAutoReporter
semble faire du reporting automatique en utilisant le bugReporter/rageShake 😄 @odelcroi
Erreur de faux positif ? Impossible de retrouver ce message, d'ailleurs, la room n'est pas mentionnée :
Hint : la personne en question a eu des problèmes avec son compte tchap et a du faire un discard session
Dans les logs attaché on trouve pour cette sender_key, l'erreur suivante :
2024-02-27T15:29:47.403Z W WARN matrix_sdk_crypto::olm::account: A to-device message was successfully decrypted but parsing and checking the event fields failed
error=JsonError(Error("missing field `content`", line: 1, column: 324))
at /home/runner/.cargo/git/checkouts/matrix-rust-sdk-1f4927f82a3d27bb/5957d96/crates/matrix-sdk-crypto/src/olm/account.rs:1261
in matrix_sdk_crypto::olm::account::decrypt_and_parse_olm_message with sender="@nicolas.fries-beta.gouv.fr:agent.dinum.tchap.gouv.fr" sender_key="curve25519:q8d++7EhlCYDzuODVa5M5yENaAsiHyqFqQqKaWzRkgM" PreKey(PreKeyMessage { session_keys: SessionKeys { identity_key: "q8d++7EhlCYDzuODVa5M5yENaAsiHyqFqQqKaWzRkgM", base_key: "b7eOQ/7+MyjBCLecX3mqfQtgP/brJm+x/GomCorLhTU", one_time_key: "166Vc+eOMeLR1meowzOtRAu5E/hDeXZZqexWaWIaqA4" }, message: Message { version: 3, ratchet_key: "curve25519:qSvpifZumrgOxrGTNDrRuELKfo4IZ4I0G2ckONbcrTY", chain_index: 0, .. } }) session_id="2WVZUAKD3jyQMFQsp6sCzF+afg6Lx/3nB/q1j4NlekY" session=Session { session_id: "2WVZUAKD3jyQMFQsp6sCzF+afg6Lx/3nB/q1j4NlekY", sending_chain_index: None, receiving_chains: [ReceiverChain { ratchet_key: "curve25519:qSvpifZumrgOxrGTNDrRuELKfo4IZ4I0G2ckONbcrTY", chain_index: 1, skipped_message_keys: [], .. }], config: SessionConfig { version: V1 }, .. }
in matrix_sdk_crypto::olm::account::decrypt_olm_v1 with sender_key="curve25519:q8d++7EhlCYDzuODVa5M5yENaAsiHyqFqQqKaWzRkgM"
in matrix_sdk_crypto::olm::account::decrypt_to_device_event with algorithm="m.olm.v1.curve25519-aes-sha2"
in matrix_sdk_crypto::machine::receive_to_device_event with sender="@xxxxx-beta.gouv.fr:agent.dinum.tchap.gouv.fr" event_type="m.room.encrypted" message_id="868faa90-e09f-4b16-8c83-6788e2575f0b"
in matrix_sdk_crypto::machine::receive_sync_changes
sinon la ca parle de to_device, c'est les messages spécifiques qui établisse les clés d'encryption, c'est pas forcément directement lié a un msg. l'envoi d'un message le trigger apres un certain temps, mais apres les memes clés sont utilisés pour X messages.
Conclusion :
Note : element-web 1.11.60 introduit des changements dans le code de rageshake-on-uisi, ca peut etre pertinent de faire l'upgrade avant le dev de ce ticket. Ca evitera de rajouter du travail dans l'upgrade. (mais c'est pas grand chose non plus, pas la fin du monde)
@odelcroi cette issue est un peu dans tous les sens. Est-ce que la checklist dans la description de la PR est à jour ? Necessaire et suffisante ? :)
Le titre du message du rageshake est "[element-auto-uisi] Auto-reporting decryption error (recipient)" (par exemple). Le nom "element-auto-uisi" est customisable dans la config. "[tchap-web-auto-uisi]" me parait plus pertinent, ou meme "erreur-chiffrement-web" par exemple.
Je n'ose pas le changer parce que je sais pas si ca va casser l'auto-triage de tickets crisp @odelcroi ?
@estellecomment
Oui, si on le change, ça va casser l'auto-triage de Crisp : https://github.com/tchapgouv/matrix-rageshake-crisp/blob/cf31e55e76997ad3de59d77638d4db9d3082458c/src/job_process_invalid_rageshake.py#L112
(PR description updated as we go with info from the comments)
why
what
how
Une option existe dans les parametre users, (dans Labs/Expérimental > Analytics) on pourrait la forcer à true :
Cela envoie un rageshake auto lors de cette erreur : "Auto-reporting decryption error (recipient)" avec les labels suivants : "Z-UISI", "web", "uisi-recipient"
Ensuite un rageshake est envoyé avec une app particulière : uisi_autorageshake_app
Le serveur rageshake est configuré ici
Exemple d'un rageshake
Questions
Todo
rajouter le nom de la room (l'id de la room est deja presente), pour pouvoir notifier le sender du probleme eventuellement-> not necessary given privacy issueutiliser default = true pour le setting d'envoi du rageshake on uisi (le laisser desactivable par les users)backend cannot handle it for now, see product issue