diff --git a/gui/main.qml b/gui/main.qml index 3d9a27c..df3d798 100644 --- a/gui/main.qml +++ b/gui/main.qml @@ -604,6 +604,7 @@ ApplicationWindow { } if (renamingIndex >= 0) return if (type === "session") { + ollie.setActiveSessionId(id) toggleExpand(parent.modelIndex) } else if (type === "agent") { activateAgent(parentId, agentId) diff --git a/gui/ollie9pclient.cpp b/gui/ollie9pclient.cpp index 28cb7db..0309a75 100644 --- a/gui/ollie9pclient.cpp +++ b/gui/ollie9pclient.cpp @@ -49,8 +49,9 @@ Ollie9pClient::~Ollie9pClient() void Ollie9pClient::setActiveSessionId(const QString &id) { - if (m_activeSessionId == id) return; - + // Session selection must be side-effect free for per-agent streams. + // Even re-selecting the same session should clear agent selection and stop + // statewait/chat so the UI can stay in a pure "session selected" state. stopStreams(); m_activeSessionId = id; m_agentId.clear();