connectbase-client 3.14.0 → 3.14.1

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,34 @@
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
+ ## [3.14.1] - 2026-05-14
7
+
8
+ ### Fixed — `cb.game.*` primitive 호스트 라우팅 회귀 (v3.0.0 이후 잠복)
9
+
10
+ NJB 측 deleteScript / deactivateScript 404 보고 (2026-05-14) 로 발견. v3.0.0 BREAKING 에서
11
+ matchqueue / leaderboard / scripts primitive 메서드 16개가 `this.http.*` (기본 baseUrl
12
+ = core-server, `api.connectbase.world`) 를 거치도록 잘못 wired 되어 game-server
13
+ (`game.connectbase.world`) 로 라우팅되지 않고 404 회귀. NJB 는 v3.9.0 부터 `uploadScript`
14
+ 회귀를 raw fetch 로 우회 중이었음 (apps/game/scripts/upload-lua.mjs 참고).
15
+
16
+ 수정: `GameAPI` 내부 `gameFetch` private helper 도입. `${this.gameServerUrl}${path}` 기준
17
+ fetch + 표준 `getHeaders()` (X-Public-Key / Bearer) + 서버 응답 `{ error }` → `ApiError.code`
18
+ surface + 204/non-JSON 응답을 `undefined` 로 처리. 영향받은 메서드:
19
+
20
+ - **scripts (8)**: `uploadScript` / `listScripts` / `getScript` / `listScriptVersions` /
21
+ `activateScript` / `rollbackScript` / `deactivateScript` / `deleteScript`
22
+ - **matchqueue (3)**: `enqueueMatch` / `listMatchqueue` / `cancelMatch`
23
+ - **leaderboard (6)**: `submitScore` / `getTopScores` / `getMemberRank` /
24
+ `getRankAround` / `resetLeaderboard` / `removeFromLeaderboard`
25
+
26
+ 기존에 raw fetch 로 우회 중이던 통합 코드는 SDK 본 메서드로 회귀해도 무방 (4xx/5xx 시
27
+ `ApiError` 로 throw 되며 status/code 분기는 동일하게 작동).
28
+
29
+ ### Added — 회귀 가드 테스트
30
+
31
+ - `test/game-host-routing.test.ts` — 17개 메서드 전체가 `game.*` 호스트로 라우팅되는지
32
+ fetch mock 으로 단언. 동일 회귀 재발 방지.
33
+
6
34
  ## [3.14.0] - 2026-05-14
7
35
 
8
36
  ### Added — `GameError` 클래스 + `createRoom` 응답 메타