OK
AJAX error!

Les forumsGrammalecteWebExtension : Bugs divers et améliorations

WebExtension : Bugs divers et améliorations

Bonjour,

C'est une bonne nouvelle la version Chrome ;)
Cependant elle comporte un bug, en passant par le bouton le lexicographe et le correcteur ne font que faire apparaître les panels vides.

Édit : En passant par le menu contextuel ça fonctionne mais par exemple ce message est considéré comme un paragraphe.

Je pense que pour que la normalisation soit suivie par tous les navigateurs tu auras eu le temps de faire une 100ème de versions de l'extension ;)
le 27 octobre 2017 à 18:21
Je ne reproduis pas le problème avec le bouton.
Mais effectivement, la sélection colle tout dans un seul paragraphe…
le 27 octobre 2017 à 18:44
Ah j'ai testé davantage, le bug en passant sur le bouton ça ne le fait que ici, sur les autres sites ça semble fonctionner correctement.
le 27 octobre 2017 à 20:01
Ah oui. En effet… Ça fonctionne pourtant sur la page de test. Encore un mystère… :(

Edit : Problème corrigé. En fait, je me demande comment ça pouvait fonctionner avant…
le 27 octobre 2017 à 20:48
J'ai proposé des petits changements dans une nouvelle branche...
Ajout d'un MutationObserver pour ajouter le bouton au textarea ajouter dynamiquement.
Ajout de quelques propriétés dans le CSS du menu (car sur au moins un site que je connais c'était perturbé)
Quelques modifications dans menu.js pour enregistrer la "zone" dont les boutons sont ajoutés et être sûr que c'est bien appliquer a cette "zone".
Ajout si le textarea a un bottom margin je fais en sorte d'ajuster l'emplacement du bouton et menu.

C'est uniquement testé sous Chrome (mais ça ne devrait pas poser de problème sous Firefox ;) )
le 28 octobre 2017 à 02:34
Merci pour les modifications.

Quelques remarques :
1. Il faut utiliser Python 3.6 pour le build. C’est nécessaire pour la reproduction bit à bit de l’extension fournie à Mozilla. Et tu ne peux pas virer le “f” de formatage sur les strings sans que ça casse quelque chose. :)

2. J’ai annulé certaines modifications CSS parce que ça passait mal sur Firefox. Il faudrait vraiment prendre le temps de tester sur les deux navigateurs pour un rendu correct sur les deux, ce que je n’ai pas eu le temps de faire encore. (Mais si ce n’est pas tout à fait pareil sur les deux navigateurs, ce n’est pas grave, tant que ça reste correct).
À mon avis, il faut d’abord réussir à bétonner le CSS avant de le modifier pour que ça passe sur les deux navigateurs.

3. J’ai placé le MutationObserver hors du scope global pour éviter les interférences avec le code de la page.
J’ai l’impression que la ligne :

if (mutation.addedNodes<i>.getElementsByTagName)


est mal placée. Elle devrait être avant if suivant, je pense. Mais, en fait, ce test me semble bizarre.
Tu as testé ce code sur une page qui se modifie ?

4. Bien vu pour Twitter, mais ça m’embête un peu que ce soit en codé en dur. Pour l’instant, ça passe parce qu’il y a une seule exception, mais il faudra peut-être établir un liste plus tard.

5. J’ai annulé le processus de build pour le vieil Addon-SDK de Firefox.
le 28 octobre 2017 à 10:30
Rappel:

fossil sync
fossil update


Pour récupérer les modifs faites.
le 28 octobre 2017 à 10:43
En ce qui concerne le CSS, tout doit être calibré sur la page de test : www.dicollecte.org…
Cette page est accessible depuis le panneau de tests du menu principal de l’extension.

Cette page ne contient aucun CSS hormis du style “en ligne”.
Il faut que ça ait l’air correct sur cette page, puis si c’est déformé ailleurs, ça veut dire que les éléments ont hérité quelque chose de la page…
le 28 octobre 2017 à 11:11
D'accord pour le build, je ne comprenais pas pourquoi ça passait pas, je vais mettre de ce pas mettre à jour mon python ;) Il serait bien de mettre à jour la page http://212.47.254.152:8080/doc/trunk/doc/build.md pour prérequis du build.

Je viens d'ajouter du CSS mais en étant beaucoup plus sélectif ;)

Pour le MutationObserver je dois avouer que c'est la première fois que je l'utilise et ce que je ne connais donc pas bien son comportement... J'ai modifié la place

if (mutation.addedNodes.getElementsByTagName)

Oui c'est testé pour un site où des textarea sont ajoutés dynamiquement.

Pour Twitter ça m'embête aussi le code comme ça mais bon je me suis dit vu le nombre d'utilisateur Twitter ça vaut le coup. Je pense qu'il y a un truc à faire aussi pour Facebook ;)
le 28 octobre 2017 à 11:20
Bon, voilà, j’ai fusionné la branche, mais elle est encore ouverte si tu en as besoin.
Je vais encore faire des tests, puis si tout va bien, je publierai la mise à jour pour Chrome.
le 28 octobre 2017 à 12:28
J'ai essayé de regarder pour Facebook mais ça me parait très compliqué à mettre en œuvre, Facebook modifie trop de chose en JavaScript...

Sinon pour le mot "coeur" la bonne suggestion n'est pas faite... je pense que c'est a cause du œ mais pour certain mot ça propose la bonne orthographe (je sais c'est hors sujet ici)

Je pense que tu peux la fermer dans l'immédiat je ne voie rien d'autre à ajouter/modifier.
le 28 octobre 2017 à 12:52

J'ai essayé de regarder pour Facebook mais ça me parait très compliqué à mettre en œuvre, Facebook modifie trop de chose en JavaScript...


Finalement, je ne vais peut-être laisser par défaut que les boutons pour les textareas.

Sinon pour le mot "coeur" la bonne suggestion n'est pas faite... je pense que c'est a cause du œ mais pour certain mot ça propose la bonne orthographe (je sais c'est hors sujet ici)


J’ai la bonne suggestion en Python, mais pas en JS… Il doit y avoir un bug quelque part.

Je pense que tu peux la fermer dans l'immédiat je ne voie rien d'autre à ajouter/modifier.


OK
le 28 octobre 2017 à 13:09

Finalement, je ne vais peut-être laisser par défaut que les boutons pour les textareas.


Si c'est a cause de Facebook ce n'est pas la peine, vu que le problème de Facebook, il vire tout une partie du DOM pour le remplacer, donc le bouton et menu sont complètement supprimés et donc n'interfèrent pas dans le fonctionnement ;)

Il faudrait un échantillon de sites pour voir les répercutions, car si ça ne gêne pas le fonctionnement, ni ne pose de problème visuellement, je trouve que c'est bien qu'un maximum de zone éditable ait le bouton. Je me demande même si il ne pourrait pas être fait quelque chose pour les input text ;)
le 28 octobre 2017 à 13:28
Pour les boutons des panels je propose de remplacer quelques symbole car je ne les trouve pas explicite.
∑ => ⧉
« => ⍇
» => ⍈
¯ => ⍐
_ => ⍗
• => ⌻

le 28 octobre 2017 à 13:46

Si c'est a cause de Facebook


Non, c’était parce que les nodes éditables indiquent souvent une situation particulière et potentiellement problématique. Mais j’ai réactivé l’option. On verra.

les boutons des panels


Là, c’est plus délicat, parce que les caractères que tu proposes sont rares et cassent l’alignement. Ils ne font pas la même taille, mais ça dépend peut-être des polices.

À l’origine, je voulais mettre des icônes de FontAwesome : fontawesome.io…
Mais ça signifie injecter encore du CSS dans chaque page. C’est probablement inutile. Et le CSP l’interdit pour l’instant.

Il faudrait pouvoir forcer la police qu’on désire.
le 28 octobre 2017 à 14:13
Pour les caractères tu définis un font-familly au panel donc il ne devrait pas trop y avoir d'effets de bord.
Pour les ajustements, je pense que

.grammalecte_panel {
overflow: hidden;
}
div.grammalecte_copy_button {
height: 27px;
padding-bottom: 0;
}
.grammalecte_panel_commands > div {
vertical-align: bottom;
height: 29px;
padding-bottom: 1px;
margin-top: -3px;
}


devrait suffire ;) (en tout cas sous windows chrome/firefox)
le 28 octobre 2017 à 15:18

Notification par e-mail    0