From bb9a34a9f4104c1cdc633d91e18d0d718aece6e8 Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Fri, 3 Jul 2026 13:00:42 -0500 Subject: [PATCH] fix(tui): surface child session forms --- packages/tui/src/routes/session/form.tsx | 6 ++---- packages/tui/src/routes/session/index.tsx | 12 ++++++++++-- 2 files changed, 12 insertions(+), 6 deletions(-) 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), + ]), + ) }), )