Skip to content

v0.1.4

Choose a tag to compare

@github-actions github-actions released this 06 Jun 22:45
· 582 commits to main since this release

Fixed

  • πŸ”„ Chat streaming no longer drops final content. Fixed a race where the done socket event arrived before the DB commit, causing a transient blank message. The streamed content now stays visible until the reload confirms it.
  • πŸ”„ Unflushed text no longer lost at end of chat responses. The final text buffer is now properly flushed and emitted before marking a message as done, across all exit paths (normal completion, cancellation, and errors).
  • πŸ”„ Intermediate chat state persisted during tool loops. Content and output items are now saved to the database between tool call iterations, so progress survives crashes or disconnects.
  • 🧹 In-memory task state cleaned up on completion. The _task_state dict entry is now removed when a chat task finishes (done, cancelled, errored, or max iterations), preventing unbounded memory growth.
  • πŸ“± Sidebar stays closed on mobile. The sidebar default breakpoint was raised to 1024px and an auto-close listener now collapses it whenever the viewport shrinks below 768px.
  • πŸ”„ Stale chat loads discarded. Rapid chat switches no longer apply data from a slow earlier load, fixing a race condition that could show the wrong conversation.

Changed

  • ⚑ All blocking filesystem I/O offloaded to threads. File reads, writes, directory walks, search, archive creation, uploads, renames, and deletions in the workspace and tool routers now run via asyncio.to_thread(), preventing event-loop stalls under heavy file operations.
  • ⚑ Port scanner made fully async. Platform-specific port scanning (Darwin lsof, Linux /proc, Windows netstat) and PID-to-process lookups now use asyncio.create_subprocess_exec or asyncio.to_thread instead of blocking subprocess.run.
  • ⚑ Welcome endpoint system info collected off the event loop. The /welcome handler now gathers hostname, memory, disk, CPU, network, and process data in a background thread.