@voltkit-rtc/react-native 0.1.3 → 0.1.4

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
@@ -1,8 +1,30 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.4
4
+
5
+ Prepared 2026-11-02, not published. The SDK round of 2026-11-01: the fixes are the client's (0.9.16), which this package
6
+ runs; peer dependencies `@voltkit-rtc/client >=0.9.16 <0.10.0` and `@voltkit-rtc/react ^0.1.4`. The native code is the
7
+ same, but build the app again after upgrading: its version check reads this package's version. This round ran the unit
8
+ tests, the typecheck, the build and the docs' examples (the steps of `make sdk-check-react-native`); not the emulator.
9
+
10
+ - **A person going live during a viewer's connect is received** (C0915-1, Medium-High; D4). On a phone's slow downlink
11
+ this hit 25 of 25 trials behind a proxy: a `newProducer` that arrived before the client's Device was loaded was dropped,
12
+ and the viewer stayed connected without that person's audio or video until the next reconnect. Held and consumed with
13
+ the join's list now, on the first connect and every rejoin.
14
+ - **A quality switch the server refuses keeps the microphone or camera on air** (C0915-2, Medium; D5).
15
+ `setAudioQuality('hd')` in a project lowered to standard rejected `no a=ssrc lines found` (or an m-line order error)
16
+ and the microphone was off air. The client stops the refused sender itself before the refusal is reported, and the
17
+ switches ask the controller first: a kind switched off for the project is refused with `media-disabled`, the device
18
+ untouched. **Behaviour change:** one more round trip per quality switch.
19
+ - **A request over the socket's read limit is refused here** (C0915-3; D6): `bad-params`, nothing sent, the session
20
+ untouched, instead of a dropped socket and a reconnect. The byte count is the client's own, so it needs no `TextEncoder`.
21
+ - **`leave()` while the socket is still opening ends at once with `not-connected`** (R012-3; D7), which the hooks let
22
+ through silently (`connect()` resolves to `undefined`). React Native's `close()` cannot stop a handshake, so the leave
23
+ ended only at the 15 s deadline before; a handshake that finishes after the leave is closed and the app hears nothing.
24
+
3
25
  ## 0.1.3
4
26
 
5
- Prepared 2026-10-31, not published. The testers' report on 0.1.2 (`src/__tests__/tester-1031.test.tsx`, RN012-1 to
27
+ Published 2026-11-01. The testers' report on 0.1.2 (`src/__tests__/tester-1031.test.tsx`, RN012-1 to
6
28
  RN012-5) and the lead's decisions D1 and D2. Peer dependencies `@voltkit-rtc/client >=0.9.15 <0.10.0` and
7
29
  `@voltkit-rtc/react ^0.1.3`: 0.9.15 forgets a `publish()` that rejected, one cut short by the connection included, so
8
30
  nothing of it goes on air later behind the app's back, and a closed client refuses every call with `not-connected`. The
package/README.md CHANGED
@@ -78,8 +78,8 @@ library, and under Expo's `tsconfig.base` alike.
78
78
  | React Native | 0.82 or newer, with the New Architecture; tested with 0.88.0 and Hermes |
79
79
  | React | 19.1 or newer |
80
80
  | react-native-webrtc | 155.0.1 or a later 155.x |
81
- | `@voltkit-rtc/client` | 0.9.15 or a later 0.9.x |
82
- | `@voltkit-rtc/react` | 0.1.3 or a later 0.1.x |
81
+ | `@voltkit-rtc/client` | 0.9.16 or a later 0.9.x |
82
+ | `@voltkit-rtc/react` | 0.1.4 or a later 0.1.x |
83
83
  | Android | minSdk 24 (Android 7.0), react-native-webrtc's minimum |
84
84
  | Expo | SDK 58 or newer, in a development build; not Expo Go |
