connectbase-client 5.12.1 → 5.12.3
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 +37 -0
- package/dist/connect-base.umd.js +5 -5
- package/dist/index.d.mts +25 -33
- package/dist/index.d.ts +25 -33
- package/dist/index.js +71 -10
- package/dist/index.mjs +71 -10
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,43 @@
|
|
|
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.3] - 2026-08-09
|
|
7
|
+
|
|
8
|
+
### Fixed — realtime pubsub 왕복 지연 ~270ms 고정 (Cloudflare Free 플랜 LAX 우회)
|
|
9
|
+
|
|
10
|
+
`cb.realtime.subscribe()`/`send()` pubsub 메시지의 순수 서버 왕복 지연이 한국 사용자
|
|
11
|
+
기준 꾸준히 ~270ms 로 고정돼 있었습니다. 원인은 SDK/서버 코드가 아니라 `connectbase.world`
|
|
12
|
+
Cloudflare 존이 Free 플랜이라 한국 트래픽을 서울(ICN)이 아닌 LAX(로스앤젤레스) 엣지로
|
|
13
|
+
서빙하던 것이었습니다 — 오리진과 사용자가 둘 다 한국인데 매 메시지가 태평양을 두 번
|
|
14
|
+
건넜습니다.
|
|
15
|
+
|
|
16
|
+
`ws-direct.connectbase.world`(Cloudflare 를 거치지 않는 저지연 보조 호스트, 이미 REST
|
|
17
|
+
API 에 적용된 `api-direct` 와 동일한 처방)를 신설하고, core-server 가 한국 사용자에게
|
|
18
|
+
이 원본을 광고하면 `RealtimeAPI` 가 매 연결 시도마다 자동으로 이 원본을 우선 사용합니다.
|
|
19
|
+
direct 연결이 네트워크 레벨로 실패하면 그 세션 동안 자동으로 원래 소켓 URL로 폴백하므로
|
|
20
|
+
별도 설정이 필요 없습니다. 실측 개선: p50 272ms → 5.95ms.
|
|
21
|
+
|
|
22
|
+
플랫폼 이슈 `019fe448` 제보.
|
|
23
|
+
|
|
24
|
+
## [5.12.2] - 2026-08-08
|
|
25
|
+
|
|
26
|
+
### Fixed — UUID 형식 `userId` + `publicKey` 조합의 realtime 연결이 원인 불명으로 SSE 폴백되던 문제
|
|
27
|
+
|
|
28
|
+
`connect({ userId })` 를 `accessToken` 없이(즉 `publicKey` 인증으로) 호출하면서 실제 앱
|
|
29
|
+
멤버의 UUID 를 `userId` 로 넘기면, socket-server 의 presence 사칭 방지 가드가 WebSocket
|
|
30
|
+
업그레이드 전에 항상 `403` 으로 거부합니다(UUID 형식 신원은 인증된 멤버, 즉
|
|
31
|
+
`access_token` 연결에서만 허용됨). 이 조합은 재시도해도, SSE 폴백으로 전환해도 절대
|
|
32
|
+
성공하지 않는 영구적인 설정 오류인데, 기존에는 `publicKey` 가 존재한다는 이유만으로
|
|
33
|
+
`hasAuth=true` 로 판단해 SSE degraded 모드로 조용히 "성공" 처리했습니다 — `onError` 에는
|
|
34
|
+
일반적인 네트워크 에러 문구만 전달되어 실제 원인을 알 방법이 없었고, 이후
|
|
35
|
+
`subscribe()`/`send()` 가 뒤늦게 이유 없이 실패하는 것처럼 보였습니다.
|
|
36
|
+
|
|
37
|
+
이제 `connect()` 호출 시점에 `userId` 가 UUID 형식이면서 `accessToken` 이 없으면 WS
|
|
38
|
+
왕복 없이 즉시 명확한 에러로 실패합니다 — 인증된 멤버의 accessToken 을 넘기거나,
|
|
39
|
+
익명/게스트 연결에는 비-UUID 식별자를 쓰라고 안내합니다.
|
|
40
|
+
|
|
41
|
+
플랫폼 이슈 `019fe14f` 제보.
|
|
42
|
+
|
|
6
43
|
## [5.12.1] - 2026-08-08
|
|
7
44
|
|
|
8
45
|
### Fixed — OAuth 콜백 직후 `bootstrapRefreshCookie()` 가 방금 발급된 정상 토큰을 삭제하던 문제
|