From a241128e5a70cb75df9b7846f34f725ea84e4eeb Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Fri, 21 Aug 2026 22:54:09 +0200 Subject: fix: store per-turn token sums so searched turns price every round A searched turn makes one API call per search round and all of them are billed, but prompt_tokens/completion_tokens held only the last round's counts, so a searched turn under-reported its cost. The columns now hold the sum across rounds; usage_json keeps each round's raw usage block as a JSON array for external consumers to verify against. A single-round turn stores the same numbers as before. --- CHANGELOG.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'CHANGELOG.md') diff --git a/CHANGELOG.md b/CHANGELOG.md index 34314f8..2a503a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -41,9 +41,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 as a JSON array (a searched turn makes one API call per search round, and all of them are billed, so all of them survive) for external consumers such as the cost dashboard's ingester; and `reported_cost_usd` stores the - GUI's hand-entered-price estimate for the reply, summed across rounds, as - a sanity check only, staying NULL for an unpriced model rather than - claiming it cost nothing. + GUI's hand-entered-price estimate for the reply as a sanity check only, + staying NULL for an unpriced model rather than claiming it cost nothing. + `prompt_tokens` and `completion_tokens` are now the turn's totals summed + across rounds rather than the last round's counts, so a searched turn is + priced for every API call it made. - Per-provider `thinking_budget` option, for endpoints (currently SiliconFlow) that cap chain-of-thought tokens separately from the final answer. Unset providers skip the key entirely so other endpoints do not receive an unknown @@ -56,6 +58,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - On-demand diagnostic log. Setting `LLAMACHAT_DEBUG_LOG` to a path appends timestamped provider-error records (status, request body, full response) to that file; unset, it writes nothing, so a normal launch never grows a log. +- A dismiss (✕) button on status-line messages. They previously stayed until + some later action replaced them; any status message can now be cleared + without waiting. ### Fixed -- cgit v1.2.3