diff --git a/CHANGELOG.md b/CHANGELOG.md index cf5114c..dcefbf9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,29 @@ one of them changed. An entry says which artefact and which version, so `web 0.1 Every version published to a channel appears here. Nothing is written from memory afterwards: a build cannot be published without its entry. +## 2026-08-29 — The conversation list shows what is running, wherever it is running `api 0.99.0` + +**Only affects deployments running more than one copy of the api.** + +A conversation could sit in the list with no activity mark while Jarvis was, at that moment, running +a tool in it — and opening that conversation showed the real state straight away. Both views were +honest about what they asked; only one of them was asking about the whole deployment. + +The list is fed by a live stream of changes, so a browser that connects part-way through is first +sent a summary of what is already in progress. That summary was assembled from whichever replica the +browser happened to connect to, and it only knew about the runs it was executing itself. With three +replicas the list was right about a third of the time, and everybody's browser re-rolled that when a +proxy restart made them all reconnect at once. + +The summary now comes from the database, which knows about every replica's runs and already tracks +which of them are still alive. A conversation being worked on elsewhere shows as thinking until its +next update arrives — a moment later — rather than showing as idle for as long as the work lasts. + +A replica that is killed mid-run also stops appearing on its own, so nothing can leave a permanent +spinner in your list. + +**Nothing to do.** Take the build. + ## 2026-08-28 — A machine that moves between replicas lets go of the old one `api 0.98.0` **Only affects deployments running more than one copy of the api.** Nothing here changes a single-