Fix active session replay state
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
"use client";
|
||||
|
||||
const ACTIVE_SESSION_ID_KEY = "claw.activeSessionId";
|
||||
|
||||
export function readActiveSessionId() {
|
||||
if (typeof window === "undefined") return null;
|
||||
return (
|
||||
normalizeSessionId(window.sessionStorage.getItem(ACTIVE_SESSION_ID_KEY)) ??
|
||||
normalizeSessionId(window.localStorage.getItem(ACTIVE_SESSION_ID_KEY))
|
||||
);
|
||||
}
|
||||
|
||||
export function writeActiveSessionId(sessionId: string | null | undefined) {
|
||||
if (typeof window === "undefined") return;
|
||||
const normalized = normalizeSessionId(sessionId);
|
||||
if (!normalized) {
|
||||
clearActiveSessionId();
|
||||
return;
|
||||
}
|
||||
window.sessionStorage.setItem(ACTIVE_SESSION_ID_KEY, normalized);
|
||||
window.localStorage.setItem(ACTIVE_SESSION_ID_KEY, normalized);
|
||||
}
|
||||
|
||||
export function clearActiveSessionId() {
|
||||
if (typeof window === "undefined") return;
|
||||
window.sessionStorage.removeItem(ACTIVE_SESSION_ID_KEY);
|
||||
window.localStorage.removeItem(ACTIVE_SESSION_ID_KEY);
|
||||
}
|
||||
|
||||
function normalizeSessionId(value: unknown) {
|
||||
if (typeof value !== "string") return null;
|
||||
const trimmed = value.trim();
|
||||
return trimmed || null;
|
||||
}
|
||||
Reference in New Issue
Block a user