connectbase-client 5.12.2 → 5.12.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,45 @@
3
3
  본 SDK 의 모든 주요 변경사항을 [Keep a Changelog](https://keepachangelog.com/ko/1.1.0/) 형식으로 기록합니다.
4
4
  버전은 [Semantic Versioning](https://semver.org/lang/ko/) 을 따릅니다.
5
5
 
6
+ ## [5.12.4] - 2026-08-09
7
+
8
+ ### Fixed — `baseUrl:'/cb-api'`(same-origin 패스스루) 앱은 realtime direct 원본을 영영 못 받던 문제
9
+
10
+ 5.12.3 에서 realtime direct(`ws-direct.connectbase.world`) 자동 선택을 추가했지만, SDK
11
+ `baseUrl` 을 상대 경로(`/cb-api`, 웹 스토리지/커스텀 도메인 배포 앱의 권장 설정)로 지정한
12
+ 경우 `learnDirectOrigin()` 이 HTTP direct 와 함께 realtime direct 학습까지 통째로
13
+ 건너뛰고 있었습니다. HTTP direct(host-only 쿠키 때문에 same-origin 패스스루와 상충)와
14
+ 달리 realtime 인증은 쿠키를 쓰지 않아 호스트를 바꿔도 안전한데, 같은 조건문을 공유하고
15
+ 있었던 게 원인입니다. 이제 `baseUrl` 이 상대 경로여도 realtime 광고는 플랫폼 고정 도메인
16
+ (`connectbase.world`) 기준으로 계속 학습합니다.
17
+
18
+ 서버 측(core-server/web-proxy-server)에도 관련 결함이 있었습니다 — `/cb-api` 패스스루는
19
+ 보안상 `CF-IPCountry` 를 항상 제거하는데, core-server 의 광고 로직이 이 헤더로 국가를
20
+ 판정해 국가 미상이면 광고 자체를 하지 않았습니다. `*.web.connectbase.world` 는 애초에
21
+ Cloudflare 를 거치지 않는(DNS-only) 도메인이라 국가 판정이 무의미하므로, web-proxy 가
22
+ 이 경로임을 알리는 내부 신호를 실어 보내면 국가 판정 없이 광고하도록 수정했습니다(커스텀
23
+ 도메인은 진짜 `CF-IPCountry` 가 있을 수 있어 제외).
24
+
25
+ 플랫폼 이슈 `019fe4c0`(`019fe448` 후속) 제보.
26
+
27
+ ## [5.12.3] - 2026-08-09
28
+
29
+ ### Fixed — realtime pubsub 왕복 지연 ~270ms 고정 (Cloudflare Free 플랜 LAX 우회)
30
+
31
+ `cb.realtime.subscribe()`/`send()` pubsub 메시지의 순수 서버 왕복 지연이 한국 사용자
32
+ 기준 꾸준히 ~270ms 로 고정돼 있었습니다. 원인은 SDK/서버 코드가 아니라 `connectbase.world`
33
+ Cloudflare 존이 Free 플랜이라 한국 트래픽을 서울(ICN)이 아닌 LAX(로스앤젤레스) 엣지로
34
+ 서빙하던 것이었습니다 — 오리진과 사용자가 둘 다 한국인데 매 메시지가 태평양을 두 번
35
+ 건넜습니다.
36
+
37
+ `ws-direct.connectbase.world`(Cloudflare 를 거치지 않는 저지연 보조 호스트, 이미 REST
38
+ API 에 적용된 `api-direct` 와 동일한 처방)를 신설하고, core-server 가 한국 사용자에게
39
+ 이 원본을 광고하면 `RealtimeAPI` 가 매 연결 시도마다 자동으로 이 원본을 우선 사용합니다.
40
+ direct 연결이 네트워크 레벨로 실패하면 그 세션 동안 자동으로 원래 소켓 URL로 폴백하므로
41
+ 별도 설정이 필요 없습니다. 실측 개선: p50 272ms → 5.95ms.
42
+
43
+ 플랫폼 이슈 `019fe448` 제보.
44
+
6
45
  ## [5.12.2] - 2026-08-08
7
46
 
8
47
  ### Fixed — UUID 형식 `userId` + `publicKey` 조합의 realtime 연결이 원인 불명으로 SSE 폴백되던 문제