Projet

Général

Profil

Bug #62127

Certains emoticones dans les libellés de saut manuel provoquent des erreurs 500

Ajouté par Marie Kuntz il y a environ 2 ans. Mis à jour il y a environ 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
24 février 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Par exemple l'emoticone 🦁
sur https://demarches-mkuntz.test.entrouvert.org/backoffice/workflows/183/status/1/
L'action : https://demarches-mkuntz.test.entrouvert.org/backoffice/workflows/183/status/1/items/1/ (accessible mais plante si on enregistre)


ParseError at /backoffice/workflows/183/status/1/

not well-formed (invalid token): line 33, column 72

Request Method:     GET
Request URL:     https://demarches-mkuntz.test.entrouvert.org/backoffice/workflows/183/status/1/
Django Version:     2.2.24
Exception Type:     ParseError
Exception Value:     

not well-formed (invalid token): line 33, column 72

Exception Location:     /usr/lib/python3.7/xml/etree/ElementTree.py in XML, line 1315
Python Executable:     /usr/bin/uwsgi-core
Python Version:     3.7.3
Python Path:     

['/usr/lib/python3/dist-packages/wcs',
 '.',
 '',
 '/usr/lib/python37.zip',
 '/usr/lib/python3.7',
 '/usr/lib/python3.7/lib-dynload',
 '/usr/local/lib/python3.7/dist-packages',
 '/usr/lib/python3/dist-packages',
 '/usr/lib/python3/dist-packages/auquotidien/']

Server time:     jeu, 24 Fév 2022 08:52:43 +0100

Puis erreur 500 sur le workflow : https://demarches-mkuntz.test.entrouvert.org/backoffice/workflows/183/


Fichiers

Révisions associées

Révision 8d015804 (diff)
Ajouté par Frédéric Péters il y a environ 2 ans

workflows: escape entities & markup in action details (#62127)

Historique

#2

Mis à jour par Frédéric Péters il y a environ 2 ans

graphviz produit un svg pété,

<g id="a_edge1"><a xlink:href="status/1/items/1/" xlink:title="go ÿ¦<81>
par\nDestinataire">

mais https://demarches-mkuntz.test.entrouvert.org/backoffice/workflows/183/status/1/items/1/

j'y vois go & #129409; (sans l'espace sinon redmine transforme l'entité).

ça n'est pas un emoji qui a été enregistré.

Et en local je mets ton emoji ça passe (copié/collé de la description), je met cette entité ça crashe.

#3

Mis à jour par Frédéric Péters il y a environ 2 ans

À noter qu'avec une image

(?)

pour comprendre en fait tu écris l'entité XML directement ?

(et la description de ce ticket l'emoji apparait c'est juste redmine qui comme dans mon commentaire fait une substitution)

#4

Mis à jour par Frédéric Péters il y a environ 2 ans

Ok et je vois que ça vient d'un mail et quelqu'un qui vraiment pose l'entité comme ça.

C'est une pratique commune de faire ça ? Parce que ma réaction ce serait de faire en sorte que les caractères ne soient pas interprétés.

#5

Mis à jour par Marie Kuntz il y a environ 2 ans

En effet redmine a transformé l'entité en emoji dans la description, mais c'est bien le code que j'ai mis sur mon instance et qui provoque le crash ; si je mets l'image, ça passe.
Avec le code : https://demarches-mkuntz.test.entrouvert.org/backoffice/workflows/183/status/1/items/1/ (crash, erreur 500 sur tout le wf)
Avec insertion de l'image : https://demarches-mkuntz.test.entrouvert.org/backoffice/workflows/184/status/1/ nickel

Je n'ai pas manipulé le xml, juste récupéré dans un cas le code donné dans le mail sur , dans l'autre, l'image sur le site https://emojipedia.org/lion/

#6

Mis à jour par Marie Kuntz il y a environ 2 ans

Frédéric Péters a écrit :

C'est une pratique commune de faire ça ? Parce que ma réaction ce serait de faire en sorte que les caractères ne soient pas interprétés.

La tête de lion, non, mais des icones, oui ; après je ne sais pas si les gens mettent les entitiés ou des images directement. Moi je passe des images.

#7

Mis à jour par Frédéric Péters il y a environ 2 ans

Ok "image" c'est "emoji", c'est un caractère comme un autre.

Et le bug ici c'est quelqu'un qui tape une entité XML random et celle-ci qui n'est pas traitée correctement dans l'étape de création du graphe du workflow; côté rendu bouton c'est correctement géré et il n'y a pas de rendu, cf capture.

Donc ça ne va rien casser il y a juste à renforcer le traitement des libellés dans le graphe.

#8

Mis à jour par Frédéric Péters il y a environ 2 ans

En faisant ça je me suis rendu compte que dans le passage à une page django pour le rendu d'un statut de workflow (#47154) j'avais été trop généreux sur un |safe, ce qui faisait l'entité interprétée aussi dans la liste des actions d'un statut.

Le patch corrige ça aussi.

#9

Mis à jour par Thomas Noël il y a environ 2 ans

  • Statut changé de Solution proposée à Solution validée
#10

Mis à jour par Frédéric Péters il y a environ 2 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 8d0158040e498c7529a16cb7e330c6888edaddfe
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Thu Feb 24 09:33:02 2022 +0100

    workflows: escape entities & markup in action details (#62127)
#11

Mis à jour par Transition automatique il y a environ 2 ans

  • Statut changé de Résolu (à déployer) à Solution déployée
#12

Mis à jour par Transition automatique il y a environ 2 ans

Automatic expiration

Formats disponibles : Atom PDF