Open kemenaran opened 4 years ago
Alors, la raison pour laquelle on ne peut pas annuler la requête XHR, c'est que la classe Rails JS DirectUpload
qui lance l'upload et gère les erreurs n'est pas câblée pour gérer les annulations. Donc on est cuit.
On va donc ignorer les erreurs de ProgressBar si l'élément DOM disparait, et puis basta.
Quand un Usager supprime un bloc répétable contenant un upload de PJ actif, on n'annule pas le téléchargement.
L'upload se poursuit en arrière-plan, et génère des erreurs JS (parce que la Progress Bar n'existe plus).
Sentry : https://sentry.io/organizations/demarches-simplifiees/issues/1604484625/?environment=production&project=1429547&query=is%3Aunresolved#tags
Résolution
On peut soit :
Je viens d'essayer la solution 2., parce que j'ai l'impression que supprimer l'upload est quand même plus propre. Mais c'est chaud : on détecte la suppression de l'élément DOM à un endroit bizarre, y'a plein de callbacks, et après faut manuellement générer une erreur, qui n'est pas attrapée correctement… Tendu.
Je penche un peu vers 1. Mais je vais continuer à creuser.