async parsing + tex caching

This commit is contained in:
2026-08-26 02:06:10 +02:00
parent e18875a752
commit 3946541f87
32 changed files with 2730 additions and 489 deletions
+8 -1
View File
@@ -2,6 +2,8 @@
#include "session.hpp"
#include <algorithm>
namespace ZShell::llm {
ChatMessageModel::ChatMessageModel(ChatSession* session, QObject* parent)
@@ -98,7 +100,12 @@ void ChatMessageModel::clear() {
void ChatMessageModel::loadMessages(QList<ChatMessage*> messages) {
beginResetModel();
qDeleteAll(m_messages);
// The new list may share rows with the current one (live rows kept
// in front of fetched rows); delete only what is truly gone.
for (ChatMessage* message : m_messages)
if (std::find(messages.begin(), messages.end(), message)
== messages.end())
delete message;
m_messages = std::move(messages);
endResetModel();