fix: sidebar bug

This commit is contained in:
qixinbo
2026-03-15 17:05:16 +08:00
parent 076eca5d7e
commit eb09129148
2 changed files with 23 additions and 1 deletions
+15
View File
@@ -186,6 +186,21 @@ def get_session(session_id: str):
"messages": session.messages
}
@app.post("/nanobot/sessions/{session_id}/ensure")
def ensure_session(session_id: str):
if not nanobot_service.agent:
raise HTTPException(status_code=400, detail="Nanobot not running")
session = nanobot_service.agent.sessions.get_or_create(session_id)
nanobot_service.agent.sessions.save(session)
alias = session_alias_store.get_alias(session_id)
return {
"key": session.key,
"created_at": session.created_at,
"updated_at": session.updated_at,
"metadata": session.metadata,
"alias": alias,
}
@app.delete("/nanobot/sessions/{session_id}")
def delete_session(session_id: str):
if not nanobot_service.agent:
+8 -1
View File
@@ -208,8 +208,15 @@ function SidebarBody() {
navigate(`/?session=${encodeURIComponent(key)}`);
};
const handleNewThread = () => {
const handleNewThread = async () => {
const newSessionId = `api:${Date.now()}`;
try {
await api.post(`/nanobot/sessions/${encodeURIComponent(newSessionId)}/ensure`, {});
await fetchSessions();
window.dispatchEvent(new Event("nanobot:sessions-changed"));
} catch (e) {
console.error("Failed to create session", e);
}
navigate(`/?session=${encodeURIComponent(newSessionId)}`);
};