v0.13.1
feder-cr/AIHawkv0.13.1Sep 7, 2026by feder-cr
AI Summary
Fixed a critical UI bug where reloading the interface during an active run resulted in an infinite transcript replay and a missing stop button. The issue was caused by the `busy` state being hidden from history, leaving new listeners unaware that the run was still in progress.
Key Highlights
- Fixed an infinite replay loop when reloading a page during an active run, which also restored the missing stop button.
- Ensured new listeners are explicitly notified when a run is 'in flight' to prevent the UI from getting stuck in an idle state.
- Bounded the event stream in tests to fix hanging tests, ensuring they now complete within 3 seconds.
Full Release Notes
**Fixed.** Reloading the interface while the agent was working brought back a page that believed it was idle: the transcript replayed and then kept growing, step after step, under a composer that said nothing was happening and with no stop button. Since 0.13.0 removed the turn ceiling, that run had no other end, so the one control that could stop it was missing at exactly the moment somebody had come back to look for it. The cause was a correct rule applied one case too widely. `busy` is deliberately kept out of the replayed history, because replaying it would show a spinner for work that finished an hour ago; but nothing then told a new listener the state of the present. The history still carries no state, and a page joining a run is now told, once, that a run is in flight. Found by using the interface rather than by a test, so there are two tests now. The first of them hung under its own known-bad instead of failing, because the event stream stays open by design and an event that never comes never ends the read; it is bounded now, and gives a verdict in three seconds.