From 7db3e02fe7ba4075058e8cef3ed10c23118fd8f3 Mon Sep 17 00:00:00 2001 From: ChaoLiu Date: Tue, 5 Aug 2025 13:34:29 +0800 Subject: [PATCH] fix: resolve gRPC Gateway connection issue when server address is empty When Profile.Addr is empty (default configuration), gRPC Gateway attempts to connect to ":port" which fails on macOS with transport errors. This fix defaults to "localhost" when no address is specified, ensuring cross-platform compatibility. - Fix gRPC connection format from ":port" to "localhost:port" - Resolves API endpoint failures in development environment - Maintains compatibility with explicit address configurations Fixes connection error: "transport: Error while dialing: reading server HTTP response: unexpected EOF" Signed-off-by: ChaoLiu --- server/router/api/v1/v1.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/server/router/api/v1/v1.go b/server/router/api/v1/v1.go index 962356e96..613131adf 100644 --- a/server/router/api/v1/v1.go +++ b/server/router/api/v1/v1.go @@ -67,7 +67,11 @@ func NewAPIV1Service(secret string, profile *profile.Profile, store *store.Store func (s *APIV1Service) RegisterGateway(ctx context.Context, echoServer *echo.Echo) error { var target string if len(s.Profile.UNIXSock) == 0 { - target = fmt.Sprintf("%s:%d", s.Profile.Addr, s.Profile.Port) + addr := s.Profile.Addr + if addr == "" { + addr = "localhost" + } + target = fmt.Sprintf("%s:%d", addr, s.Profile.Port) } else { target = fmt.Sprintf("unix:%s", s.Profile.UNIXSock) }