diff options
| author | Thomas Meire <[email protected]> | 2025-06-21 14:24:39 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-06-21 07:24:39 -0500 |
| commit | 119d2d966cf3c3b25484b3c0f20fb39e9e21750a (patch) | |
| tree | c0e82a156b01b1119e70cc96219a6582abb136a4 | |
| parent | 194415e785eeb8b2b7cb5a88f95456b3238af8b8 (diff) | |
| download | opencode-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.go | 6 | ||||
| -rw-r--r-- | packages/tui/internal/app/app.go | 4 |
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 |
