PapillonApp / papillon-v6

Le client alternatif de vie scolaire ouvert à tous et porté par la communauté
https://getpapillon.xyz
GNU General Public License v3.0
128 stars 47 forks source link

Affichage des fichiers #212

Open Slysoks opened 6 months ago

Slysoks commented 6 months ago

Description du bug

Le message contient une image mais des lignes de [data] restent affichées. EDIT : suppression du screenshot en trop - LeGeek01

Etapes à reproduire

  1. Avoir un devoir contenant un fichier
  2. Regarder le contenu

Comportement attendu

Contenu textuel uniquement suivi du fichier, sans cette ligne de data

Appareil

Samsung M32

Version du système d`exploitation

Android 12

Version

6.6.

Environnement

Application native Android

Service scolaire

🦋 Pronote

Captures d'écran / vidéo

Screenshot_20240514_081548_Papillon

Contexte supplémentaire

No response

TinAD17tin commented 6 months ago

Pour aider à la résolution, tu pourrais montrer ce que ça donne dans PRONOTE (en cachant ce qui est confidentiel) ?

Gabriel29306 commented 6 months ago

C'est une image png encodée en base64. Faudrait faire une détection regex et faire du base64 to png.

TinAD17tin commented 6 months ago

Comment ça se fait que y est une image dans un devoir et pas en PJ ?

Slysoks commented 6 months ago

Screenshot_20240514_104043_PRONOTE.png

Il est bel et bien en PJ

TinAD17tin commented 6 months ago

A ouais donc Gabriel a bien raison !

Slysoks commented 6 months ago

Oui et en plus il est aussi breton !!

Gabriel29306 commented 6 months ago

J'ai regardé, voici l'image en question: image Il doit être utilisé par Pronote pour une raison x ou y

TinAD17tin commented 6 months ago

A oui j’avais pas fait gaffe, je croyais que c’était que le début de l’image total, c’est vraiment étrange

TinAD17tin commented 6 months ago

Ce qui est le plus bizarre c’est que y’a des x et y dans le trucs, peut être que la prof a voulu mettre une formule mathématique ou un truc du genre, et que PRONOTE ne l’a pas affiché mais papillon si 🥹

Slysoks commented 6 months ago

Les x et y c car c'était une équation à résoudre, mais c'est très étrangeScreenshot_20240514_112922_Chrome.png

Slysoks commented 6 months ago

Et en plus je n'arrive pas à ouvrir la PJScreenshot_20240514_113156_Chrome.png

Gabriel29306 commented 6 months ago

Je ne sais pas pourquoi c'est là, j'ai des devoirs avec pièce jointe. Je n'ai pas ce problème en 6.6.3 bêta. @SupRMinecraftien tu pourrais envoyer la réponse à la requête PageCahierDeTexte ? On va essayer de trouver l'origine du problème.

Slysoks commented 6 months ago

Comment je peux faire ça ?

Slysoks commented 6 months ago

Ça me fait pareil en 6.6.3

Gabriel29306 commented 6 months ago

Il faut que quand tu vas sur Pronote tu ouvres les outils de développement, dès que tu es connecté. Puis dans l'onglet réseau, si tu peux, tu filtres par requête fetch/XH. Après tu vas dans ton onglet Cahier de Texte. Tu regardes les requêtes, tu devrais voir des noms qui paraissent aléatoires. Tu cherches celle où dans le début il y a PageCahierDeTexte. Tu as juste à envoyer le contenu de la réponse.

Gabriel29306 commented 6 months ago

PageCahierDeTexte est dans la réponse et le payload, ce qui nous intéresse est la réponse.

Slysoks commented 6 months ago

Voilà la réponse :

{
                        "N": "157#6gLqv5NfRoO0OdfMEGv0bJEMWN60gZKTrgFjYVL5m1k",
                        "descriptif": {
                            "_T": 21,
                            "V": "<div>R\u00E9soudre le syst\u00E8me suivant par la m\u00E9thode de combinaison lin\u00E9aire:<img data-latex=\"\\begin{cases}\n &amp; \\text{ } 2x+3y=8 \\\\ \n &amp; \\text{  } 3x-2y=-1 \n\\end{cases}\" alt=\"\\begin{cases}\n &amp; \\text{ } 2x+3y=8 \\\\ \n &amp; \\text{  } 3x-2y=-1 \n\\end{cases}\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAVAQMAAABbtd0DAAAAA1BMVEX\/\/\/+nxBvIAAAADElEQVR4nGNgIBYAAAAqAAFi4XRDAAAAAElFTkSuQmCC\"><\/div>"
                        },
                        "avecMiseEnForme": true,
                        "PourLe": {
                            "_T": 7,
                            "V": "14\/05\/2024"
                        },
                        "TAFFait": true,
                        "niveauDifficulte": 0,
                        "duree": 0,
                        "cahierDeTextes": {
                            "_T": 24,
                            "V": {
                                "N": "18#nyhhEB6NX5qSEdG2Powy75NcBhBq2S8QLX3FL_geIb4"
                            }
                        },
                        "cours": {
                            "_T": 24,
                            "V": {
                                "N": "31#VJIRbzOLykf9Xrk95CzurokYSfxD7HJ4N1cOlodxYmY"
                            }
                        },
                        "DonneLe": {
                            "_T": 7,
                            "V": "13\/05\/2024"
                        },
                        "Matiere": {
                            "_T": 24,
                            "V": {
                                "L": "MATHEMATIQUES",
                                "N": "82#ELUxAuuB8pOOtlJ6zcsANttJE7f4nqnAP1WYiAYDS4E"
                            }
                        },
                        "CouleurFond": "#000080",
                        "nomPublic": "204",
                        "ListeThemes": {
                            "_T": 24,
                            "V": []
                        },
                        "libelleCBTheme": "Uniquement les th\u00E8mes associ\u00E9s aux mati\u00E8res du travail \u00E0 faire",
                        "ListePieceJointe": {
                            "_T": 24,
                            "V": [
                                {
                                    "L": "Exercice_Syst\u00E8me.PNG",
                                    "N": "38#UYSsXYPlJrO9QiiaqKRg8FIIbql85CccIIzwJVVvjY4",
                                    "G": 1
                                }
                            ]
                        }
                    }
Slysoks commented 6 months ago

Et en effet on retrouve bien les données mais cette fois dans une balise

<img data-latex=\"\\begin{cases}\n &amp; \\text{ } 2x+3y=8 \\\\ \n &amp; \\text{  } 3x-2y=-1 \n\\end{cases}\" alt=\"\\begin{cases}\n &amp; \\text{ } 2x+3y=8 \\\\ \n &amp; \\text{  } 3x-2y=-1 \n\\end{cases}\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAVAQMAAABbtd0DAAAAA1BMVEX\/\/\/+nxBvIAAAADElEQVR4nGNgIBYAAAAqAAFi4XRDAAAAAElFTkSuQmCC\">
TinAD17tin commented 6 months ago

D’où mon hypothèse, peut être que la prof a réussi à intégrer des composants du genre D-Math de libreoffice dans l’intitulé du devoir, mais que PRONOTE le sais et le transforme en image, mais c’est pas le cas de papillon qui ne sait pas que c’est possible.

Gabriel29306 commented 6 months ago

C'est peut être avec avecMiseEnForme, ici sur true. On peut le détecter avec /<img data-latex=.* src=.*>/ (du regex) pour le supprimer après dans l'affichage et pour le data-latex: /<img data-latex=.*"(.*)" alt=.* src=.*>/. On peut utiliser react-native-mathjax dans Expo.tuto

TinAD17tin commented 6 months ago

A voila je cherchais le nom, c’est latex ! Je me souvenais plus. Bon bah bonne chance aux devs pour l’intégrer à papillon !

LeGeek01 commented 6 months ago

je savais même pas que c'était possible de faire ça 💀 problème sans pouvoir reproduire le bug c'est compliqué

Gabriel29306 commented 6 months ago

J'ai expliqué les possibles problèmes et la façon de résoudre ça. En plus il a envoyé la réponse de sa requête pour les devoirs. On peut essayer ce que j'ai dit avec le latex et tout.

LeGeek01 commented 4 months ago

je reviens la dessus, normalement le traitement HTML se fait, le bug est toujours présent ?

Slysoks commented 4 months ago

Je ne sais pas, je n'ai plus cours