Pimp my Numerama avec des userscripts đŸ’«

numeramhack
userscript
Tags: #<Tag:0x00007f92117b57c8> #<Tag:0x00007f92117b5688>

#41

SignalĂ© depuis l’ouverture de cette version du site il y a plus d’un an



#42

C'est ce quon doit appelé le web 2.0
Par contre, sur mon ordinateur, le site marche trĂšs bien

Un peu lent peut ĂȘtre, parce 12.000 lignes de code HTML pour afficher une page de texte, ça rame un peu sur un 6502 Ă  1 MHz, mais on y arrive.

Sans mĂȘme compter les CSS et images, le pur code HTML fait 656 Ko, soit 20 fois la capacitĂ© de la RAM de ce PET.


#43

MĂȘme avec le bookmarklet en 1 je ne vois pas les premiĂšres lignes. Je n’arrive pas Ă  savoir si c’est dĂ» Ă  notre version maintenant bien obsolĂšte de plusieurs mois ou autre chose :confused:.

Le navigateur de cette capture est Firefox sous Android.

Plusieurs discussions parlent de problĂšmes plus ou moins similaires mais elles datent de 2015 et devraient ĂȘtre incluses dans notre installation Discourse (les diffĂ©rentes captures ne correspondent pas Ă  ce que je vois en forçant l’apparence originale du forum).




#44

Je pensais que c'était une blague ou une exagération alors j'ai vérifié et en fait il y en avait 12 449 ^^.


#45

656 Ko de code HTML (sans compter les CSS et les images) pour afficher environ 4 Ko de texte.
Soit grosso modo 150 octets pour afficher 1 seul caractĂšre.

Sur les mobiles, non seulement ça s'affiche mal, mais en plus ça s'affiche lentement.


#47

Nouvelle version de Discourse Vanilla v2.0, on utilise désormais Safe Mode pour ne plus subir la CSS qui mange plus de 50 % de la largeur de la page, l'astuce du ?preview-style= ne fonctionnant plus avec les mises à jour récentes. Certaines propriétés ne sont pas remises à zéro (on a perdu en largeur et le fond de la page est gris), je modifierai ça bientÎt mais en tout cas c'est plus facile à faire sur des bases plus saines.

Bookmarklet correspondant :

javascript:(function()%7Bvar%20append%20%3D%20%22safe_mode%3Dno_custom%252Conly_official%22%3Bif%20(location.toString().indexOf(append)%20%3C%200)%20%7Bif%20(location.toString().indexOf(%22%3F%22)%20%3E%20-1)%20%7Bappend%20%3D%20%22%26%22%20%2B%20append%3B%7D%20else%20%7Bappend%20%3D%20%22%3F%22%20%2B%20append%3B%7Dlocation.replace(location%20%2B%20append)%3B%7D%7D)()

#48

À la demande gĂ©nĂ©rale de @johndo1, voici un userscript redirigeant vers les pages avec Javascript dĂ©sactivĂ© sur le Discourse de Numerama : https://code.numeramhack.fr/userscripts/numerama-discourse-no-js.user.js :partyparrot:


#49

\o/



(merci :slight_smile:)


#50

Follow-up du message de @T82135 : c'est cette remontée d'erreur là chez Greasemonkey, que les développeurs ne comptent pas corriger vu que ça ne pourra plus arriver avec la nouvelle version de l'addon sur laquelle ils travaillent.
Ce sera corrigé demain dans les deux scripts.


Numerama Discourse Vanilla corrigé en 2.2, Purity avait déjà le correctif fortuitement.


#51

Merci pour la mise Ă  jour !


#52

Nouvelle version de Purity v1.14.4 :

  • ajout d'un lien cliquable en bas de page intitulĂ© "Numerama Purity configuration ×" juste au niveau du lien vers les mentions lĂ©gales, afin de permettre aux utilisateurs de Firefox sous Android avec Tampermonkey de pouvoir accĂ©der au menu de configuration alors que GM_registerMenuCommand n'est pas fonctionnel (rĂ©solu avec Firefox 57 normalement).
  • dans l'interface pour signaler une erreur dans un article, tout le texte est cliquable maintenant, notamment les titres <h2> (merci Ă  @Guss de m'avoir rappelĂ© ce problĂšme irritant dans ce message).

#53

