From c78dad8db50d9b3abec155ad08fc11236e145514 Mon Sep 17 00:00:00 2001 From: terakael Date: Tue, 9 Dec 2025 12:18:17 +0900 Subject: [PATCH] tui: add permission indicator to footer (#4813) Co-authored-by: terakael Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> --- .../src/cli/cmd/tui/routes/session/footer.tsx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/footer.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/footer.tsx index 063e9051e..e889373e6 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/footer.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/footer.tsx @@ -4,13 +4,19 @@ import { useSync } from "../../context/sync" import { useDirectory } from "../../context/directory" import { useConnected } from "../../component/dialog-model" import { createStore } from "solid-js/store" +import { useRoute } from "../../context/route" export function Footer() { const { theme } = useTheme() const sync = useSync() + const route = useRoute() const mcp = createMemo(() => Object.keys(sync.data.mcp)) const mcpError = createMemo(() => Object.values(sync.data.mcp).some((x) => x.status === "failed")) const lsp = createMemo(() => Object.keys(sync.data.lsp)) + const permissions = createMemo(() => { + if (route.data.type !== "session") return [] + return sync.data.permission[route.data.sessionID] ?? [] + }) const directory = useDirectory() const connected = useConnected() @@ -51,6 +57,12 @@ export function Footer() { + 0}> + + {permissions().length} Permission + {permissions().length > 1 ? "s" : ""} + + {lsp().length} LSP