Fix active session replay state
This commit is contained in:
@@ -43,6 +43,11 @@ import {
|
||||
SidebarTrigger,
|
||||
useSidebar,
|
||||
} from "@/components/ui/sidebar";
|
||||
import {
|
||||
clearActiveSessionId,
|
||||
readActiveSessionId,
|
||||
writeActiveSessionId,
|
||||
} from "@/lib/claw-active-session";
|
||||
import { useClawSessionReplay } from "@/lib/claw-session-replay";
|
||||
|
||||
type ThreadListSidebarProps = React.ComponentProps<typeof Sidebar> & {
|
||||
@@ -157,7 +162,7 @@ function CollapsedSidebarRail({
|
||||
<div className="flex flex-col items-center gap-3">
|
||||
<div
|
||||
onClickCapture={() => {
|
||||
window.localStorage.removeItem("claw.activeSessionId");
|
||||
clearActiveSessionId();
|
||||
window.dispatchEvent(new Event("claw-active-session-cleared"));
|
||||
}}
|
||||
>
|
||||
@@ -360,7 +365,7 @@ function useSidebarSessions(open: boolean) {
|
||||
) {
|
||||
const cleanSessionId = normalizeSessionId(sessionId);
|
||||
if (!cleanSessionId) return;
|
||||
window.localStorage.setItem("claw.activeSessionId", cleanSessionId);
|
||||
writeActiveSessionId(cleanSessionId);
|
||||
setLoadingSessionId(sessionId);
|
||||
try {
|
||||
const response = await fetch(`/api/claw/sessions/${cleanSessionId}`, {
|
||||
@@ -438,14 +443,13 @@ function AccountMenu({
|
||||
setState(nextState);
|
||||
setSessions(nextSessions);
|
||||
const activeSessionId = normalizeSessionId(
|
||||
window.localStorage.getItem("claw.activeSessionId") ??
|
||||
nextState?.active_session_id,
|
||||
readActiveSessionId() ?? nextState?.active_session_id,
|
||||
);
|
||||
if (!activeSessionId) {
|
||||
setActiveSession(null);
|
||||
return;
|
||||
}
|
||||
window.localStorage.setItem("claw.activeSessionId", activeSessionId);
|
||||
writeActiveSessionId(activeSessionId);
|
||||
const response = await fetch(`/api/claw/sessions/${activeSessionId}`, {
|
||||
cache: "no-store",
|
||||
});
|
||||
@@ -460,7 +464,7 @@ function AccountMenu({
|
||||
|
||||
async function logout() {
|
||||
await fetch("/api/claw/auth/logout", { method: "POST" });
|
||||
window.localStorage.removeItem("claw.activeSessionId");
|
||||
clearActiveSessionId();
|
||||
onLogout();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user