Nouvelle version de Purity v1.15.0 pour gĂ©rer cette mise en prod’ pour avoir le lien direct vers les commentaires (sans passer par #commentaires).
Dans la foulĂ©e, une v1.15.1 pour corriger le script sur les pages de report d’erreurs dans le texte d’un article et aussi rendre sĂ©lectionnables les sous-titres <h3>.


#54

Je signale qu'avec Firefox 57 (GNU/Linux), le script Discourse Vanilla fonctionne avec Tampermonkey mais pas avec GreaseMonkey.


#55

Merci du retour, il s’agit de ce changement https://www.greasespot.net/2017/09/greasemonkey-4-for-script-authors.html

Le problĂšme c’est que Greasemonkey a dĂ©cidĂ© de casser tous les scripts existants (sauf ceux avec // @grant none, la belle affaire), on se repose notamment sur GM_config pour avoir un menu pratique Ă  utiliser qui lui-mĂȘme utilise des // @grant GM_* de GreaseMonkey v3. Le polyfill qu’ils proposent implique quand mĂȘme de modifier tous les appels Ă  GM.* en asynchrone


L’alternative viable c’est ViolentMonkey oĂč les scripts fonctionnent sans modification sans dĂ©gradation de fonctionnalitĂ©.

Si tu souhaites rester avec GreaseMonkey v4 tu peux installer cette version spĂ©ciale qui ne fait que rediriger vers safe_mode=no_custom%2Conly_official et rajoute la CSS pour cacher le bloc d’avertissement vis-Ă -vis du “mode sans Ă©chec” de Discourse, sans aucune option personnalisable et redirection vers HTTPS. Ça Ă©crasera la prĂ©cĂ©dente version.


#56

Merci pour les précisions.
ViolentMonkey est un fork de GreaseMonkey ?

Pour ceux qui ne connaissent pas, TamperMonkey est sous une licence un peu spéciale, non libre. GreaseMonkey et ViolentMonkey sont sous licence MIT/X11.

Je passe Ă  ViolentMonkey du coup.


#57

Il ne me semble pas que ViolentMonkey ait jamais Ă©tĂ© basĂ© sur GreaseMonkey (premier commit), mais il implĂ©mente les mĂȘmes API que GreaseMonkey v3. Pour migrer de l’un vers l’autre il s’agit de faire un zip et de l’importer dans les prĂ©fĂ©rences : https://github.com/violentmonkey/violentmonkey/issues/115


#58

Nouvelle version de Purity v15.1.2, avec diffĂ©rentes amĂ©liorations pour le signalement d’erreurs dans les articles :

  • meilleure gestion du clic sur le bouton PrĂ©cĂ©dent pour rendre sĂ©lectionnables plus d’élĂ©ments aprĂšs avoir soumis le formulaire une premiĂšre fois notamment, meilleure gestion de la dĂ©tection de changement d’étape
  • aprĂšs envoi d’un message, le menu retourne Ă  l’étape 1 de sĂ©lection des paragraphes aprĂšs un dĂ©lai de 5 secondes
  • quelques optimisations (minimum de requĂȘtes pour avoir l’email correspondant au compte authentifiĂ© sur Discourse)

Et puis une v15.1.3 pour corriger un vieux bug sur l’affichage du nombre de notifications depuis une mise à jour du Discourse.


#59

Nouvelle version de Discourse Vanilla v2.3 :


#60

“shittytitles” :joy:
Merci pour le boulot :+1:


#61

Nouvelle version de Discourse Vanilla v2.4 :

  • le titre d'une page avec un "Commentaires : " Ă  la con © n'est plus remis avec cet ajout de merde quand elle perd le focus (visible avec Ctrl+Tab)
  • on prend en charge le changement de titre Discourse en cas de notification (titre commençant par (1)) pour continuer Ă  supprimer les "Commentaires : ", sans perdre le (1) en dĂ©but de titre pour autant
  • on ne se base plus sur une vieille API JS de Discourse en fin de vie pour dĂ©tecter le changement de page (via le changement de titre de la page maintenant)
  • un peu de factorisation et d'optimisation du code
  • on corrige aussi dĂ©sormais le chemin d'un sujet avec "Commentaires : " Ă  la con dans l'URL
    • il n'y a pas de moyen de dĂ©tecter un changement d'URL via history.pushState (popstate n'a lieu qu'avec les boutons PrĂ©cĂ©dent/Suivant de l'historique) donc on on vĂ©rifie (et Ă©ventuellement remplace) l'URL (avec history.replaceState, afin d'Ă©craser l'entrĂ©e actuelle de l'historique) de façon agressive toutes les 100 ms. Ce serait Ă  amĂ©liorer puisque c'est un peu disgracieux (durant le scroll de sujets longs, pour reflĂ©ter l'endroit dans lequel on est dans le sujet, Discourse appelle replaceState() — lui aussi :wink: — rĂ©guliĂšrement pour afficher une nouvelle URL vers un message donnĂ©, avec commentaires- dans le chemin, ce qui est ensuite annulĂ© dans les 100 ms, mais ça reste visible Ă  l'Ɠil) et mĂȘme si j'ai fait en sorte de ne pas utiliser d'expression rĂ©guliĂšre plus gourmande, j'ai l'impression que les performances s'en ressentent un peu. Peut-ĂȘtre que ce sera supprimĂ© dans une prochaine version donc.