Skip to content

FCE-2981: Mobile SDK improvements#493

Merged
MiloszFilimowski merged 3 commits intomainfrom
mfilimowski/mobile-sdk-improvements
Mar 16, 2026
Merged

FCE-2981: Mobile SDK improvements#493
MiloszFilimowski merged 3 commits intomainfrom
mfilimowski/mobile-sdk-improvements

Conversation

@MiloszFilimowski
Copy link
Collaborator

Description

  • ts-client: Add dedicated tsup.config.ts with a separate React Native bundle (index.react-native.mjs) that inlines all dependencies; add react-native and exports fields to package.json
  • mobile-client: Bump @fishjam-cloud/react-native-webrtc 0.25.0 → 0.25.4, add react-native-url-polyfill and register it in the polyfill entrypoint, pin fast-text-encoding to exact version

Motivation and Context

The @bufbuild/protobuf/wire import was breaking under the React Native bundler because tsup didn't produce a self-contained RN build. A dedicated RN output with all deps inlined fixes the resolution issue. The URL polyfill and WebRTC bump address additional RN runtime compatibility gaps.

Documentation impact

  • Documentation update required
  • Documentation updated in another PR
  • No documentation update required

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to
    not work as expected)

@linear
Copy link

linear bot commented Mar 16, 2026

@MiloszFilimowski MiloszFilimowski force-pushed the mfilimowski/mobile-sdk-improvements branch from 86c471c to 6629581 Compare March 16, 2026 13:21
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves React Native compatibility for the SDK by producing a dedicated self-contained React Native build of @fishjam-cloud/ts-client (to avoid Metro/deep-import resolution issues) and updating the mobile client’s runtime polyfills and WebRTC dependency versions.

Changes:

  • Add packages/ts-client/tsup.config.ts to build both a standard ESM output and a dedicated React Native ESM bundle with dependencies inlined.
  • Update @fishjam-cloud/ts-client package.json to expose a React Native entry via react-native + exports, and switch build to use the config file.
  • Update mobile client deps: bump @fishjam-cloud/react-native-webrtc, add react-native-url-polyfill, and pin fast-text-encoding.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
yarn.lock Reflects the mobile-client dependency updates (webrtc bump, URL polyfill addition, exact fast-text-encoding).
packages/ts-client/tsup.config.ts Introduces a dual build, including a dedicated RN bundle with noExternal to inline deps.
packages/ts-client/package.json Adds RN entry + exports, removes inline tsup config, and updates build script to run tsup via config.
packages/mobile-client/src/webrtc-polyfill.ts Registers react-native-url-polyfill/auto in the polyfill entrypoint.
packages/mobile-client/package.json Bumps @fishjam-cloud/react-native-webrtc, adds react-native-url-polyfill, and pins fast-text-encoding.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

@MiloszFilimowski MiloszFilimowski merged commit 65edf4d into main Mar 16, 2026
2 checks passed
@MiloszFilimowski MiloszFilimowski deleted the mfilimowski/mobile-sdk-improvements branch March 16, 2026 13:27
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.

3 participants