@urun-sh/core 0.2.60 → 0.3.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 +30 -0
- package/dist/{chunk-5TD2DIRY.mjs → chunk-QXEFXELS.mjs} +2 -2
- package/dist/{chunk-MVSPHHJP.mjs → chunk-WRCXYQH2.mjs} +5 -5
- package/dist/index.browser.d.mts +37 -226
- package/dist/index.browser.d.ts +37 -226
- package/dist/index.browser.js +2 -2
- package/dist/index.browser.mjs +1 -1
- package/dist/index.d.mts +37 -226
- package/dist/index.d.ts +37 -226
- package/dist/index.js +5 -5
- package/dist/index.mjs +1 -1
- package/dist/internal.browser.d.mts +1 -1
- package/dist/internal.browser.d.ts +1 -1
- package/dist/internal.browser.js +2 -2
- package/dist/internal.browser.mjs +1 -1
- package/dist/internal.d.mts +1 -1
- package/dist/internal.d.ts +1 -1
- package/dist/internal.js +5 -5
- package/dist/internal.mjs +1 -1
- package/dist/{stream-data-B5wxsIPL.d.mts → stream-data-ChGPDdoN.d.mts} +356 -2
- package/dist/{stream-data-B5wxsIPL.d.ts → stream-data-ChGPDdoN.d.ts} +356 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.3.0
|
|
4
|
+
|
|
5
|
+
- **BREAKING (types): `SessionPhaseName` widens 9 → 11 members** — adds
|
|
6
|
+
`'waiting_for_capacity'` and `'unknown'`. An exhaustive `switch` over
|
|
7
|
+
`phase.name` with a `never` default, or a `Record<SessionPhaseName, …>` label
|
|
8
|
+
map, stops compiling until the two new members are handled. The terminal
|
|
9
|
+
server words RELEASED/REAPED/EXPIRED/SUPERSEDED still map onto the *existing*
|
|
10
|
+
`'ended'`/`'expired'` names — no new terminal strings. (Breaking change rides
|
|
11
|
+
the 0.x minor per semver.)
|
|
12
|
+
- **Server status honesty (#351).** `STATUS_TO_PHASE` maps the full server
|
|
13
|
+
vocabulary; an unrecognized status is no longer silently rendered as
|
|
14
|
+
`'provisioning'` — it becomes a loud `'unknown'` phase + `console.error` +
|
|
15
|
+
`unknown-server-status` diagnostic carrying the literal word. The lookup is
|
|
16
|
+
own-property-only, so `Object.prototype` words (`"constructor"`, `"toString"`,
|
|
17
|
+
`"__proto__"`) are treated as unknown rather than resolving inherited members.
|
|
18
|
+
`SessionPhase.reason` now propagates on non-terminal AND terminal paths, and
|
|
19
|
+
the session-refresh stash is cleared on every server-declared terminal frame
|
|
20
|
+
(fixes the eternal "Provisioning…" re-attach, urun-infra#1856). New exports:
|
|
21
|
+
`isServerTerminalPhase`, `SIGNALING_PROTOCOL_VERSION` (`'v1'`, sent on the
|
|
22
|
+
`start` frame).
|
|
23
|
+
- **WT audio lane (#353).** Opus-over-QUIC-datagram downlink: datagram header
|
|
24
|
+
byte 11 is the lane discriminant (0 = video, byte-for-byte the historical
|
|
25
|
+
layout; 1 = audio) → `AudioFrameAssembler` → WebCodecs `AudioDecoder` →
|
|
26
|
+
scheduled WebAudio playout → bridge `MediaStreamTrack`, with a 40ms standing
|
|
27
|
+
buffer. A decode-error budget kills only the audio lane (reverts to WebRTC;
|
|
28
|
+
video keeps flowing). Negotiated per leg, so a pre-audio client never receives
|
|
29
|
+
a lane-1 datagram. The assembler bounds its in-flight set
|
|
30
|
+
(`WT_AUDIO_MAX_PENDING_FRAMES`) under sustained loss, rejects a non-finite
|
|
31
|
+
`jitterBufferTargetMs`, and closes the `AudioContext` if decoder setup throws.
|
|
32
|
+
|
|
3
33
|
## 0.2.57
|
|
4
34
|
|
|
5
35
|
- **FIX: `jitterBufferTarget` range guard (0–4000ms).** The W3C
|