Skip to content

Commit a440ab7

Browse files
committed
Fix pending override state leaking between empty server threads
Use a ref to track the previous thread ID so that pendingServerThreadEnvMode and pendingServerThreadBranch are always reset when navigating to a different thread, even when canOverrideServerThreadEnvMode remains true for both threads.
1 parent 9efc9f9 commit a440ab7

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

apps/web/src/components/ChatView.tsx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2228,12 +2228,15 @@ export default function ChatView(props: ChatViewProps) {
22282228
isGitRepo,
22292229
});
22302230

2231+
const prevThreadIdForPendingReset = useRef(activeThread?.id);
22312232
useEffect(() => {
2232-
if (canOverrideServerThreadEnvMode) {
2233-
return;
2233+
const threadChanged = prevThreadIdForPendingReset.current !== activeThread?.id;
2234+
prevThreadIdForPendingReset.current = activeThread?.id;
2235+
2236+
if (threadChanged || !canOverrideServerThreadEnvMode) {
2237+
setPendingServerThreadEnvMode(null);
2238+
setPendingServerThreadBranch(undefined);
22342239
}
2235-
setPendingServerThreadEnvMode(null);
2236-
setPendingServerThreadBranch(undefined);
22372240
}, [canOverrideServerThreadEnvMode, activeThread?.id]);
22382241

22392242
useEffect(() => {

0 commit comments

Comments
 (0)