bmersereau puts a 3-minute leash on stalled chat streams

When the model hangs, the connection now dies cleanly instead of dangling forever.

chat-uiinfrastructure

Under load, bmersereau's fork was hitting a familiar failure: the chat backend would call out to the LLM provider, the provider would stall, and the open streaming connection would just sit there - eating resources and leaving the user staring at a frozen reply. Four separate bug reports traced back to the same symptom.

The fix is small and uniform. Both chat endpoints - the general one and the project-scoped one - now race the model call against a 180-second deadline. If the deadline wins, the user gets a structured timeout error and the connection closes properly. The team also added tests that assert the timeout pattern is actually present in both routes, so it can't silently drift away in a future refactor.

So what Anyone running Mike in production should care: this is the kind of unglamorous reliability work that decides whether a legal-AI tool feels trustworthy or flaky on a busy afternoon.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?