Release notes

BUGFIX

Cost estimates correctly recalculate when prices update, and web panels avoid infinite reload loops

Cost estimates now automatically track live prices, and the web panels will no longer trap themselves in infinite reload loops. Previously, if the system estimated your cost using fallback prices before the live pricelist could be fetched, it would hard-code that temporary estimate into your local usage item. Even after the real prices downloaded, it refused to recalculate, causing chronically inaccurate cost estimates (especially for sources that don't embed their own costs, like Codex); it now smartly leaves the item alone, recalculating immediately whenever fresh prices arrive. Also, if the web panel repeatedly failed to update its data (state injection, the process of feeding fresh data into the UI), it used to trap itself in an infinite reload loop; it now gives up gracefully after a few tries with the same dataset (though it still auto-recovers if the actual rendering process crashes). It's like a waiter who jotted down an estimated price in pen while waiting for the new menu to be printed, and refused to adjust your bill when the actual prices came in lower; now they use a pencil and update it instantly. And when they face a jammed drawer, they no longer yank at it endlessly until the restaurant closes.

Original changelog

Original changelogCost estimates correctly recalculate when prices update, and web panels avoid infinite reload loops
**Estimated cost now recomputes after a pricing update**: a cost computed with fallback prices was written back and cached onto usage entries, so it was never recomputed once real prices loaded — leaving cost figures persistently off (mainly for entries without a source cost, e.g. Codex). The estimate is no longer written back, so it reflects updated prices immediately.
**Web panel no longer reloads endlessly when injection keeps failing**: if state injection failed repeatedly the panel would loop reloading; reloads per payload are now capped (WebContent-process crash recovery is unaffected).