Skip to content

fix(android): bump native SDK to 2.9.84 for camera recovery after background (1.12.3)#1689

Open
sapta100ms wants to merge 2 commits into
release/hms-1.12.2from
release/hms-1.12.3
Open

fix(android): bump native SDK to 2.9.84 for camera recovery after background (1.12.3)#1689
sapta100ms wants to merge 2 commits into
release/hms-1.12.2from
release/hms-1.12.3

Conversation

@sapta100ms

Copy link
Copy Markdown
Contributor

What

Bumps the bundled native Android SDK pin (react-native-hms/sdk-versions.json) from 2.9.782.9.84. One-line change; targets the 1.12.x line for a 1.12.3 patch.

Why

Fixes the camera freeze/black-tile after backgrounding (#1666). When the app is fully backgrounded, Android revokes the camera; the SDK previously only logged it and never restarted capture, so the local peer's video stayed frozen/black for remote peers until a manual mute/unmute. 2.9.84 re-acquires the camera automatically on app foreground.

The actual recovery logic lives in the native SDK — live.100ms/android-sdk PR 100mslive/android-sdk#962 (released as 2.9.84). This RN change just pins to it.

Validation

  • Verified on-device in the RN room-kit example: backgrounding >60s then returning now auto-recovers (no manual mute/unmute), with the SDK's "restarting capture" path firing.
  • Native sample app builds & resolves live.100ms:android-sdk:2.9.84 from Maven Central (BUILD SUCCESSFUL).

Release

Version bump to 1.12.3 (package.json + changelog) is handled by release-it at release time — not hand-edited here.

sapta100ms added 2 commits May 6, 2026 23:50
## Summary

Patch release that publishes the Phase 0 Interop Layer fix (PR #1616) to
npm.

Bumps `@100mslive/react-native-hms` from `1.12.1` → `1.12.2`.

## What customers get in 1.12.2

The Phase 0 changes from #1616:

- **iOS:** `HMSManager.shared` singleton replaces the unreliable
`bridge.module(for:)` lookup under New Architecture's Interop Layer
- **Android:** `getNativeModule(HMSManager)` calls now route through
`reactApplicationContext` for the same reason

**Customer impact:**

| Customer app config | 1.12.1 (current) | 1.12.2 (this release) |
|---|---|---|
| Old arch (`newArchEnabled=false`) | ✅ works | ✅ works (unchanged) |
| New arch with bridge proxy (RN 0.74–0.81, `bridgeless=false`) | ❌
crashes (#1428) | ✅ **works** |
| New arch bridgeless (RN 0.82+ forces) | ❌ crashes | ⚠️ still requires
Phase 1 (`2.0.0`) |

Customers on RN 0.81 with new arch on — the #1428 cohort — are
unblocked.

## Files changed

- `packages/react-native-hms/package.json` — version bump (intended
change)
- `packages/react-native-room-kit/example/ios/Podfile.lock` — incidental
sync with current npm-published `react-native-hms@1.12.1` from an
earlier `pod install`. Benign; brings lockfile in line with what's
already on npm.

## Release flow after merge

1. Merge this PR
2. From `main`: `cd packages/react-native-hms && npm run prepack && npm
publish`
3. Tag `1.12.2` on the merge commit and push the tag

## Verified

- ✅ Old arch regression tested on iOS (simulator) and Android (real
device)
- ✅ New arch + interop tested on iOS (yesterday, via `PhaseZeroTestApp`)
- ⚠️ New arch + interop on Android: implicit (Kotlin compiles cleanly;
runtime test would require fresh `react-native init` project — deferred
to follow-up)
…kground

Bumps live.100ms:android-sdk (and sibling modules) from 2.9.78 to 2.9.84,
which re-acquires the camera when the app returns to the foreground after
Android revokes it while backgrounded. Previously the local peer's video
stayed frozen/black for remote peers until a manual mute/unmute. Refs #1666.
@sapta100ms sapta100ms requested a review from ygit as a code owner June 19, 2026 08:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants