summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorThomas Meire <[email protected]>2025-06-21 14:24:39 +0200
committerGitHub <[email protected]>2025-06-21 07:24:39 -0500
commit119d2d966cf3c3b25484b3c0f20fb39e9e21750a (patch)
treec0e82a156b01b1119e70cc96219a6582abb136a4
parent194415e785eeb8b2b7cb5a88f95456b3238af8b8 (diff)
downloadopencode-119d2d966cf3c3b25484b3c0f20fb39e9e21750a.tar.gz
opencode-119d2d966cf3c3b25484b3c0f20fb39e9e21750a.zip
Add error handling on the calls to the server to debug issue #132 (#137)
-rw-r--r--packages/tui/cmd/opencode/main.go6
-rw-r--r--packages/tui/internal/app/app.go4
2 files changed, 9 insertions, 1 deletions
diff --git a/packages/tui/cmd/opencode/main.go b/packages/tui/cmd/opencode/main.go
index 1f25484ea..172b5ad93 100644
--- a/packages/tui/cmd/opencode/main.go
+++ b/packages/tui/cmd/opencode/main.go
@@ -26,7 +26,11 @@ func main() {
appInfoStr := os.Getenv("OPENCODE_APP_INFO")
var appInfo client.AppInfo
- json.Unmarshal([]byte(appInfoStr), &appInfo)
+ err := json.Unmarshal([]byte(appInfoStr), &appInfo)
+ if err != nil {
+ slog.Error("Failed to unmarshal app info", "error", err)
+ os.Exit(1)
+ }
logfile := filepath.Join(appInfo.Path.Data, "log", "tui.log")
if _, err := os.Stat(filepath.Dir(logfile)); os.IsNotExist(err) {
diff --git a/packages/tui/internal/app/app.go b/packages/tui/internal/app/app.go
index 72d30d196..52c589b91 100644
--- a/packages/tui/internal/app/app.go
+++ b/packages/tui/internal/app/app.go
@@ -126,6 +126,10 @@ func (a *App) InitializeProvider() tea.Cmd {
// TODO: notify user
return nil
}
+ if providersResponse != nil && providersResponse.StatusCode() != 200 {
+ slog.Error("failed to retrieve providers", "status", providersResponse.StatusCode(), "message", string(providersResponse.Body))
+ return nil
+ }
providers := []client.ProviderInfo{}
var defaultProvider *client.ProviderInfo
var defaultModel *client.ModelInfo