Demande de fonctionnalité : Ajouter une option pour désactiver le saut automatique au dernier message après une réponse

Bonjour à tous,

J’ai récemment passé du temps à parcourir d’anciens sujets et discussions sur Meta et d’autres forums basés sur Discourse, et j’ai constaté que de nombreux utilisateurs au fil des ans ont soulevé la même préoccupation à plusieurs reprises :

Après avoir publié une réponse ou fermé l’éditeur, Discourse saute automatiquement au tout dernier message du sujet.

Pour un bon nombre de personnes — moi y compris — ce comportement est en réalité plus perturbateur qu’utile.

Pourquoi cela pose problème

D’après ce que de nombreux utilisateurs ont exprimé, les problèmes courants incluent :

  • Lorsque vous répondez au milieu d’un fil de discussion long, l’éditeur se ferme et la vue saute soudainement en bas, vous obligeant à faire défiler tout le chemin du retour pour continuer à lire là où vous vous étiez arrêté.

  • Si vous répondez en rattrapant des messages plus anciens, ce saut automatique rompt le flux de lecture.

  • Certains utilisateurs ont même pensé qu’il pourrait s’agir d’un bug, car le saut se produit si rapidement qu’il semble inattendu et contre-intuitif.

  • Plusieurs discussions passées indiquent que des gens ont essayé des solutions de contournement, des scripts ou des piratages, mais rien ne fonctionne de manière fiable ou officielle.

En bref, bien que le saut automatique vers le message le plus récent soit utile pour certains utilisateurs, il est clairement indésirable pour beaucoup d’autres en fonction de leurs habitudes de lecture ou de leur flux de travail.

Demande de fonctionnalité : Veuillez rendre ce comportement optionnel

Après avoir examiné les fils de discussion précédents, il semble que :

  • Il n’y ait aucun paramètre intégré pour désactiver ce saut automatique

  • Il n’y ait aucun plugin officiel qui fournisse un interrupteur

  • Les administrateurs et les utilisateurs ne peuvent actuellement pas contrôler ce comportement du tout

Je voudrais donc demander à Discourse de fournir soit :

Une préférence utilisateur, telle que :

« Après avoir publié ou fermé l’éditeur, rester à la position actuelle (ne pas sauter au dernier message). »

ou

Un paramètre global/administrateur, tel que :

« Activer/désactiver le défilement automatique vers le dernier message après les réponses. »

Cela permettrait à différentes communautés (et utilisateurs individuels) de choisir le modèle d’interaction qui correspond le mieux à leur style de lecture. Cela s’aligne également sur la philosophie de conception de Discourse, qui permet généralement la personnalisation des comportements de flux de lecture.

Pourquoi une option bénéficierait à tous

  • Les utilisateurs qui aiment le saut automatique peuvent le conserver tel quel

  • Les utilisateurs qui ne l’aiment pas peuvent le désactiver

  • Les administrateurs de forum peuvent définir des valeurs par défaut qui correspondent aux besoins de leur communauté

  • Personne n’aurait besoin de s’appuyer sur du JavaScript personnalisé fragile ou des scripts utilisateur de navigateur

  • Cela améliore l’accessibilité et réduit les mouvements soudains qui peuvent être inconfortables pour certains lecteurs

Étant donné le nombre de personnes qui ont soulevé ce problème au fil des ans, l’ajout d’une option configurable pourrait améliorer considérablement l’expérience utilisateur pour une grande partie de la communauté.

Si j’ai manqué un paramètre ou un plugin existant, n’hésitez pas à m’y indiquer — mais d’après ce que j’ai trouvé, il ne semble pas qu’une telle option existe actuellement.

Merci d’y avoir réfléchi, et j’apprécierais vraiment tout éclairage de la part de l’équipe ou d’autres développeurs de plugins.

1 « J'aime »

Ne serait-ce pas déroutant pour vous de publier quelque chose et de vous retrouver des dizaines de messages au-dessus de votre publication sans aucune indication que vous avez posté ? Pourquoi ne pas simplement continuer à lire afin de pouvoir commenter le reste des messages si vous le souhaitez ?

