Przeglądaj źródła

Add error handling on the calls to the server to debug issue #132 (#137)

Thomas Meire 8 miesięcy temu
rodzic
commit
119d2d966c

+ 5 - 1
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) {

+ 4 - 0
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