Skip to content

Bump react-native-webgpu to 0.19.2 and drop the removed native-texture feature - #620

Draft
reczkok wants to merge 1 commit into
fishjam-cloud:mainfrom
reczkok:fix/drop-rnwebgpu-native-texture
Draft

reczkok wants to merge 1 commit into
fishjam-cloud:mainfrom
reczkok:fix/drop-rnwebgpu-native-texture

Conversation

@reczkok

@reczkok reczkok commented Oct 28, 2026

Copy link
Copy Markdown

Description

Bumps react-native-webgpu from 0.10.1 to 0.19.2 in both camera packages and fishjam-chat, and stops requesting rnwebgpu/native-texture. REQUIRED_FEATURES in react-native-custom-video-source now lists only the platform feature (dawn-multi-planar-formats on iOS, opaque-ycbcr-android-for-external-texture on Android); react-native-vision-camera-source builds on it. fishjam-chat still needs @fishjam-cloud/video-effects bumped to a release with fishjam-cloud/video-effects#10, since 0.1.3 still requests the removed feature. Draft until that's out.

Motivation and Context

react-native-webgpu 0.12 removed the rnwebgpu/native-texture feature (wcandillon/react-native-webgpu#498) and requestDevice throws when it's requested, so on 0.12+ useCameraWebGpuDevice can't create the device and assertWebGpuDeviceSupportsCameraImport rejects any device the app passes in. Apps on a current react-native-webgpu can't use the camera sources at all.

The peer range stays >=0.5.15, since 0.5.15–0.11 turn the native-texture features on by themselves when the adapter has them. The only difference there is that an adapter without them fails on the first frame instead of at device creation.

The 0.19.2 bump brings Dawn 157, readable native errors on Android, and destroy() on shared texture memory and fences (wcandillon/react-native-webgpu#516) that we need to stop per-frame fence memory growth on Android. No API changes were needed.

Tested: tsc passes for both camera packages, and background blur works in fishjam-chat on an iPhone 17 Pro Max (iOS 27.2) with fishjam-cloud/video-effects#10 built locally. useVisionCameraWebGpuSource is only typechecked, the example doesn't use it. I haven't run it on Android.

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)

This branch has not been deployed

No deployments
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.

1 participant