diff options
| author | Aiden Cline <[email protected]> | 2025-11-11 12:47:39 -0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-11-11 14:47:39 -0600 |
| commit | e1fc4a756b87e1eafb32baadefaf6b23a625d62c (patch) | |
| tree | 43403bdc72ffd35ee505481d7165eebee87a0585 /packages | |
| parent | e5bc4cbbcf5df6a6c7e2fd87bc99e840cb3afc8a (diff) | |
| download | opencode-e1fc4a756b87e1eafb32baadefaf6b23a625d62c.tar.gz opencode-e1fc4a756b87e1eafb32baadefaf6b23a625d62c.zip | |
Hide /share if disabled (#4215)
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx | 15 | ||||
| -rw-r--r-- | packages/opencode/src/cli/cmd/tui/routes/session/index.tsx | 48 |
2 files changed, 35 insertions, 28 deletions
diff --git a/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx b/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx index 68578e708..a776b5f95 100644 --- a/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx @@ -218,12 +218,6 @@ export function Autocomplete(props: { onSelect: () => command.trigger("session.compact"), }, { - display: "/share", - disabled: !!s.share?.url, - description: "share a session", - onSelect: () => command.trigger("session.share"), - }, - { display: "/unshare", disabled: !s.share, description: "unshare a session", @@ -250,7 +244,16 @@ export function Autocomplete(props: { onSelect: () => command.trigger("session.timeline"), }, ) + if (sync.data.config.share !== "disabled") { + results.push({ + display: "/share", + disabled: !!s.share?.url, + description: "share a session", + onSelect: () => command.trigger("session.share"), + }) + } } + results.push( { display: "/new", diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx index 746015c87..7b25da397 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx @@ -217,29 +217,33 @@ export function Session() { dialog.clear() }, }, - { - title: "Share session", - value: "session.share", - keybind: "session_share", - disabled: !!session()?.share?.url, - category: "Session", - onSelect: async (dialog) => { - await sdk.client.session - .share({ - path: { - id: route.sessionID, + ...(sync.data.config.share !== "disabled" + ? [ + { + title: "Share session", + value: "session.share", + keybind: "session_share" as const, + disabled: !!session()?.share?.url, + category: "Session", + onSelect: async (dialog: any) => { + await sdk.client.session + .share({ + path: { + id: route.sessionID, + }, + }) + .then((res) => + Clipboard.copy(res.data!.share!.url).catch(() => + toast.show({ message: "Failed to copy URL to clipboard", variant: "error" }), + ), + ) + .then(() => toast.show({ message: "Share URL copied to clipboard!", variant: "success" })) + .catch(() => toast.show({ message: "Failed to share session", variant: "error" })) + dialog.clear() }, - }) - .then((res) => - Clipboard.copy(res.data!.share!.url).catch(() => - toast.show({ message: "Failed to copy URL to clipboard", variant: "error" }), - ), - ) - .then(() => toast.show({ message: "Share URL copied to clipboard!", variant: "success" })) - .catch(() => toast.show({ message: "Failed to share session", variant: "error" })) - dialog.clear() - }, - }, + }, + ] + : []), { title: "Unshare session", value: "session.unshare", |
