From 1e39199720bbd6b3f003c65fe70d8787e2cedece Mon Sep 17 00:00:00 2001 From: chenhg5 Date: Wed, 4 Mar 2026 12:41:03 +0800 Subject: [PATCH] fix(dingtalk): handle stream start error more accurately Check for non-nil error before formatting error message to avoid wrapping nil errors. generated by llmgit Co-Authored-By: Claude --- platform/dingtalk/dingtalk.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/platform/dingtalk/dingtalk.go b/platform/dingtalk/dingtalk.go index c50f072..a9b55be 100644 --- a/platform/dingtalk/dingtalk.go +++ b/platform/dingtalk/dingtalk.go @@ -66,9 +66,13 @@ func (p *Platform) Start(handler core.MessageHandler) error { }() // Give the stream a short window to fail fast on auth errors. + // If Start() returns nil quickly, it means it connected successfully (non-blocking SDK). + // If it doesn't return within 3s, it's a blocking call that's running fine. select { case err := <-errCh: - return fmt.Errorf("dingtalk: start stream: %w", err) + if err != nil { + return fmt.Errorf("dingtalk: start stream: %w", err) + } case <-time.After(3 * time.Second): }