Revert "gui: fix freeze on agent switch — bulk load chat blocks"

This reverts commit a3826f2ce8.
This commit is contained in:
Levi Neely 2026-08-08 23:15:48 +02:00
parent a3826f2ce8
commit 66aecc8315
3 changed files with 3 additions and 31 deletions

View File

@ -480,29 +480,10 @@ void ChatBlockModel::appendContent(const QString &line)
last.content += '\n';
last.content += line;
if (!m_bulkLoading) {
rebuildBlockHtml(m_blocks.size() - 1);
QModelIndex idx = index(m_blocks.size() - 1);
emit dataChanged(idx, idx, {ContentRole, RenderedHtmlRole, SegmentsRole});
}
}
rebuildBlockHtml(m_blocks.size() - 1);
void ChatBlockModel::beginBulkLoad()
{
m_bulkLoading = true;
}
void ChatBlockModel::endBulkLoad()
{
m_bulkLoading = false;
// Rebuild HTML for all blocks once.
for (int i = 0; i < m_blocks.size(); ++i) {
rebuildBlockHtml(i);
}
if (!m_blocks.isEmpty()) {
emit dataChanged(index(0), index(m_blocks.size() - 1),
{ContentRole, RenderedHtmlRole, SegmentsRole});
}
QModelIndex idx = index(m_blocks.size() - 1);
emit dataChanged(idx, idx, {ContentRole, RenderedHtmlRole, SegmentsRole});
}
void ChatBlockModel::processLine(const QString &line)

View File

@ -78,8 +78,6 @@ public:
QHash<int, QByteArray> roleNames() const override;
Q_INVOKABLE void appendData(const QString &text);
Q_INVOKABLE void beginBulkLoad();
Q_INVOKABLE void endBulkLoad();
Q_INVOKABLE void reset();
Q_INVOKABLE void trimFront(int keepCount);
Q_INVOKABLE void clearDiagramCache();
@ -112,7 +110,6 @@ private:
QVariantList segmentsToVariant(const QList<BlockSegment> &segments) const;
State m_state = State::BlockStart;
bool m_bulkLoading = false;
KSyntaxHighlighting::Repository *m_repo = nullptr;
QNetworkAccessManager *m_netManager = nullptr;

View File

@ -463,10 +463,8 @@ ApplicationWindow {
if (ollie.activeAgentId) {
var log = ollie.readLogForSession(ollie.activeSessionId, ollie.activeAgentId)
if (log) {
chatModel.beginBulkLoad()
chatModel.appendData(log)
chatModel.trimFront(20)
chatModel.endBulkLoad()
}
}
ollie.refreshSessions()
@ -481,10 +479,8 @@ ApplicationWindow {
if (ollie.activeSessionId && ollie.activeAgentId) {
var log = ollie.readLogForSession(ollie.activeSessionId, ollie.activeAgentId)
if (log) {
chatModel.beginBulkLoad()
chatModel.appendData(log)
chatModel.trimFront(20)
chatModel.endBulkLoad()
}
}
}
@ -494,10 +490,8 @@ ApplicationWindow {
if (ollie.activeSessionId && ollie.activeAgentId) {
var log = ollie.readLogForSession(ollie.activeSessionId, ollie.activeAgentId)
if (log) {
chatModel.beginBulkLoad()
chatModel.appendData(log)
chatModel.trimFront(20)
chatModel.endBulkLoad()
}
}
}