Utilisateur:Od1n/Développement LiveRC
Apparence
Goulots d'étranglement
[modifier | modifier le code]lrcSetTimerElement
- lent et appelé 15 fois par seconde, minimum
- virer l'effet d'animation
- ensuite utiliser une image "d'une seule ligne", et avec largeur multiple de 10 pour éliminer problème de round
- attention : les thumbs qui nous été générées pour File:Non-flipping count background.png sont crades…
lrcSetTimer
: setTimeout 1000 + overhead + lag : des secondes peuvent sauter, réfléchir à la meilleure solution- et tout simplement, permettre de ne pas afficher ce compteur
lrcInitTableHeight
- lent en tant que tel
- appelé toutes les 200 ms, même lorsque non nécessaire
- plutôt un système de throttling ?
- un
jQuery.event.fix
hyper lent (100 ms) lorsque "click resize", pas encore trouvé l'origine - système debug qui grossit sans cesse
- pouvoir le désactiver (et même, désactivation par défaut)
- limiter la taille (gqueue, toutça)
- en plus il est difficilement utilisable en l'état (scroll de m**)
LiveRC_SetCheckListPosition
- exécuté en rafale (mouse hover au lieu de in/out)
- système de positionnement probablement améliorable
LiveRC_Config["CheckListZIndex"]++
grossit indéfiniment…
Performances démarrage
[modifier | modifier le code]- cache localStorage des moult contenus de catégories chargés à chaque démarrage
- durée du cache ?
- réfléchir à un système de cache, avec timestamp expiration, propre et avec abstraction (lscache, toutça)
Bugs
[modifier | modifier le code]rc_type categorize
non implémenté, cf. Discussion MediaWiki:Gadget-LiveRC.js#Erreurs JavaScript dues à un nouveau rc type non implémenté- ajout RCtypes "categorize":"SHOWRC_CATEGORIZE_TIP"
- ajout traductions SHOWRC_CATEGORIZE_TIP : Spécial:Index/MediaWiki:Gadget-LiveRC.js/i18n/
- il y a 2 lignes de traduction ?
- voir s'il y a déjà, sinon à implémenter : fallback "en" si pas de traduction locale
- coché ou pas par défaut ? sachant que external/wikidata est décoché par défaut (d'ailleurs faut trouver où), donc éventuellement réordonner ?
- ces lignes "changements de catégories" sont indiquées comme blanchiments (vu que taille 0)… cf. icône « gomme » tout à droite
- rechercher les 3
rc.newlen == 0
et faire le point là dessus- je pense notamment au "ShowAllBlanking"
- factorisation des déterminations "rc len 0 mais pas blanchiment" ?
- ajout d'un rc state CATEGORIZE ?
- ajout sécurités pour ne pas planter à nouveau en cas de modif API ultérieure
- par ailleurs, logique à voir : si la RC a plusieurs types, elle ne devrait pas être masquée si tous ses types ne sont pas décochés
- rapport aux !lrcHasState(state, "FLOW") etc. : 107844538
- la checkbox "RC > Modifications sur Wikidata" semble ineffective ?
- aussi un machin "lang chépplusquoi" non défini
- une catégorie qui a été renommée, cf. Utilisateur:Od1n/TODO#JavaScript
- la technique
Math.round(foobar*100)/100
peut donner de faux résultats, cf. http://www.jacklmoore.com/notes/rounding-in-javascript/
Autres améliorations
[modifier | modifier le code]- passer l'ajax en format JSON : plus simple, probablement plus performant
- lorsqu'un abusefilter est déclenché, la taille des modifications n'est pas affichée (il n'y a pas non plus le résumé de diff, les balises, etc.)
- pour faire suite à cette modif, éventuellement implémenter espaces insécables avant les deux-points ?
- 1er dans le LiveRC.js (cf. diff supra)
- 2nd dans le MediaWiki:Gadget-LiveRCSiteConfig.js ("abusefilter-edit-warn-actions")
- bien entendu, la question est de triple-check que cela n'introduit pas de problème
- panneau de config > bouton "Configuration MW" :
- confirmation avant exécution ?
- peut-être des tris à appliquer, pour éviter ceci : 126705385
- ajout fonctionnalité : filtre/checkbox utilisateurs autoconfirmed (actuellement il n'y a que autopatrolled)
- demandé sur WP:BPA#Nouvelle option pour LiveRC
Nitpicks
[modifier | modifier le code]- variable
DisableElementTimer
inutilisée dans la fonctionlrcEnableLink
(leftover copier-coller je présume, mais à confirmer)
Liens
[modifier | modifier le code]- Wikipédia:LiveRC (query strings pour les forks :
fork
–previous
) - MediaWiki:Gadget-LiveRC.js
- Utilisateur:Od1n/LiveRC.js
- Utilisateur:Od1n/LiveRC (previous).js
Snippets
[modifier | modifier le code]clearTimeout(LiveRC_Config["Timeout"]["RCRequest"]); clearTimeout(LiveRC_Config["Timeout"]["Timer"]); clearTimeout(LiveRC_Config["Timeout"]["InitTableHeight"]);