2 « J'aime »

Merci pour l’explication ! Laissez-moi clarifier mon cas d’utilisation réel, car le comportement actuel crée toujours un vrai problème pour moi.

Imaginez ce scénario :
Je lance un fil de discussion, je vais me coucher, et le lendemain je me réveille pour trouver plus d’une centaine de réponses. Beaucoup d’entre elles sont intéressantes, et je veux répondre à certaines d’entre elles tout en lisant le fil.

Voici le problème :

Lorsque je lis une réponse quelque part au milieu du sujet et que j’y réponds, après avoir envoyé ma réponse, Discourse saute immédiatement tout en bas du sujet.
Mais la conversation n’est pas en temps réel — les gens pourraient ne pas répondre à nouveau avant des heures. Je n’ai pas besoin d’être dirigé vers le dernier message. Je veux juste continuer à lire le reste des réponses dans l’ordre.

Ce dont j’ai vraiment besoin, c’est simplement :

  • Une indication claire que ma réponse a été publiée avec succès

  • Sans perdre ma position de lecture actuelle

  • Afin que je puisse continuer naturellement à lire les réponses suivantes dans l’ordre

Actuellement, après le saut automatique forcé, je dois revenir en arrière manuellement et essayer de me souvenir où j’étais, ce qui est fastidieux et interrompt le flux de lecture.

C’est pourquoi une option pour rester à la position de défilement actuelle après la publication serait extrêmement utile.
Le saut automatique est utile pour certains flux de travail, mais dans des cas comme le mien, il gêne tout simplement.

Il y a des milliers et des milliers de mots à ce sujet sur Will disable_jump_reply make a return? et les sujets connexes.

TL;DR Vous pouvez maintenir Maj enfoncée lors de la publication pour empêcher le défilement.

1 « J'aime »

Merci pour l’astuce ! Je ne connaissais pas le comportement Maj + Répondre — cela aide effectivement dans certaines situations.

Ceci dit, j’ai toujours l’impression que cela bénéficierait grandement d’un paramètre ou d’une préférence utilisateur appropriée. Utiliser une touche de modification à chaque fois n’est pas très facile à découvrir, et il est facile d’oublier, surtout pour les utilisateurs moins techniques qui pourraient même ignorer l’existence de tels raccourcis.

L’une des choses que j’apprécie vraiment dans Discourse est le haut degré de liberté qu’il offre déjà — les utilisateurs peuvent personnaliser de nombreux aspects de la manière dont ils lisent, naviguent et interagissent. À mon avis, c’est précisément cette liberté qui fait de Discourse une plateforme formidable. Avec ce comportement spécifique, ce serait merveilleux si les utilisateurs pouvaient simplement choisir leur préférence par défaut :

  • sauter automatiquement au dernier message après avoir répondu, ou

  • rester à la position actuelle et continuer la lecture

Avoir une valeur par défaut claire en plus de la possibilité de l’ajuster rendrait le comportement plus intuitif et plus accessible. Par exemple, dans mes propres habitudes de navigation, j’ai tendance à ouvrir la plupart des sujets depuis la page d’accueil dans de nouveaux onglets car les ordinateurs modernes disposent de beaucoup de mémoire et fermer des onglets est souvent plus rapide et plus pratique que de naviguer d’avant en arrière. Ce n’est qu’un exemple de la façon dont différents utilisateurs valorisent différents flux de travail.

Ma philosophie générale est donc : plus il y a de choix pour l’utilisateur, mieux c’est.
Si une fonctionnalité présente plusieurs comportements raisonnables, laisser l’utilisateur décider — plutôt que de forcer tout le monde dans une seule voie — conduit généralement à une meilleure expérience pour tous. Cela signifie également que les utilisateurs comme moi n’auraient pas besoin de créer de petits scripts ou plugins juste pour restaurer un flux de travail qui leur semble naturel.

