Ouvrir sur le message le plus récent, et faire défiler vers le reste

Fixkamo-internal
Expédié
12 août 2026 à 22:47 UTC
Auteur
kamo
Commite
f4fead2

Ouvrir une longue conversation a montré le plus vieux message chargé d'abord et ensuite Il s'est rendu jusqu'au présent pendant que le membre attendait. Les deux surfaces de discussion n'a fait défilement vers le bas qu'après que la liste eut déjà peint en haut. ChatBox par rAF et rAF et setTimeout(0), TicketChat traversant setTimeout(..., 50) - donc le voyage était garanti, et plus l'histoire est longue plus tard, ça a pris. Le rouleau se produit maintenant dans un effet de mise en page, avant la peinture: première trame que l'organe voit est le message le plus récent. Un rouleau d'une seule pièce n'était pas suffisant pour y rester. Pièces jointes, avatars et les organes traduits se sont résolus après que les lignes ont d'abord rendu et cultivront le contenu sous une liste déjà roulée jusqu'à la fin, laissant le membre un peu en dessous du Le message le plus récent à chaque image qui atterrit. Un ResizeObserver re-pins pendant qu'ils sont en fait en bas, donc il ne peut jamais se battre contre quelqu'un qui lise plus haut. Au-delà de cela, aucune des deux ne se retrouvait en arrière : l'histoire était une page des plus 100 messages récents et tout ce qui n'était pas accessible. Les deux pages maintenant vers le haut, le lecteur s'approche du haut, s'accrochant sur la hauteur delta de sorte que Le bloc prédépensé ne les traîne pas à travers ce qu'ils lisaient. Le membre le chat passe par le nouveau chargementOlder() de chat-core; le chat sur les billets, qui est propriétaire de son pose, pages sur apiRowCount et jamais messages.dif.d.dif. Un envoi optimiste pousserait alors le décalage au-delà d'un message réel. Le défilement en douceur est conservé pour exactement un cas: un message arrivant pendant le Un organe suit déjà le fond. C'est la seule fois qu'il décrit quelque chose plutôt que de le retarder.

Tous les changements

Comme ce que tu vois expédier ?

Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.

Commencez gratuitement pour toujoursPrix de visualisation