Upstream haivemind_tui.py started the engine synchronously in HaivemindApp.on_mount while MainScreen mounts asynchronously, causing ProbeStart handler to query #chat-log on the default screen (NoMatches). Move the start_run trigger into MainScreen.on_mount so it runs only once the screen is active.
29 lines
906 B
Diff
29 lines
906 B
Diff
--- a/haivemind_tui.py
|
|
+++ b/haivemind_tui.py
|
|
@@ -1195,6 +1195,14 @@
|
|
yield TheatrePanel(id="theatre-container")
|
|
yield Footer()
|
|
|
|
+ def on_mount(self) -> None:
|
|
+ app = self.app
|
|
+ if (
|
|
+ getattr(app, "_prompt", None) is not None
|
|
+ and getattr(app, "_config", None) is not None
|
|
+ ):
|
|
+ app.start_run(app._prompt, app._config)
|
|
+
|
|
|
|
class HaivemindApp(App):
|
|
CSS = CSS
|
|
@@ -1224,9 +1232,7 @@
|
|
def on_mount(self) -> None:
|
|
self.push_screen(MainScreen())
|
|
self.set_interval(0.15, self._tick_spinner)
|
|
- if self._prompt is not None and self._config is not None:
|
|
- self.start_run(self._prompt, self._config)
|
|
- else:
|
|
+ if self._prompt is None or self._config is None:
|
|
self.push_screen(ConfigScreen())
|
|
|
|
def start_run(self, prompt: str, config: HaivemindConfig) -> None:
|