85
85
  | iOS | Preview: see [iOS preview](#ios-preview) |
@@ -1497,8 +1497,8 @@ Bluetooth routing tested in unit tests, not on hardware.** Tested with:
1497
1497
  | React | 19.3.0 |
1498
1498
  | react-native-webrtc | 155.0.1 (WebRTC `org.jitsi:webrtc` 155.0.1) |
1499
1499
  | Expo | SDK 58 (`expo` 58.0.19), development build, R8-minified release build |
1500
- | `@voltkit-rtc/client` | 0.9.15 |
1501
- | `@voltkit-rtc/react` | 0.1.3 |
1500
+ | `@voltkit-rtc/client` | 0.9.16 (0.1.4: unit tests, the typecheck, the build and the docs' examples; the emulator run is 0.1.3's on 0.9.15) |
1501
+ | `@voltkit-rtc/react` | 0.1.4 |
1502
1502
  | Android | the Android emulator (a Pixel 10 Pro AVD, x86_64, API 37.1, Google Play image); earpiece and Bluetooth routing in unit tests, not on hardware |
1503
1503
  | iOS | not tested: preview |
1504
1504
 
@@ -21,7 +21,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
21
21
  */
22
22
 
23
23
  /** The version of this package: what getDiagnostics() reports, and what the native side was built from. */
24
- const SDK_VERSION = exports.SDK_VERSION = '0.1.3';
24
+ const SDK_VERSION = exports.SDK_VERSION = '0.1.4';
25
25
 
26
26
  /** The native module, or null where there is none (iOS, Expo Go, an app not rebuilt). */
27
27
  function nativeModule() {
@@ -60,7 +60,7 @@ function localStream(client) {
60
60
  return client.local ?? null;
61
61
  }
62
62
 
63
- /** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.3`. */
63
+ /** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.4`. */
64
64
  function describePlatform() {
65
65
  return `ReactNative ${_reactNative.Platform.OS} ${String(_reactNative.Platform.Version)}; react-native-webrtc ${(0, _globals.webrtcVersion)() ?? 'unknown'}; @voltkit-rtc/react-native ${_native.SDK_VERSION}`;
66
66
  }
@@ -9,7 +9,7 @@ import { Platform } from 'react-native';
9
9
  import NativeVoltkitRtc from "./specs/NativeVoltkitRtc.js";
10
10
  import { iosUnsupported, logError, nativeMissing } from "./errors.js";
11
11
  /** The version of this package: what getDiagnostics() reports, and what the native side was built from. */
12
- export const SDK_VERSION = '0.1.3';
12
+ export const SDK_VERSION = '0.1.4';
13
13
 
14
14
  /** The native module, or null where there is none (iOS, Expo Go, an app not rebuilt). */
15
15
  export function nativeModule() {
@@ -51,7 +51,7 @@ export function localStream(client) {
51
51
  return client.local ?? null;
52
52
  }
53
53
 
54
- /** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.3`. */
54
+ /** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.4`. */
55
55
  export function describePlatform() {
56
56
  return `ReactNative ${Platform.OS} ${String(Platform.Version)}; react-native-webrtc ${webrtcVersion() ?? 'unknown'}; @voltkit-rtc/react-native ${SDK_VERSION}`;
57
57
  }
@@ -2,7 +2,7 @@ import type { EventSubscription } from 'react-native';
2
2
  import { type AudioDevice, type Constants, type Spec } from './specs/NativeVoltkitRtc';
3
3
  import type { MediaDevice } from '@voltkit-rtc/client';
4
4
  /** The version of this package: what getDiagnostics() reports, and what the native side was built from. */
5
- export declare const SDK_VERSION = "0.1.3";
5
+ export declare const SDK_VERSION = "0.1.4";
6
6
  /** The native module, or null where there is none (iOS, Expo Go, an app not rebuilt). */
7
7
  export declare function nativeModule(): Spec | null;
8
8
  /** The module's constants, read once: the audio mode, screen sharing, the call service as the manifest declares them. */
@@ -72,7 +72,7 @@ export interface MediaStreamLike {
72
72
  export declare function localStream(client: {
73
73
  readonly local: unknown;
74
74
  }): MediaStreamLike | null;
75
- /** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.3`. */
75
+ /** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.4`. */
76
76
  export declare function describePlatform(): string;
77
77
  /**
78
78
  * What the client reads to pick its defaults: a phone or tablet, so two simulcast layers and the H.264 decision
@@ -2,7 +2,7 @@ import type { EventSubscription } from 'react-native';
2
2
  import { type AudioDevice, type Constants, type Spec } from './specs/NativeVoltkitRtc.js';
3
3
  import type { MediaDevice } from '@voltkit-rtc/client';
4
4
  /** The version of this package: what getDiagnostics() reports, and what the native side was built from. */
5
- export declare const SDK_VERSION = "0.1.3";
5
+ export declare const SDK_VERSION = "0.1.4";
6
6
  /** The native module, or null where there is none (iOS, Expo Go, an app not rebuilt). */
7
7
  export declare function nativeModule(): Spec | null;
8
8
  /** The module's constants, read once: the audio mode, screen sharing, the call service as the manifest declares them. */
@@ -72,7 +72,7 @@ export interface MediaStreamLike {
72
72
  export declare function localStream(client: {
73
73
  readonly local: unknown;
74
74
  }): MediaStreamLike | null;
75
- /** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.3`. */
75
+ /** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.4`. */
76
76
  export declare function describePlatform(): string;
77
77
  /**
78
78
  * What the client reads to pick its defaults: a phone or tablet, so two simulcast layers and the H.264 decision
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voltkit-rtc/react-native",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "React Native SDK for VoltKit RTC: calls, audio rooms and live video on Android (iOS in preview), with the hooks of @voltkit-rtc/react, background calls, audio routing and an Expo config plugin.",
5
5
  "keywords": [
6
6
  "voltkit",
@@ -111,8 +111,8 @@
111
111
  ]
112
112
  },
113
113
  "peerDependencies": {
114
- "@voltkit-rtc/client": ">=0.9.15 <0.10.0",
115
- "@voltkit-rtc/react": "^0.1.3",
114
+ "@voltkit-rtc/client": ">=0.9.16 <0.10.0",
115
+ "@voltkit-rtc/react": "^0.1.4",
116
116
  "expo": ">=58",
117
117
  "react": ">=19.1.0",
118
118
  "react-native": ">=0.82.0",
package/src/native.ts CHANGED
@@ -10,7 +10,7 @@ import { iosUnsupported, logError, nativeMissing } from './errors';
10
10
  import type { AudioDeviceType, DeviceKind, MediaDevice } from '@voltkit-rtc/client';
11
11
 
12
12
  /** The version of this package: what getDiagnostics() reports, and what the native side was built from. */
13
- export const SDK_VERSION = '0.1.3';
13
+ export const SDK_VERSION = '0.1.4';
14
14
 
15
15
  /** The native module, or null where there is none (iOS, Expo Go, an app not rebuilt). */
16
16
  export function nativeModule(): Spec | null {
@@ -89,7 +89,7 @@ export function localStream(client: { readonly local: unknown }): MediaStreamLik
89
89
  return (client.local as MediaStreamLike | null | undefined) ?? null;
90
90
  }
91
91
 
92
- /** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.3`. */
92
+ /** getDiagnostics().userAgent: `ReactNative android 37; react-native-webrtc 155.0.1; @voltkit-rtc/react-native 0.1.4`. */
93
93
  export function describePlatform(): string {
94
94
  return `ReactNative ${Platform.OS} ${String(Platform.Version)}; react-native-webrtc ${webrtcVersion() ?? 'unknown'}; @voltkit-rtc/react-native ${SDK_VERSION}`;
95
95
  }