fix(tui): route permission replies to session directory (#30851)

Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
This commit is contained in:
opencode-agent[bot] 2026-06-05 00:56:06 -04:00 committed by GitHub
parent b375890745
commit 3cf1cef7fe
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 2 deletions

View File

@ -1285,7 +1285,10 @@ export function Session() {
</scrollbox>
<box flexShrink={0}>
<Show when={permissions().length > 0}>
<PermissionPrompt request={permissions()[0]} />
<PermissionPrompt
request={permissions()[0]}
directory={sync.session.get(permissions()[0].sessionID)?.directory}
/>
</Show>
<Show when={permissions().length === 0 && questions().length > 0}>
<QuestionPrompt

View File

@ -111,7 +111,7 @@ function TextBody(props: { title: string; description?: string; icon?: string })
)
}
export function PermissionPrompt(props: { request: PermissionRequest }) {
export function PermissionPrompt(props: { request: PermissionRequest; directory?: string }) {
const sdk = useSDK()
const project = useProject()
const sync = useSync()
@ -171,6 +171,7 @@ export function PermissionPrompt(props: { request: PermissionRequest }) {
void sdk.client.permission.reply({
reply: "always",
requestID: props.request.id,
directory: props.directory,
workspace: project.workspace.current(),
})
}}
@ -182,6 +183,7 @@ export function PermissionPrompt(props: { request: PermissionRequest }) {
void sdk.client.permission.reply({
reply: "reject",
requestID: props.request.id,
directory: props.directory,
message: message || undefined,
workspace: project.workspace.current(),
})
@ -421,6 +423,7 @@ export function PermissionPrompt(props: { request: PermissionRequest }) {
void sdk.client.permission.reply({
reply: "reject",
requestID: props.request.id,
directory: props.directory,
workspace: project.workspace.current(),
})
return
@ -428,6 +431,7 @@ export function PermissionPrompt(props: { request: PermissionRequest }) {
void sdk.client.permission.reply({
reply: "once",
requestID: props.request.id,
directory: props.directory,
workspace: project.workspace.current(),
})
}}