diff --git a/packages/tui/src/routes/session/form.tsx b/packages/tui/src/routes/session/form.tsx index ec8108ab97..982cfbc02d 100644 --- a/packages/tui/src/routes/session/form.tsx +++ b/packages/tui/src/routes/session/form.tsx @@ -398,8 +398,7 @@ function FieldsPrompt(props: { form: FormInfo & { mode: "form" } }) { cmd: () => { if (!textual()) return const text = textarea?.plainText?.trim() ?? "" - if (text) submitText(text) - if (!text) selectTab((store.tab + 1) % tabs()) + submitText(text) }, }, { @@ -409,8 +408,7 @@ function FieldsPrompt(props: { form: FormInfo & { mode: "form" } }) { cmd: () => { if (!textual()) return const text = textarea?.plainText?.trim() ?? "" - if (text) submitText(text, -1) - if (!text) selectTab((store.tab - 1 + tabs()) % tabs()) + submitText(text, -1) }, }, { diff --git a/packages/tui/src/routes/session/index.tsx b/packages/tui/src/routes/session/index.tsx index e4f9e3f62b..008e0a4b26 100644 --- a/packages/tui/src/routes/session/index.tsx +++ b/packages/tui/src/routes/session/index.tsx @@ -188,7 +188,10 @@ export function Session() { }) const forms = createMemo(() => { if (session()?.parentID) return [] - return [...(data.session.form.list(route.sessionID) ?? []), ...(data.session.form.list("global") ?? [])] + return [ + ...[route.sessionID, ...descendantSessionIDs()].flatMap((sessionID) => data.session.form.list(sessionID) ?? []), + ...(data.session.form.list("global") ?? []), + ] }) const [composer, setComposer] = createStore({ open: false, @@ -241,7 +244,12 @@ export function Session() { createEffect( on(descendantSessionIDs, (sessionIDs) => { - void Promise.all(sessionIDs.map((sessionID) => data.session.permission.refresh(sessionID))) + void Promise.all( + sessionIDs.flatMap((sessionID) => [ + data.session.permission.refresh(sessionID), + data.session.form.refresh(sessionID), + ]), + ) }), )