Merci encore pour la réponse utile, et j’espère que cela pourrait toujours être considéré comme un paramètre optionnel potentiel à l’avenir.

1 « J'aime »

Veuillez lire Will disable_jump_reply make a return?. C’était une préférence utilisateur et elle a été supprimée.

2 « J'aime »

:heart: Merci pour l’indication — j’ai maintenant lu l’intégralité du sujet « Will disable_jump_reply make a return? » (La préférence disable_jump_reply fera-t-elle son retour ?).

Je comprends le raisonnement derrière la suppression de l’ancienne préférence disable_jump_reply : elle était cassée à l’époque, très peu de gens l’utilisaient, et Discourse essaie généralement d’éviter d’accumuler de nombreuses préférences utilisateur globales. Je vois également la philosophie de conception que vous avez décrite : utiliser le saut automatique comme moyen d’encourager les gens à lire l’intégralité du sujet avant de répondre, avec des flux de travail plus « experts » cachés derrière des touches de modification ou des options avancées.

Le raccourci Maj + Répondre aide certainement dans certains cas, et j’apprécie que vous l’ayez mentionné. Le problème pour moi est que :

  • il n’est pas du tout découvrable à moins d’avoir lu ce sujet spécifique sur Meta ou que quelqu’un vous le dise,
  • il ajoute une surcharge mentale pour se souvenir d’une touche spéciale à chaque fois, et
  • lorsque vous rattrapez votre lecture de longs sujets sur plusieurs forums Discourse, être tiré de centaines de messages plus loin de l’endroit où vous lisiez ressemble toujours à une « punition » assez lourde pour une simple réponse.

L’une des choses que j’apprécie personnellement dans Discourse est précisément sa flexibilité : en tant qu’administrateur ou utilisateur, vous pouvez ajuster beaucoup de détails pour correspondre à vos propres habitudes de lecture et de navigation. De ce point de vue, cela ressemble à un domaine où une petite quantité de configurabilité supplémentaire pourrait faire une grande différence, sans transformer l’interface utilisateur en un mur d’options.

Par exemple, l’une des options suivantes serait déjà une grande amélioration :

  • Une option visible « répondre sans sauter » dans l’interface utilisateur (même si elle est considérée comme une action avancée/experte),
  • Ou un interrupteur au niveau de l’utilisateur/du site caché derrière une section « avancé », afin que les personnes qui se soucient vraiment de ce comportement puissent désactiver le saut une fois pour toutes, au lieu de dépendre d’un raccourci caché pour toujours.

Je comprends tout à fait la préoccupation concernant le nombre excessif de préférences, et je ne demande pas à ce que tous les paramètres obscurs soient ramenés. Je voulais juste partager le point de vue de quelqu’un qui passe beaucoup de temps à répondre tout en lisant des messages plus anciens : pour ce comportement particulier, le coût de l’absence d’un choix clair et découvrable semble plus élevé que pour de nombreuses autres préférences.

Dans tous les cas, merci encore pour l’explication et l’astuce Maj — il est très utile de connaître le contexte, même si j’espère toujours que cela pourrait être reconsidéré comme une sorte de paramètre optionnel ou « expert » à l’avenir.

1 « J'aime »

Merci encore — et il est intéressant de noter que lorsque j’ai posé la même question sur quelques autres forums basés sur Discourse, plusieurs utilisateurs ignoraient également que maintenir Shift empêchait le saut. C’est donc clairement un comportement peu facile à découvrir.

Du bon côté, maintenant que je connais le mécanisme de Shift, écrire un petit plugin ou composant de thème demain devrait être assez simple. Cela me donne en fait une approche d’implémentation plus propre, car je n’aurai pas besoin de dépendre d’observateurs de mutation DOM lourds pour contrer le défilement automatique — je peux me connecter à la même logique à la place.

Enfin, j’apprécie l’information. Même si cela reste un comportement réservé aux “experts”, je suis content de comprendre enfin le mécanisme sous-jacent suffisamment bien pour l’étendre correctement.

2 « J'aime »