fix: Cleanup accumulated text in one request

This commit is contained in:
Petr Mironychev
2025-10-10 16:45:23 +02:00
parent 84770abb20
commit ebd71daf3d
9 changed files with 41 additions and 4 deletions

View File

@ -151,6 +151,12 @@ void ClientInterface::sendMessage(
m_chatModel,
&ChatModel::updateToolResult,
Qt::UniqueConnection);
connect(
provider,
&LLMCore::Provider::continuationStarted,
this,
&ClientInterface::handleCleanAccumulatedData,
Qt::UniqueConnection);
provider->sendRequest(requestId, config.url, config.providerRequest);
}
@ -279,4 +285,10 @@ void ClientInterface::handleRequestFailed(const QString &requestId, const QStrin
m_accumulatedResponses.remove(requestId);
}
void ClientInterface::handleCleanAccumulatedData(const QString &requestId)
{
m_accumulatedResponses[requestId].clear();
LOG_MESSAGE(QString("Cleared accumulated responses for continuation request %1").arg(requestId));
}
} // namespace QodeAssist::Chat

View File

@ -56,6 +56,7 @@ private slots:
void handlePartialResponse(const QString &requestId, const QString &partialText);
void handleFullResponse(const QString &requestId, const QString &fullText);
void handleRequestFailed(const QString &requestId, const QString &error);
void handleCleanAccumulatedData(const QString &requestId);
private:
void handleLLMResponse(const QString &response, const QJsonObject &request, bool isComplete);