summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-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