diff --git a/patches/react-native-worklets@0.8.3.patch b/patches/react-native-worklets@0.11.3.patch similarity index 86% rename from patches/react-native-worklets@0.8.3.patch rename to patches/react-native-worklets@0.11.3.patch index 44b839e7fe..3b85b954f7 100644 --- a/patches/react-native-worklets@0.8.3.patch +++ b/patches/react-native-worklets@0.11.3.patch @@ -1,16 +1,16 @@ diff --git a/lib/module/threads.js b/lib/module/threads.js -index dd3a7f1ab12e5a8030af7f17b6a7a891e0b645d2..7d48ccbf95f00724db6b083a7155f25aadd6b8f5 100644 +index c17e314..71f3cf7 100644 --- a/lib/module/threads.js +++ b/lib/module/threads.js -@@ -2,7 +2,6 @@ +@@ -1,7 +1,6 @@ + 'use strict'; - import { WorkletsError } from './debug/WorkletsError'; import { IS_JEST } from './platformChecker'; --import { mockedRequestAnimationFrame } from './runLoop/uiRuntime/mockedRequestAnimationFrame'; +-import { mockedRequestAnimationFrame } from "./runLoop/uiRuntime/mockedRequestAnimationFrame.js"; export function scheduleOnUI(worklet, ...args) { enqueueUI(worklet, args); } -@@ -24,38 +23,50 @@ export function scheduleOnRN(fun, ...args) { +@@ -23,38 +22,50 @@ export function scheduleOnRN(fun, ...args) { queueMicrotask(args.length ? () => fun(...args) : fun); } export function runOnUIAsync(worklet, ...args) { @@ -73,6 +73,8 @@ index dd3a7f1ab12e5a8030af7f17b6a7a891e0b645d2..7d48ccbf95f00724db6b083a7155f25a }); } -const requestAnimationFrameImpl = !globalThis.requestAnimationFrame ? mockedRequestAnimationFrame : globalThis.requestAnimationFrame; +-//# sourceMappingURL=threads.js.map +\ No newline at end of file +function drainUIQueue(queue) { + while (queue.length > offset) { + const [workletFunction, workletArgs, jobResolve] = queue[offset]; @@ -83,4 +85,4 @@ index dd3a7f1ab12e5a8030af7f17b6a7a891e0b645d2..7d48ccbf95f00724db6b083a7155f25a + } + } +} - //# sourceMappingURL=threads.js.map ++//# sourceMappingURL=threads.js.map diff --git a/patches/react-native-worklets@0.8.3.patch.md b/patches/react-native-worklets@0.11.3.patch.md similarity index 97% rename from patches/react-native-worklets@0.8.3.patch.md rename to patches/react-native-worklets@0.11.3.patch.md index 0ba4b26aa9..fb9e2feaeb 100644 --- a/patches/react-native-worklets@0.8.3.patch.md +++ b/patches/react-native-worklets@0.11.3.patch.md @@ -1,4 +1,4 @@ -# react-native-worklets@0.8.3.patch +# react-native-worklets@0.11.3.patch Backport of https://github.com/software-mansion/react-native-reanimated/pull/10167 ("fix(Worklets): web scheduleOnUI implementation on errors"). diff --git a/patches/react-native@0.86.0.patch.md b/patches/react-native@0.86.0.patch.md index 052ff44654..e024b0cdcf 100644 --- a/patches/react-native@0.86.0.patch.md +++ b/patches/react-native@0.86.0.patch.md @@ -61,6 +61,8 @@ Upstream issue #43388 still open as of Aug 2026. Haptics cannot be verified on t physical device only. Spinner position verified via frame logs; haptic on this variant NOT yet device-verified. +Opened issue in RN repo: https://github.com/react/react-native/issues/57843 + ## RCTEnhancedScrollView.mm / RCTScrollViewComponentView.mm Patch - centerContent insets stale after content resize on New Arch **TODO: Remove after bumping React Native to 0.87+** (fixed upstream by facebook/react-native#56832, diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 4aa51c12cf..f5a9ab7cd3 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -46,7 +46,7 @@ patchedDependencies: 'react-native-reanimated@4.5.3': patches/react-native-reanimated@4.5.3.patch 'react-native-screens@4.26.2': patches/react-native-screens@4.26.2.patch 'react-native-svg@15.15.4': patches/react-native-svg@15.15.4.patch - react-native-worklets@0.8.3: patches/react-native-worklets@0.8.3.patch + react-native-worklets@0.11.3: patches/react-native-worklets@0.11.3.patch 'react-native@0.86.0': patches/react-native@0.86.0.patch minimumReleaseAgeExclude: - '@atproto/*'