Une conversation rouverte est celle que vous aviez

Fixkamo-internal
Expédié
2 septembre 2026 à 08:48 UTC
Auteur
Kamo
Commite
83e30bc

Un membre a commencé une discussion sur les articles de KB, minimisé son hexagone. Ils sont allés à leur courrier et ont ramené la fenêtre à une conversation blanche. "avoir à recommencer". Rien n'a été perdu: à la fois les questions et les deux réponses ont été dans des messages de l'accord de temps en tout, et aucune nouvelle session n'a jamais été créé, qui est le tell. La fenêtre est revenue pointant à droite Conversation et ne pouvait pas le lire. AiChatController.getMessages répond avec une enveloppe Les messages, totaux, hasPlus, le plus ancien, la plus ancienne, la plus récente, la plus récente rangées. Cela le lit comme un AiChatMessage nue. « data.length » sur un objet est indéfini, n'est pas une fonction, et les prises avalées la TypeError: la liste est restée vide, "initialLoaded" n'a jamais été retournée, et le panneau n'a rien rendu du tout - pas de transcription, pas de conversation à vide panneau, pas d'erreur. Une fenêtre vide sur une transcription qui était parfaitement sûre. Il s'est caché aussi longtemps qu'il l'a fait parce qu'une fenêtre en direct ne fait jamais cet appel. Chaque message à l'écran y parvient à travers l'écho local en AiChatWebSocketContext, joint directement sur la liste des personnes conservées. Le lire uniquement les questions lorsque la transcription doit revenir du serveur: après une charge complète du document, l'instantané de la fenêtre-outil restaure la fenêtre AVEC sa garantie de session, donc pas de nouvelle ligne de session - ou une réouverture au-delà de la Reste-vivant de cinq minutes. Exactement les deux façons dont un membre atteint une fenêtre d'IA ils utilisaient déjà. Donc lisez l'enveloppe, gardez l'ordre du service au lieu d'inverser ce qui il s'est déjà inversé, et prenez « hassMore » de la réponse plutôt que le déduire d'une longueur qui n'était jamais là. La radiomessagerie va avec. getMessages déclare un paramètre « avant » et jamais Lire - chaque appel est PageRequest.of(0, limite) - donc le défilement vers le haut un deuxième exemplaire d'eux. Il n'a jamais tiré auparavant (il a besoin d'un envoi initial, ce qui n'est jamais devenu vrai), donc fixer la lecture l'aurait allumée. L'histoire plus ancienne est maintenant une page BIGGER, qui est la demande du service Les services en fait. Pas pendant qu'un envoi est en vol: une page remplace la liste, et le message du membre est un écho local jusqu'à ce que la réponse atterrit. Et une lecture ratée dit maintenant, avec un rétrécissement, au lieu de rendre le Ce qui a fait ressembler à une conversation rayée de la conversation. Ne jamais "commencer une conversation" sur un qui est assis dans la base de données - une transcription déjà à l'écran est laissé seul en cas de défaillance d'une relecture. Les deux cordes existaient déjà dans tous les 22 localités. Le garde-porte en vol passe de l'état de chargement à une réf. C'était dans la useCallback duppp alors que l'effet de charge initiale est mis en jeu sur la session seul, donc l'effet était sûr de la copie qui existait lorsque le requin arrivait.

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