From 8e53f83d33944ee483f076b11d867ba41b22b012 Mon Sep 17 00:00:00 2001 From: zetaloop Date: Sat, 25 Apr 2026 05:04:13 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20chat=20dev=20?= =?UTF-8?q?=E7=BD=91=E5=85=B3=E8=B7=AF=E7=94=B1=E5=92=8C=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E5=A4=B4=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/chat/api/etc/chat-api.yaml | 4 ++-- app/chat/test/chat-api-local.yaml | 4 ++-- app/chat/test/chat-api-test.yaml | 4 ++-- app/chat/test/test_ws.py | 4 ++-- app/chat/test/test_wt.py | 4 ++-- deploy/dev/envoy.yaml | 20 ++++++++++++++++++++ 6 files changed, 30 insertions(+), 10 deletions(-) diff --git a/app/chat/api/etc/chat-api.yaml b/app/chat/api/etc/chat-api.yaml index f0b5509..fff721d 100644 --- a/app/chat/api/etc/chat-api.yaml +++ b/app/chat/api/etc/chat-api.yaml @@ -13,7 +13,7 @@ Hybrid: Auth: Enabled: true Source: envoy-header - HeaderName: X-User-ID + HeaderName: x-auth-user-id Wt: Addr: :8443 Path: /wt/chat @@ -24,7 +24,7 @@ Hybrid: MaxConnections: 10000 Auth: Enabled: true - WsHeaderName: X-User-ID + WsHeaderName: x-auth-user-id Stateless: PollInterval: 100ms diff --git a/app/chat/test/chat-api-local.yaml b/app/chat/test/chat-api-local.yaml index 9f72f9c..879fe2b 100644 --- a/app/chat/test/chat-api-local.yaml +++ b/app/chat/test/chat-api-local.yaml @@ -13,13 +13,13 @@ Hybrid: Auth: Enabled: true Source: envoy-header - HeaderName: X-User-ID + HeaderName: x-auth-user-id FallbackStrategy: auto MaxRetries: 3 MaxConnections: 10000 Auth: Enabled: true - WsHeaderName: X-User-ID + WsHeaderName: x-auth-user-id Stateless: PollInterval: 100ms diff --git a/app/chat/test/chat-api-test.yaml b/app/chat/test/chat-api-test.yaml index 6c252e7..85eb6d2 100644 --- a/app/chat/test/chat-api-test.yaml +++ b/app/chat/test/chat-api-test.yaml @@ -13,7 +13,7 @@ Hybrid: Auth: Enabled: true Source: envoy-header - HeaderName: X-User-ID + HeaderName: x-auth-user-id Wt: Addr: :8443 Path: /wt/chat @@ -24,7 +24,7 @@ Hybrid: MaxConnections: 10000 Auth: Enabled: true - WsHeaderName: X-User-ID + WsHeaderName: x-auth-user-id WtTokenSource: query WtTokenName: token WtJWTSecret: test-secret diff --git a/app/chat/test/test_ws.py b/app/chat/test/test_ws.py index d834803..bc685a1 100644 --- a/app/chat/test/test_ws.py +++ b/app/chat/test/test_ws.py @@ -34,13 +34,13 @@ async def test_ws(): log("TEST", "=== WebSocket Chat Test Start ===") log("WS", "connecting user1...") - user1 = await websockets.connect(WS_URL, additional_headers={"X-User-ID": "1001"}) + user1 = await websockets.connect(WS_URL, additional_headers={"x-auth-user-id": "1001"}) resp = await recv_json(user1) log("WS", f"user1 connected: {resp}") assert resp["type"] == "connected", f"expected connected, got {resp['type']}" log("WS", "connecting user2...") - user2 = await websockets.connect(WS_URL, additional_headers={"X-User-ID": "1002"}) + user2 = await websockets.connect(WS_URL, additional_headers={"x-auth-user-id": "1002"}) resp = await recv_json(user2) log("WS", f"user2 connected: {resp}") assert resp["type"] == "connected" diff --git a/app/chat/test/test_wt.py b/app/chat/test/test_wt.py index 3dd3fbd..8a6595e 100644 --- a/app/chat/test/test_wt.py +++ b/app/chat/test/test_wt.py @@ -37,7 +37,7 @@ async def test_wt_fallback(): log("WT", "--- Test 1: WT not configured, WS fallback should work ---") log("WT", "connecting via WS (fallback path)...") - ws = await websockets.connect(WS_URL, additional_headers={"X-User-ID": "2001"}) + ws = await websockets.connect(WS_URL, additional_headers={"x-auth-user-id": "2001"}) resp = await recv_json(ws) log("WT", f"fallback WS connected: {resp}") assert resp["type"] == "connected", f"expected connected, got {resp['type']}" @@ -80,7 +80,7 @@ async def test_wt_fallback(): assert resp["type"] == "history" log("WT", "--- Test 5: Multi-user over fallback ---") - ws2 = await websockets.connect(WS_URL, additional_headers={"X-User-ID": "2002"}) + ws2 = await websockets.connect(WS_URL, additional_headers={"x-auth-user-id": "2002"}) resp = await recv_json(ws2) assert resp["type"] == "connected" log("WT", "user2 connected via fallback WS") diff --git a/deploy/dev/envoy.yaml b/deploy/dev/envoy.yaml index 432b5b6..241eb0d 100644 --- a/deploy/dev/envoy.yaml +++ b/deploy/dev/envoy.yaml @@ -309,6 +309,12 @@ static_resources: cluster: community_api_cluster timeout: 30s + - match: + prefix: /api/v1/chat + route: + cluster: chat_api_cluster + timeout: 30s + - match: path: /api/v1/upload route: @@ -728,6 +734,20 @@ static_resources: address: objectstory-api port_value: 8888 + - name: chat_api_cluster + connect_timeout: 2s + type: STRICT_DNS + lb_policy: ROUND_ROBIN + load_assignment: + cluster_name: chat_api_cluster + endpoints: + - lb_endpoints: + - endpoint: + address: + socket_address: + address: chat-api + port_value: 8888 + - name: authz_adapter_cluster connect_timeout: 0.5s type: STRICT_DNS