summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
authorAiden Cline <[email protected]>2025-11-11 12:47:39 -0800
committerGitHub <[email protected]>2025-11-11 14:47:39 -0600
commite1fc4a756b87e1eafb32baadefaf6b23a625d62c (patch)
tree43403bdc72ffd35ee505481d7165eebee87a0585 /packages
parente5bc4cbbcf5df6a6c7e2fd87bc99e840cb3afc8a (diff)
downloadopencode-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.tsx15
-rw-r--r--packages/opencode/src/cli/cmd/tui/routes/session/index.tsx48
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",