@voxevolv/client 0.3.14 → 0.3.16
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 +27 -0
- package/README.md +24 -14
- package/dist/browser/index.js +6 -6
- package/dist/browser/index.js.map +4 -4
- package/dist/browser/index.js.sha384 +1 -1
- package/dist/browser/manifest.json +1 -1
- package/dist/diagnostics.d.ts +6 -2
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +25 -4
- package/dist/diagnostics.js.map +1 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +102 -27
- package/dist/index.js.map +2 -2
- package/dist/presentations.d.ts +20 -0
- package/dist/presentations.d.ts.map +1 -0
- package/dist/presentations.js +91 -0
- package/dist/presentations.js.map +1 -0
- package/dist/rpc-transport-diagnostics.d.ts +6 -0
- package/dist/rpc-transport-diagnostics.d.ts.map +1 -0
- package/dist/rpc-transport-diagnostics.js +84 -0
- package/dist/rpc-transport-diagnostics.js.map +1 -0
- package/dist/vendor/livekit-client.esm.mjs +13 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,33 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@voxevolv/client` are recorded here.
|
|
4
4
|
|
|
5
|
+
## 0.3.16 - 2026-10-13
|
|
6
|
+
|
|
7
|
+
- Prevent repeated attachment displays from delayed model retries using shared
|
|
8
|
+
presentation IDs, worker authorization, and cached results. Reject expired or
|
|
9
|
+
superseded requests and reconcile late completion receipts. Requires both the
|
|
10
|
+
updated worker and this SDK in the consuming application.
|
|
11
|
+
|
|
12
|
+
- Preserve tool RPC receipts under context-buffer pressure; record recent browser
|
|
13
|
+
stalls, visibility/freeze/resume, and content-free LiveKit transport submission
|
|
14
|
+
boundaries. Requires the updated control API diagnostic allowlist before rollout.
|
|
15
|
+
|
|
16
|
+
- Clear native reconnect state when an initial connection attempt fails, so a
|
|
17
|
+
successful startup retry can still recover if its agent later disconnects.
|
|
18
|
+
Cancel pending native resume work and reset its deadline before retrying.
|
|
19
|
+
|
|
20
|
+
## 0.3.15 - 2026-10-07
|
|
21
|
+
|
|
22
|
+
- Extend initial startup to a three-minute overall deadline, with 15/20/140-second
|
|
23
|
+
readiness budgets and a backend registration budget of up to 175 seconds.
|
|
24
|
+
The final initial handshake also uses the longer budget so an absent worker
|
|
25
|
+
does not exhaust all attempts at the old 30-second hello limit. Rejoins
|
|
26
|
+
preserve the same session and deadline; cancellation and terminal
|
|
27
|
+
failures still stop immediately.
|
|
28
|
+
- Deploy the accompanying backend first: it accepts up to 180 seconds and keeps
|
|
29
|
+
redispatching within the deadline instead of exhausting after three replacements.
|
|
30
|
+
Upgrade candidate applications' browser bundles to enable the longer window.
|
|
31
|
+
|
|
5
32
|
## 0.3.14 - 2026-10-06
|
|
6
33
|
|
|
7
34
|
- Cancel expired context commands and uploads while they wait for reliable
|
package/README.md
CHANGED
|
@@ -33,7 +33,7 @@ Browsers without a build step can use the versioned bundle after publication:
|
|
|
33
33
|
```html
|
|
34
34
|
<script type="module">
|
|
35
35
|
import { RealtimeSession } from
|
|
36
|
-
"https://cdn.jsdelivr.net/npm/@voxevolv/client@0.3.
|
|
36
|
+
"https://cdn.jsdelivr.net/npm/@voxevolv/client@0.3.16/dist/browser/index.js";
|
|
37
37
|
</script>
|
|
38
38
|
```
|
|
39
39
|
|
|
@@ -134,30 +134,40 @@ await session.connect({ waitForRemoteAudio: false });
|
|
|
134
134
|
|
|
135
135
|
## Initial connection retries
|
|
136
136
|
|
|
137
|
+
Deploy the backend accepting 180-second startup registration before upgrading
|
|
138
|
+
to SDK 0.3.15. Older backends reject the expanded budget. Update the candidate
|
|
139
|
+
application's SDK bundle and remove shorter application-owned startup timers.
|
|
140
|
+
Use the existing setup screen to show connecting progress, a longer-wait message
|
|
141
|
+
after 15 seconds, and a three-minute maximum after 60 seconds. Clear UI timers
|
|
142
|
+
on success, failure, or cancellation; only readiness means connected.
|
|
143
|
+
|
|
137
144
|
Startup retries have been enabled by default since SDK 0.3.6 for both `new RealtimeSession()`
|
|
138
145
|
and `RealtimeSession.create()`. Omit `startupRetry` or pass `true` to retry a
|
|
139
146
|
session that has not connected successfully yet. The default policy allows up to
|
|
140
|
-
three total attempts with 15, 20, and
|
|
147
|
+
three total attempts with 15, 20, and 140-second readiness budgets, waits one second
|
|
141
148
|
before attempt two and three seconds before attempt three, and enforces a
|
|
142
|
-
|
|
149
|
+
180-second overall deadline in SDK 0.3.15. The overall deadline also includes room
|
|
143
150
|
connection, token renewal, microphone
|
|
144
|
-
publication, the client hello, and remote-audio readiness.
|
|
151
|
+
publication, the client hello, and remote-audio readiness. During initial
|
|
152
|
+
startup, the hello acknowledgement may wait for the longer attempt budget
|
|
153
|
+
(140 seconds on the final default attempt), still bounded by the overall
|
|
154
|
+
deadline. Established-session recovery retains its 30-second hello timeout.
|
|
145
155
|
|
|
146
|
-
SDK
|
|
156
|
+
The SDK coordinates initial agent recovery through the session-scoped
|
|
147
157
|
`POST /sessions/{id}/startup` endpoint. Registration is included in the overall
|
|
148
158
|
startup deadline. It reserves 10% of the remaining budget, capped at five seconds,
|
|
149
|
-
and gives the backend at most
|
|
150
|
-
The request limit is
|
|
159
|
+
and gives the backend at most 175 seconds.
|
|
160
|
+
The request limit is that reserve; a five-second
|
|
151
161
|
custom startup budget therefore retains about 4.5 seconds on the server.
|
|
152
162
|
Repeated registrations and room-token requests never renew the backend deadline.
|
|
153
163
|
Applications proxying the API must forward this route as well.
|
|
154
164
|
|
|
155
165
|
The backend inspects stalled startup after ten seconds of candidate presence.
|
|
156
|
-
A failed or expired dispatch can be replaced
|
|
157
|
-
ten seconds
|
|
158
|
-
startup allowance; a recent heartbeat or existing agent prevents replacement.
|
|
159
|
-
The
|
|
160
|
-
|
|
166
|
+
A failed or expired dispatch can be replaced while the registered deadline
|
|
167
|
+
has at least ten seconds remaining, with at least ten seconds between attempts.
|
|
168
|
+
A pending/running dispatch gets a twenty-second startup allowance; a recent heartbeat or existing agent prevents replacement.
|
|
169
|
+
The fixed deadline bounds recovery instead of an attempt-count limit, so an
|
|
170
|
+
autoscaled worker can accept a later replacement.
|
|
161
171
|
The server also enrolls older SDK clients at session creation and discovers their
|
|
162
172
|
first candidate join through LiveKit polling, without requiring webhooks. Older
|
|
163
173
|
clients retain a 65-second fallback window to match their browser deadline;
|
|
@@ -203,9 +213,9 @@ startupRetry: {
|
|
|
203
213
|
attempts: [
|
|
204
214
|
{ readyTimeoutMs: 15_000 },
|
|
205
215
|
{ delayBeforeMs: 1_000, readyTimeoutMs: 20_000 },
|
|
206
|
-
{ delayBeforeMs: 3_000, readyTimeoutMs:
|
|
216
|
+
{ delayBeforeMs: 3_000, readyTimeoutMs: 140_000 },
|
|
207
217
|
],
|
|
208
|
-
timeoutMs:
|
|
218
|
+
timeoutMs: 180_000,
|
|
209
219
|
}
|
|
210
220
|
```
|
|
211
221
|
|