« Discussion Poképédia:Gadget generations » : différence entre les versions

De Poképédia
(→‎Problèmes connus : Bogue de la section Stratégie)
Ligne 24 : Ligne 24 :
Si vous avez une remarque, c'est l'endroit idéal pour en parler !
Si vous avez une remarque, c'est l'endroit idéal pour en parler !


== Problèmes connus ==
== Problèmes ==
Cette section sert à parler des bugs du gadget.
Cette section sert à parler des bugs du gadget.


Ligne 55 : Ligne 55 :
:Ça a l'air de fonctionner de mon côté. Merci pour ton message ! --[[Utilisateur:Matt.|Matt.]]<sup>([[User talk:Matt.|discuter]])</sup> 4 juillet 2022 à 08:22 (UTC)
:Ça a l'air de fonctionner de mon côté. Merci pour ton message ! --[[Utilisateur:Matt.|Matt.]]<sup>([[User talk:Matt.|discuter]])</sup> 4 juillet 2022 à 08:22 (UTC)
:: Eh bien, quelle réactivité ! Merci ! — [[Utilisateur:Frigory|Frigory]] ([[Discussion utilisateur:Frigory|discussion]]) 4 juillet 2022 à 19:42 (UTC)
:: Eh bien, quelle réactivité ! Merci ! — [[Utilisateur:Frigory|Frigory]] ([[Discussion utilisateur:Frigory|discussion]]) 4 juillet 2022 à 19:42 (UTC)
=== Bogue de la section Stratégie ===
Bonjour,
Je viens encore signaler un bogue de votre gadget. C’est que lorsqu’une section comportant le modèle Générations n’est pas remplacée lors du changement de génération, alors les évènements <code>click</code> s’accumulent sur les liens pour changer de génération. Je crois que ça n’arrive que pour les sections Stratégie.
Par exemple, allez à la section Stratégie de la page [[Celebi#Stratégie|Celebi]], et changez plusieurs fois de génération à l’aide du modèle qui se trouve à côté du titre de cette section, en ne choisissant que des générations précédant la n° 6 (pour lesquelles il n’y a pas de section Stratégie). Vous verrez dans l’onglet Réseau des outils de développement de votre navigateur web (qu’il faut avoir ouverts au préalable, en appuyant par exemple sur F12) que les chargements de la page « api.php » s’accumulent. Changez ainsi de génération une dizaine de fois (toujours dans la section Stratégie entre les générations 1 à 5) et vous verrez que ça va ramer. Certes, c’est pas quelque chose que les gens vont expérimenter souvent, mais ça reste un bogue.
Pour corriger ce bogue, je propose de remplacer la première occurrence de la ligne (en fait, c’est même la seule occurrence, puisque l’autre n’a pas autant d’indentation et n’a pas d’espace après le <code>a</code>) :
<pre>
$( '.permuter a ').click( function( e ) {
</pre>
par :
<pre>
$( '.permuter a').off('click').click( function( e ) {
</pre>
Cela dit, selon moi, le bogue est plutôt que la section Stratégie reste affichée alors qu’elle n’est pas dans la génération sélectionnée. Pourquoi laisser arbitrairement affichée la section Stratégie de la dernière génération sélectionnée qui en comporte ? Mais j’ai pas encore analysé suffisamment le code de votre gadget pour savoir comment modifier ça (franchement, il est mal codé, votre truc).
[[Utilisateur:Frigory|Frigory]] ([[Discussion utilisateur:Frigory|discussion]]) 21 juillet 2022 à 14:53 (UTC)
En passant, j’en profite pour signaler un autre bogue (apparemment sans importance), c’est que les numéros des classes <code>toclevel-*</code> sont mal calculés, il manque un <code>- 1</code>. Ainsi, il faut remplacer :
<pre>
parent.find( '> ul' ).append( '<li class="toclevel-' + headings[i].level + ' tocsection-' + i + '"><a href="#' + headings[i].link + '"><span class="tocnumber">' + headings[i].number + '</span> <span class="toctext">' + headings[i].name + '</span></a></li>' );
</pre>
par :
<pre>
parent.find( '> ul' ).append( '<li class="toclevel-' + (headings[i].level - 1) + ' tocsection-' + i + '"><a href="#' + headings[i].link + '"><span class="tocnumber">' + headings[i].number + '</span> <span class="toctext">' + headings[i].name + '</span></a></li>' );
</pre>
[[Utilisateur:Frigory|Frigory]] ([[Discussion utilisateur:Frigory|discussion]]) 21 juillet 2022 à 14:53 (UTC)

Version du 21 juillet 2022 à 14:53

Vote

Ce vote va décider si le gadget va devenir activé par défaut, auquel cas tout le monde sera affecté par celui-ci, ou s'il restera désactivé par défaut comme aujourd'hui.
Début du vote : 29 avril 2017
Fin du vote : 14 mai 2017, soit deux semaines après.

Pour

Contre

Neutre

Résultat

Une grande majorité de vote pour et un seul neutre, proposition acceptée, le gadget est dès maintenant activé par défaut !
--XFusio (discussion) 14 mai 2017 à 19:41 (UTC)

Remarques

Si vous avez une remarque, c'est l'endroit idéal pour en parler !

Problèmes

Cette section sert à parler des bugs du gadget.

MediaWiki:Common.js inactif sur les infos ajoutées

Les infos ajoutées par le gadget ne sont pas affectées par MediaWiki:Common.js. Autrement dit, les "HeadAnchors", les tableaux enroulables et les boutons afficher-masquer ne fonctionnent plus une fois chargés sur la page principale d'un Pokémon.
J'imagine qu'il suffit de recharger MediaWiki:Common.js à la fin du gadget pour corriger cela, mais ce n'est pas très optimal, donc en recherche d'une meilleure solution pour l'instant.
--X-Fusion (discussion) 29 avril 2017 à 21:11 (UTC)

Corrigé. --XFusio (discussion) 16 mai 2017 à 16:02 (UTC)

L'activation de l'éditeur visuel rend le sommaire moche quand on change de génération

Bonjour,

J'ai activé l'éditeur visuel (c'est dans l'onglet Modification de Spécial:Préférences : décocher « Désactiver temporairement l’éditeur visuel tant qu’il est en version bêta »), et du coup, quand je change de génération, ou que je recharge la page et qu'une autre génération que les deux dernières est sélectionnée, j'ai des « [modifier | modifier le wikicode] » à la fin de chaque titre de section dans le sommaire. C'est très moche.

Je vois très bien le problème dans le code, c'est la ligne (vers le début) :

headings[i].name = $( headings[i] ).text().replace( "[modifier]", "" );

Ce n'est pas correct, il faut plutôt écrire :

headings[i].name = $( headings[i] ).find( '> .mw-headline' ).text();

Malheureusement, je n'ai pas les droits pour modifier moi-même.

Frigory (discussion) 4 juillet 2022 à 00:31 (UTC)

Ça a l'air de fonctionner de mon côté. Merci pour ton message ! --Matt.(discuter) 4 juillet 2022 à 08:22 (UTC)
Eh bien, quelle réactivité ! Merci ! — Frigory (discussion) 4 juillet 2022 à 19:42 (UTC)

Bogue de la section Stratégie

Bonjour,

Je viens encore signaler un bogue de votre gadget. C’est que lorsqu’une section comportant le modèle Générations n’est pas remplacée lors du changement de génération, alors les évènements click s’accumulent sur les liens pour changer de génération. Je crois que ça n’arrive que pour les sections Stratégie.

Par exemple, allez à la section Stratégie de la page Celebi, et changez plusieurs fois de génération à l’aide du modèle qui se trouve à côté du titre de cette section, en ne choisissant que des générations précédant la n° 6 (pour lesquelles il n’y a pas de section Stratégie). Vous verrez dans l’onglet Réseau des outils de développement de votre navigateur web (qu’il faut avoir ouverts au préalable, en appuyant par exemple sur F12) que les chargements de la page « api.php » s’accumulent. Changez ainsi de génération une dizaine de fois (toujours dans la section Stratégie entre les générations 1 à 5) et vous verrez que ça va ramer. Certes, c’est pas quelque chose que les gens vont expérimenter souvent, mais ça reste un bogue.

Pour corriger ce bogue, je propose de remplacer la première occurrence de la ligne (en fait, c’est même la seule occurrence, puisque l’autre n’a pas autant d’indentation et n’a pas d’espace après le a) :

				$( '.permuter a ').click( function( e ) {

par :

				$( '.permuter a').off('click').click( function( e ) {

Cela dit, selon moi, le bogue est plutôt que la section Stratégie reste affichée alors qu’elle n’est pas dans la génération sélectionnée. Pourquoi laisser arbitrairement affichée la section Stratégie de la dernière génération sélectionnée qui en comporte ? Mais j’ai pas encore analysé suffisamment le code de votre gadget pour savoir comment modifier ça (franchement, il est mal codé, votre truc).

Frigory (discussion) 21 juillet 2022 à 14:53 (UTC)

En passant, j’en profite pour signaler un autre bogue (apparemment sans importance), c’est que les numéros des classes toclevel-* sont mal calculés, il manque un - 1. Ainsi, il faut remplacer :

						parent.find( '> ul' ).append( '<li class="toclevel-' + headings[i].level + ' tocsection-' + i + '"><a href="#' + headings[i].link + '"><span class="tocnumber">' + headings[i].number + '</span> <span class="toctext">' + headings[i].name + '</span></a></li>' );

par :

						parent.find( '> ul' ).append( '<li class="toclevel-' + (headings[i].level - 1) + ' tocsection-' + i + '"><a href="#' + headings[i].link + '"><span class="tocnumber">' + headings[i].number + '</span> <span class="toctext">' + headings[i].name + '</span></a></li>' );

Frigory (discussion) 21 juillet 2022 à 14:53 (UTC)