Skip to content

Commit af35a78

Browse files
committed
fix: restore local token fallback and demo endpoint safety
1 parent e05640b commit af35a78

3 files changed

Lines changed: 7 additions & 12 deletions

File tree

apps/web/src/lib/agent-endpoint.tsx

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -136,18 +136,18 @@ export function AgentEndpointProvider({
136136
}, []);
137137

138138
const useDemo = useCallback(async () => {
139-
if (typeof window !== "undefined") {
140-
window.localStorage.setItem(STORAGE_KEY, "demo");
141-
}
142139
setBootingDemo(true);
143140
try {
144141
await startDemoWorker();
142+
if (typeof window !== "undefined") {
143+
window.localStorage.setItem(STORAGE_KEY, "demo");
144+
}
145+
setEndpoint(DEMO_ENDPOINT);
145146
} catch (err) {
146147
console.error("[demo] failed to start mock worker", err);
147148
} finally {
148149
setBootingDemo(false);
149150
}
150-
setEndpoint(DEMO_ENDPOINT);
151151
}, []);
152152

153153
const useLocal = useCallback(() => {
@@ -186,8 +186,3 @@ export function useAgentEndpoint(): AgentEndpointContextValue {
186186
}
187187
return ctx;
188188
}
189-
190-
/** Convenience hook for landing-page CTAs that don't care about the rest of the API. */
191-
export function useEnterDemo(): () => Promise<void> {
192-
return useAgentEndpoint().useDemo;
193-
}

apps/web/src/lib/agent-provider.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ export function AgentProvider({
123123

124124
// Handle query token persistence and URL cleanup (runs after initial render)
125125
useEffect(() => {
126-
if (providedToken !== undefined) {
126+
if (providedToken != null) {
127127
return () => {
128128
cleanupRef.current?.();
129129
cleanupRef.current = null;

apps/web/src/lib/agent-sse-provider.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,10 @@ export function AgentSSEProvider({
8989
const registeredEventsRef = useRef<Map<string, EventListener>>(new Map());
9090
const heartbeatTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);
9191

92-
const resolvedToken = token !== undefined ? token : storedToken;
92+
const resolvedToken = token ?? storedToken;
9393

9494
useEffect(() => {
95-
if (token !== undefined) return;
95+
if (token != null) return;
9696
setStoredToken(localStorage.getItem(STORAGE_KEY));
9797

9898
const onStorage = (event: StorageEvent) => {

0 commit comments

Comments
 (0)