This commit is contained in:
James O'Leary 2026-03-21 00:20:46 +01:00 committed by GitHub
commit 892d8bc41b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 9 additions and 1 deletions

View File

@ -379,7 +379,15 @@ struct server_task_result_cmpl_final : server_task_result {
virtual void update(task_result_state & state) override {
is_updated = true;
oaicompat_msg = state.update_chat_msg(content, false, oaicompat_msg_diffs);
// common_chat_parse can throw std::runtime_error when the PEG
// parser fails to match the final output (is_partial=false).
// During streaming, the same text was parsed with is_partial=true
// and succeeded. Only this final parse can throw.
try {
oaicompat_msg = state.update_chat_msg(content, false, oaicompat_msg_diffs);
} catch (const std::exception & e) {
SRV_WRN("Final chat parse failed, using last partial result: %s\n", e.what());
}
oai_resp_id = state.oai_resp_id;
oai_resp_reasoning_id = state.oai_resp_reasoning_id;