summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/components
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-12-27 05:19:03 -0600
committerAdam <[email protected]>2025-12-27 14:33:22 -0600
commitc523ca412747d66e0236865a4fa2481f7d50f64e (patch)
treebffa7666e7ef44abd5a039223bd66989652e2180 /packages/app/src/components
parent685f3ea324cf5d0401f7b0895a78560149bf8a4b (diff)
downloadopencode-c523ca412747d66e0236865a4fa2481f7d50f64e.tar.gz
opencode-c523ca412747d66e0236865a4fa2481f7d50f64e.zip
wip(desktop): handle more errors
Diffstat (limited to 'packages/app/src/components')
-rw-r--r--packages/app/src/components/header.tsx4
-rw-r--r--packages/app/src/components/prompt-input.tsx60
-rw-r--r--packages/app/src/components/terminal.tsx32
3 files changed, 59 insertions, 37 deletions
diff --git a/packages/app/src/components/header.tsx b/packages/app/src/components/header.tsx
index 3eae0e05d..74c49f07a 100644
--- a/packages/app/src/components/header.tsx
+++ b/packages/app/src/components/header.tsx
@@ -188,6 +188,10 @@ export function Header(props: {
shareURL = await globalSDK.client.session
.share({ sessionID: session.id, directory: currentDirectory() })
.then((r) => r.data?.share?.url)
+ .catch((e) => {
+ console.error("Failed to share session", e)
+ return undefined
+ })
}
return shareURL
},
diff --git a/packages/app/src/components/prompt-input.tsx b/packages/app/src/components/prompt-input.tsx
index 2407fe97a..f1bb9132a 100644
--- a/packages/app/src/components/prompt-input.tsx
+++ b/packages/app/src/components/prompt-input.tsx
@@ -643,9 +643,11 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
}
const abort = () =>
- sdk.client.session.abort({
- sessionID: params.id!,
- })
+ sdk.client.session
+ .abort({
+ sessionID: params.id!,
+ })
+ .catch(() => {})
const addToHistory = (prompt: Prompt, mode: "normal" | "shell") => {
const text = prompt
@@ -883,12 +885,16 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
const agent = local.agent.current()!.name
if (isShellMode) {
- sdk.client.session.shell({
- sessionID: existing.id,
- agent,
- model,
- command: text,
- })
+ sdk.client.session
+ .shell({
+ sessionID: existing.id,
+ agent,
+ model,
+ command: text,
+ })
+ .catch((e) => {
+ console.error("Failed to send shell command", e)
+ })
return
}
@@ -897,13 +903,17 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
const commandName = cmdName.slice(1)
const customCommand = sync.data.command.find((c) => c.name === commandName)
if (customCommand) {
- sdk.client.session.command({
- sessionID: existing.id,
- command: commandName,
- arguments: args.join(" "),
- agent,
- model: `${model.providerID}/${model.modelID}`,
- })
+ sdk.client.session
+ .command({
+ sessionID: existing.id,
+ command: commandName,
+ arguments: args.join(" "),
+ agent,
+ model: `${model.providerID}/${model.modelID}`,
+ })
+ .catch((e) => {
+ console.error("Failed to send command", e)
+ })
return
}
}
@@ -929,13 +939,17 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
model,
})
- sdk.client.session.prompt({
- sessionID: existing.id,
- agent,
- model,
- messageID,
- parts: requestParts,
- })
+ sdk.client.session
+ .prompt({
+ sessionID: existing.id,
+ agent,
+ model,
+ messageID,
+ parts: requestParts,
+ })
+ .catch((e) => {
+ console.error("Failed to send prompt", e)
+ })
}
return (
diff --git a/packages/app/src/components/terminal.tsx b/packages/app/src/components/terminal.tsx
index c05ddfbf6..abf03fc06 100644
--- a/packages/app/src/components/terminal.tsx
+++ b/packages/app/src/components/terminal.tsx
@@ -82,13 +82,15 @@ export const Terminal = (props: TerminalProps) => {
window.addEventListener("resize", handleResize)
term.onResize(async (size) => {
if (ws && ws.readyState === WebSocket.OPEN) {
- await sdk.client.pty.update({
- ptyID: local.pty.id,
- size: {
- cols: size.cols,
- rows: size.rows,
- },
- })
+ await sdk.client.pty
+ .update({
+ ptyID: local.pty.id,
+ size: {
+ cols: size.cols,
+ rows: size.rows,
+ },
+ })
+ .catch(() => {})
}
})
term.onData((data) => {
@@ -106,13 +108,15 @@ export const Terminal = (props: TerminalProps) => {
// })
ws.addEventListener("open", () => {
console.log("WebSocket connected")
- sdk.client.pty.update({
- ptyID: local.pty.id,
- size: {
- cols: term.cols,
- rows: term.rows,
- },
- })
+ sdk.client.pty
+ .update({
+ ptyID: local.pty.id,
+ size: {
+ cols: term.cols,
+ rows: term.rows,
+ },
+ })
+ .catch(() => {})
})
ws.addEventListener("message", (event) => {
term.write(event.data)