summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authoradamdottv <[email protected]>2025-06-28 17:51:28 -0500
committeradamdottv <[email protected]>2025-06-28 17:51:28 -0500
commit196f42cbffccb413d0fa84f72737eb619a1f6ad2 (patch)
tree805cd68d55bbc71a13cc44d701a12f350ea76678
parent322385f6b14338760ce87223685169c38332d3bd (diff)
downloadopencode-196f42cbffccb413d0fa84f72737eb619a1f6ad2.tar.gz
opencode-196f42cbffccb413d0fa84f72737eb619a1f6ad2.zip
fix(tui): share command and error messages
-rw-r--r--packages/tui/internal/tui/tui.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/packages/tui/internal/tui/tui.go b/packages/tui/internal/tui/tui.go
index 6dde8da16..28ce9f282 100644
--- a/packages/tui/internal/tui/tui.go
+++ b/packages/tui/internal/tui/tui.go
@@ -341,6 +341,9 @@ func (a appModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
case opencode.EventListResponseEventSessionError:
switch err := msg.Properties.Error.AsUnion().(type) {
case nil:
+ case opencode.ProviderAuthError:
+ slog.Error("Failed to authenticate with provider", "error", err.Data.Message)
+ return a, toast.NewErrorToast("Provider error: " + err.Data.Message)
case opencode.UnknownError:
slog.Error("Server error", "name", err.Name, "message", err.Data.Message)
return a, toast.NewErrorToast(err.Data.Message, toast.WithTitle(string(err.Name)))
@@ -535,11 +538,14 @@ func (a appModel) executeCommand(command commands.Command) (tea.Model, tea.Cmd)
if a.app.Session.ID == "" {
return a, nil
}
- _, err := a.app.Client.Session.Share(context.Background(), a.app.Session.ID)
+ response, err := a.app.Client.Session.Share(context.Background(), a.app.Session.ID)
if err != nil {
slog.Error("Failed to share session", "error", err)
return a, toast.NewErrorToast("Failed to share session")
}
+ shareUrl := response.Share.URL
+ cmds = append(cmds, tea.SetClipboard(shareUrl))
+ cmds = append(cmds, toast.NewSuccessToast("Share URL copied to clipboard!"))
case commands.SessionInterruptCommand:
if a.app.Session.ID == "" {
return a, nil