connectbase-client 6.15.0 → 6.16.0
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 +19 -0
- package/README.md +14 -0
- package/dist/cli.js +1 -1
- package/dist/connect-base.umd.js +2 -2
- package/dist/index.d.mts +79 -1
- package/dist/index.d.ts +79 -1
- package/dist/index.js +62 -2
- package/dist/index.mjs +62 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,25 @@
|
|
|
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
|
+
## [6.16.0] - 2026-11-12
|
|
7
|
+
|
|
8
|
+
### Added — `cb.webrtc.getSFUToken()` (SFU 방 입장 토큰)
|
|
9
|
+
|
|
10
|
+
- `cb.webrtc.connect()` 는 미디어가 브라우저끼리 직접(P2P) 오가서 상대에게 IP 가 보이고 참가자가 많은 방을 만들 수 없다.
|
|
11
|
+
`cb.webrtc.getSFUToken({ roomId, publish, name, device })` 는 서버가 미디어를 나눠 주는 SFU 방의 입장 토큰(`url`, `token`,
|
|
12
|
+
`can_publish` 등)을 돌려준다. 미디어 연결은 앱이 `livekit-client` 의 `room.connect(url, token)` 으로 한다(SDK 는
|
|
13
|
+
`livekit-client` 를 포함하지 않는다).
|
|
14
|
+
- 입장과 보내기 권한은 채널 설정(`require_auth`, `join_roles`, `publisher_roles`, `max_participants`)을 따르고, 보내기 권한이
|
|
15
|
+
없는 참가자의 미디어는 서버가 받지 않는다. 사용량은 `traffic_egress` 에 합산된다.
|
|
16
|
+
- SFU 가 켜져 있지 않은 서버는 503 `sfu_unavailable` 을 돌려준다.
|
|
17
|
+
|
|
18
|
+
### Added — `cb.storage.getPathUrl()` (파일을 경로로 읽는 고정 주소)
|
|
19
|
+
|
|
20
|
+
- 2026-11-11 부터 새 파일의 직접 주소(`url`)에는 경로가 들어 있지 않다(객체 이름이 파일 ID). `url` 의 모양에 기대 형제 파일
|
|
21
|
+
주소를 조립하던 코드는 새 파일에서 404 가 난다. `cb.storage.getPathUrl(storageId, path)` 는 그 경로의 파일로 리다이렉트되는
|
|
22
|
+
주소(`/v1/file-path/{storageID}/{경로}`)를 돌려준다. 인증 헤더가 필요 없어 `<img src>`, 기준 주소 + 상대 경로 로딩에 쓸 수 있다.
|
|
23
|
+
- 대상은 `server_write`, `public_read`, `shared` 스토리지다. `private` 은 404 이고 응답의 `url`(서명 주소)을 쓴다.
|
|
24
|
+
|
|
6
25
|
## [6.15.0] - 2026-11-11
|
|
7
26
|
|
|
8
27
|
### Changed — `cb.database` 실시간 연결 거부의 이유를 알린다 (`reject_mode=close`)
|
package/README.md
CHANGED
|
@@ -870,6 +870,12 @@ console.log(result.url) // 항상 동일한 URL
|
|
|
870
870
|
// 경로로 파일 조회
|
|
871
871
|
const file = await cb.storage.getByPath('storage-id', '/profiles/user123/avatar.png')
|
|
872
872
|
|
|
873
|
+
// 경로 주소 (6.16.0 부터) — 그 경로의 파일로 리다이렉트되는 고정 주소. 요청을 보내지 않고 주소만 만든다.
|
|
874
|
+
// 파일의 url(직접 주소)에는 경로가 없으므로, 한 폴더의 파일을 상대 경로로 읽을 때는 이 주소를 기준으로 쓴다.
|
|
875
|
+
// 대상: server_write, public_read, shared 스토리지 (private 은 404 — 응답의 url 을 쓴다)
|
|
876
|
+
const base = cb.storage.getPathUrl('storage-id', '/avatars/rig-1/')
|
|
877
|
+
const meta = await (await fetch(base + 'meta.json')).json()
|
|
878
|
+
|
|
873
879
|
// 경로로 URL만 가져오기 (없으면 null)
|
|
874
880
|
const url = await cb.storage.getUrlByPath('storage-id', '/profiles/user123/avatar.png')
|
|
875
881
|
|
|
@@ -1509,6 +1515,14 @@ console.log(cb.webrtc.isBroadcaster())
|
|
|
1509
1515
|
// 비공개 룸 (로그인 회원) — 목록의 회원만 들어오고 볼 수 있다. 참가자 모두 같은 목록을 보낸다
|
|
1510
1516
|
await cb.webrtc.connect({ roomId: `call:${callId}`, allowedMemberIds: [aliceId, bobId], localStream: stream })
|
|
1511
1517
|
|
|
1518
|
+
// SFU 방 (6.16.0 부터) — 서버가 미디어를 나눠 주는 방. 참가자끼리 IP 를 보지 못하고 수십 명이 들어갈 수 있다.
|
|
1519
|
+
// SDK 는 입장 토큰만 발급하고, 미디어 연결은 livekit-client 로 한다(SDK 에 포함되지 않음).
|
|
1520
|
+
// import { Room } from 'livekit-client'
|
|
1521
|
+
const sfu = await cb.webrtc.getSFUToken({ roomId: 'voice:fanmeeting-1', publish: true })
|
|
1522
|
+
const room = new Room()
|
|
1523
|
+
await room.connect(sfu.url, sfu.token)
|
|
1524
|
+
if (sfu.can_publish) await room.localParticipant.setMicrophoneEnabled(true)
|
|
1525
|
+
|
|
1512
1526
|
// 룸 전환 (생략한 옵션은 현재 세션 값을 이어받습니다. allowedMemberIds 는 이어받지 않습니다)
|
|
1513
1527
|
await cb.webrtc.switchRoom('live:room-2')
|
|
1514
1528
|
|
package/dist/cli.js
CHANGED
|
@@ -170,7 +170,7 @@ function handleTunnelError(msg, appId, localPort) {
|
|
|
170
170
|
}
|
|
171
171
|
|
|
172
172
|
// src/cli.ts
|
|
173
|
-
var VERSION = "6.
|
|
173
|
+
var VERSION = "6.16.0" ? "6.16.0" : getPackageVersion();
|
|
174
174
|
var DEFAULT_BASE_URL = "https://api.connectbase.world";
|
|
175
175
|
var colors = {
|
|
176
176
|
reset: "\x1B[0m",
|