Le contenu dans les balises Details crée des espaces lors d'un saut vers le bas suivi d'un défilement vers le haut

Pour reproduire le problème sur Meta :

  1. Accédez à ce sujet : Events Plugin 📅 - #433 by bletch
  2. Ouvrez la section « Journal détaillé depuis la console Chrome » dans ce sujet.
  3. Cliquez sur la date la plus basse de la chronologie pour descendre au bas du sujet.
  4. Remontez jusqu’au message.
  5. Vous verrez un grand espace vide correspondant à la longueur du message, comme si le spoiler était ouvert.
4 « J'aime »

Cela se reproduit facilement 100 % du temps, il faut faire défiler lentement.

Cela se produit car la séquence de dissimulation/révélation dans les messages ne prend pas en compte les spoilers d’une manière ou d’une autre.

J’ajoute un pr-welcome ici ; ce serait bien de corriger cela, mais ce sera assez délicat.

@eviltrout, cela vaut peut-être la peine que tu jettes un coup d’œil rapide à cela, au cas où il y aurait quelque chose de plus grave lié à la dissimulation/révélation. Peut-être que les décorateurs de messages ne se déclenchent pas correctement sur les messages révélés ?

4 « J'aime »

Cela me semble assez simple.

Le dévoilement d’un message enregistrera sa hauteur à ce moment-là. Si vous avez développé les détails, la hauteur aura changé. Lorsque vous le dévoilez, il utilise la hauteur précédemment enregistrée, qui est désormais incorrecte.

Je pense que pour résoudre ce problème, le plugin des détails devra se souvenir de ce qui était développé et, lors du nouveau rendu du message, réappliquer l’état ouvert.

Autrement, cela semble étrange : pourquoi Discourse réduit-il les détails simplement parce qu’un message a défilé hors de vue ?

4 « J'aime »