diff --git a/packages/tui/src/context/data.tsx b/packages/tui/src/context/data.tsx index d765bdd870..c2f1beef12 100644 --- a/packages/tui/src/context/data.tsx +++ b/packages/tui/src/context/data.tsx @@ -863,7 +863,7 @@ export const { use: useData, provider: DataProvider } = createSimpleContext({ directory: defaultLocation().directory, workspace: defaultLocation().workspaceID, }) - .then((response) => { + .then(async (response) => { setStore( "session", "info", @@ -872,6 +872,18 @@ export const { use: useData, provider: DataProvider } = createSimpleContext({ }), ) for (const session of response.data) registerSession(session.id) + await Promise.all( + Object.values(store.session.info).flatMap((session) => + session.parentID ? [] : [result.session.refreshChildren(session.id)], + ), + ) + await Promise.all([ + ...Object.keys(store.session.info).flatMap((sessionID) => [ + result.session.permission.refresh(sessionID), + result.session.form.refresh(sessionID), + ]), + result.session.form.refresh("global"), + ]) }), sdk.api.session .active() diff --git a/packages/tui/test/fixture/tui-sdk.ts b/packages/tui/test/fixture/tui-sdk.ts index a486e6445d..cddc41055d 100644 --- a/packages/tui/test/fixture/tui-sdk.ts +++ b/packages/tui/test/fixture/tui-sdk.ts @@ -99,6 +99,7 @@ export function createFetch(override?: FetchHandler, events?: ReturnType