fix extension selector syncing issues (#7133)

This commit is contained in:
Zane
2026-02-10 17:06:25 -08:00
committed by GitHub
parent 4ad0aa4537
commit 45e84f9968
4 changed files with 5 additions and 15 deletions
@@ -437,14 +437,16 @@ const AppSidebar: React.FC<SidebarProps> = ({ currentPath }) => {
} else {
isCreatingSessionRef.current = true;
try {
await startNewSession('', setView, getInitialWorkingDir());
await startNewSession('', setView, getInitialWorkingDir(), {
allExtensions: configContext.extensionsList,
});
} finally {
setTimeout(() => {
isCreatingSessionRef.current = false;
}, 1000);
}
}
}, [setView, clearUnread]);
}, [setView, clearUnread, configContext.extensionsList]);
useEffect(() => {
const handleTriggerNewChat = () => {
@@ -34,24 +34,14 @@ export const BottomMenuExtensionSelection = ({ sessionId }: BottomMenuExtensionS
const isHubView = !sessionId;
useEffect(() => {
const handleSessionLoaded = () => {
setTimeout(() => {
setRefreshTrigger((prev) => prev + 1);
}, 500);
};
const handleExtensionsLoaded = () => {
setRefreshTrigger((prev) => prev + 1);
};
window.addEventListener(AppEvents.SESSION_CREATED, handleSessionLoaded);
window.addEventListener(AppEvents.SESSION_EXTENSIONS_LOADED, handleExtensionsLoaded);
window.addEventListener(AppEvents.MESSAGE_STREAM_FINISHED, handleSessionLoaded);
return () => {
window.removeEventListener(AppEvents.SESSION_CREATED, handleSessionLoaded);
window.removeEventListener(AppEvents.SESSION_EXTENSIONS_LOADED, handleExtensionsLoaded);
window.removeEventListener(AppEvents.MESSAGE_STREAM_FINISHED, handleSessionLoaded);
};
}, []);
+1
View File
@@ -460,6 +460,7 @@ export function useChatStream({
const extensionResults = resumeData?.extension_results;
showExtensionLoadResults(extensionResults);
window.dispatchEvent(new CustomEvent(AppEvents.SESSION_EXTENSIONS_LOADED));
dispatch({
type: 'SESSION_LOADED',
-3
View File
@@ -84,9 +84,6 @@ export async function startNewSession(
): Promise<Session> {
const session = await createSession(workingDir, options);
window.dispatchEvent(new CustomEvent(AppEvents.SESSION_CREATED, { detail: { session } }));
window.dispatchEvent(
new CustomEvent(AppEvents.SESSION_EXTENSIONS_LOADED, { detail: { session } })
);
const initialMessage = initialText ? { msg: initialText, images: [] } : undefined;