This commit is contained in:
Oleksii Bulenok
2026-07-29 15:51:46 +02:00
parent fe338d33c2
commit 0a116d1d51
9 changed files with 42 additions and 55 deletions
+1 -1
View File
@@ -261,7 +261,7 @@ module.exports = function (_config) {
'expo-build-properties', 'expo-build-properties',
{ {
ios: { ios: {
deploymentTarget: '15.1', deploymentTarget: '16.4',
buildReactNativeFromSource: true, buildReactNativeFromSource: true,
ccacheEnabled: IS_DEV, ccacheEnabled: IS_DEV,
cxxLanguageStandard: 'c++23', cxxLanguageStandard: 'c++23',
@@ -10,7 +10,7 @@ Pod::Spec.new do |s|
s.static_framework = true s.static_framework = true
s.dependency 'ExpoModulesCore' s.dependency 'ExpoModulesCore'
s.dependency 'EXNotifications' s.dependency 'ExpoNotifications'
# Swift/Objective-C compatibility # Swift/Objective-C compatibility
s.pod_target_xcconfig = { s.pod_target_xcconfig = {
@@ -1,4 +1,4 @@
import EXNotifications import ExpoNotifications
import ExpoModulesCore import ExpoModulesCore
import UIKit import UIKit
import UserNotifications import UserNotifications
+3 -3
View File
@@ -166,7 +166,7 @@
"emoji-regex": "^10.4.0", "emoji-regex": "^10.4.0",
"eventemitter3": "^5.0.1", "eventemitter3": "^5.0.1",
"expo": "57.0.8", "expo": "57.0.8",
"expo-age-range": "0.2.18", "expo-age-range": "57.0.2",
"expo-application": "~57.0.2", "expo-application": "~57.0.2",
"expo-asset": "~57.0.7", "expo-asset": "~57.0.7",
"expo-blur": "~57.0.2", "expo-blur": "~57.0.2",
@@ -240,7 +240,7 @@
"react-native-pager-view": "6.8.0", "react-native-pager-view": "6.8.0",
"react-native-progress": "^5.0.1", "react-native-progress": "^5.0.1",
"react-native-qrcode-styled": "^0.3.3", "react-native-qrcode-styled": "^0.3.3",
"react-native-reanimated": "~4.3.2", "react-native-reanimated": "~4.4.2",
"react-native-safe-area-context": "~5.7.0", "react-native-safe-area-context": "~5.7.0",
"react-native-screens": "4.26.2", "react-native-screens": "4.26.2",
"react-native-scroll-forwarder": "link:./modules/react-native-scroll-forwarder", "react-native-scroll-forwarder": "link:./modules/react-native-scroll-forwarder",
@@ -272,7 +272,7 @@
"@lingui/babel-plugin-lingui-macro": "^5.9.2", "@lingui/babel-plugin-lingui-macro": "^5.9.2",
"@lingui/cli": "^5.9.2", "@lingui/cli": "^5.9.2",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.15", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.15",
"@react-native/babel-preset": "0.81.5", "@react-native/babel-preset": "0.86.0",
"@react-native/typescript-config": "^0.81.5", "@react-native/typescript-config": "^0.81.5",
"@sentry/webpack-plugin": "^3.2.2", "@sentry/webpack-plugin": "^3.2.2",
"@testing-library/react-native": "^13.2.0", "@testing-library/react-native": "^13.2.0",
@@ -1,10 +1,10 @@
diff --git a/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.cpp b/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.cpp diff --git a/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.cpp b/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.cpp
index 531f0dc7b4eeb9b29cb2255d8444da02a74c35b7..534f419fce55c39a09a7eebfb7ab3c53f8a16637 100644 index 2db064c..2f8c187 100644
--- a/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.cpp --- a/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.cpp
+++ b/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.cpp +++ b/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.cpp
@@ -1,8 +1,10 @@ @@ -5,8 +5,10 @@
#include <reanimated/Fabric/updates/AnimatedPropsRegistry.h>
#include <reanimated/Tools/FeatureFlags.h> #include <react/debug/react_native_assert.h>
+#include <functional> +#include <functional>
#include <memory> #include <memory>
@@ -13,8 +13,8 @@ index 531f0dc7b4eeb9b29cb2255d8444da02a74c35b7..534f419fce55c39a09a7eebfb7ab3c53
namespace reanimated { namespace reanimated {
@@ -25,25 +27,59 @@ void AnimatedPropsRegistry::update(jsi::Runtime &rt, const jsi::Value &operation @@ -36,25 +38,59 @@ void AnimatedPropsRegistry::update(jsi::Runtime &rt, const jsi::Value &operation
addUpdatesToBatch(shadowNode, jsi::dynamicFromValue(rt, updates)); }
if constexpr (StaticFeatureFlags::getFlag("FORCE_REACT_RENDER_FOR_SETTLED_ANIMATIONS")) { if constexpr (StaticFeatureFlags::getFlag("FORCE_REACT_RENDER_FOR_SETTLED_ANIMATIONS")) {
- timestampMap_[shadowNode->getTag()] = timestamp; - timestampMap_[shadowNode->getTag()] = timestamp;
@@ -34,7 +34,7 @@ index 531f0dc7b4eeb9b29cb2255d8444da02a74c35b7..534f419fce55c39a09a7eebfb7ab3c53
- const double timestamp, - const double timestamp,
- const double cleanupTimestamp) { - const double cleanupTimestamp) {
+jsi::Value AnimatedPropsRegistry::collectSettledUpdates(jsi::Runtime &rt, const double settledTimestamp) { +jsi::Value AnimatedPropsRegistry::collectSettledUpdates(jsi::Runtime &rt, const double settledTimestamp) {
std::lock_guard<std::mutex> lock{mutex_}; react_native_assert(UpdatesRegistryManager::isLockedByCurrentThread());
- removeUpdatesOlderThanTimestamp(cleanupTimestamp); - removeUpdatesOlderThanTimestamp(cleanupTimestamp);
std::vector<std::pair<Tag, std::reference_wrapper<const folly::dynamic>>> updates; std::vector<std::pair<Tag, std::reference_wrapper<const folly::dynamic>>> updates;
@@ -83,7 +83,7 @@ index 531f0dc7b4eeb9b29cb2255d8444da02a74c35b7..534f419fce55c39a09a7eebfb7ab3c53
} }
const jsi::Array array(rt, updates.size()); const jsi::Array array(rt, updates.size());
@@ -58,22 +94,11 @@ jsi::Value AnimatedPropsRegistry::getUpdatesOlderThanTimestamp( @@ -69,22 +105,11 @@ jsi::Value AnimatedPropsRegistry::getUpdatesOlderThanTimestamp(
return jsi::Value(rt, array); return jsi::Value(rt, array);
} }
@@ -109,7 +109,7 @@ index 531f0dc7b4eeb9b29cb2255d8444da02a74c35b7..534f419fce55c39a09a7eebfb7ab3c53
} // namespace reanimated } // namespace reanimated
diff --git a/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.h b/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.h diff --git a/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.h b/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.h
index 2c6c0e13604c9421e147d7eea7f4a4752288011c..8cd67f118501c2786b94d76541aea29a14ba8c16 100644 index 2197eec..a9cb24c 100644
--- a/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.h --- a/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.h
+++ b/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.h +++ b/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.h
@@ -4,10 +4,8 @@ @@ -4,10 +4,8 @@
@@ -138,7 +138,7 @@ index 2c6c0e13604c9421e147d7eea7f4a4752288011c..8cd67f118501c2786b94d76541aea29a
+ jsi::Value collectSettledUpdates(jsi::Runtime &rt, double settledTimestamp); + jsi::Value collectSettledUpdates(jsi::Runtime &rt, double settledTimestamp);
private: private:
std::unordered_map<Tag, double> timestampMap_; // viewTag -> timestamp, protected by `mutex_` std::unordered_map<Tag, double> timestampMap_;
+ // Tags whose latest values have already been pushed to React `settledProps`. + // Tags whose latest values have already been pushed to React `settledProps`.
+ // Intentionally retained after eviction to detect re-animation staleness. + // Intentionally retained after eviction to detect re-animation staleness.
+ std::unordered_set<Tag> syncedTags_; + std::unordered_set<Tag> syncedTags_;
@@ -151,10 +151,10 @@ index 2c6c0e13604c9421e147d7eea7f4a4752288011c..8cd67f118501c2786b94d76541aea29a
}; };
diff --git a/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h b/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h diff --git a/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h b/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h
index 096218ab9659955cd6272c97181bce3c893ed591..1a8e25fc8295b3ac943130709bf063ea41a50585 100644 index 8603591..20d042b 100644
--- a/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h --- a/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h
+++ b/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h +++ b/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h
@@ -57,11 +57,11 @@ class LayoutAnimationsProxyCommon : public facebook::react::MountingOverrideDele @@ -62,11 +62,11 @@ class LayoutAnimationsProxyCommon : public facebook::react::MountingOverrideDele
const SharedComponentDescriptorRegistry &componentDescriptorRegistry, const SharedComponentDescriptorRegistry &componentDescriptorRegistry,
const std::shared_ptr<const ContextContainer> &contextContainer, const std::shared_ptr<const ContextContainer> &contextContainer,
jsi::Runtime &uiRuntime, jsi::Runtime &uiRuntime,
@@ -168,7 +168,7 @@ index 096218ab9659955cd6272c97181bce3c893ed591..1a8e25fc8295b3ac943130709bf063ea
const std::shared_ptr<facebook::react::CallInvoker> &jsInvoker const std::shared_ptr<facebook::react::CallInvoker> &jsInvoker
#endif #endif
) )
@@ -69,11 +69,11 @@ class LayoutAnimationsProxyCommon : public facebook::react::MountingOverrideDele @@ -74,11 +74,11 @@ class LayoutAnimationsProxyCommon : public facebook::react::MountingOverrideDele
contextContainer_(contextContainer), contextContainer_(contextContainer),
componentDescriptorRegistry_(componentDescriptorRegistry), componentDescriptorRegistry_(componentDescriptorRegistry),
uiRuntime_(uiRuntime), uiRuntime_(uiRuntime),
@@ -182,7 +182,7 @@ index 096218ab9659955cd6272c97181bce3c893ed591..1a8e25fc8295b3ac943130709bf063ea
jsInvoker_(jsInvoker) jsInvoker_(jsInvoker)
#endif #endif
{ {
@@ -93,10 +93,10 @@ class LayoutAnimationsProxyCommon : public facebook::react::MountingOverrideDele @@ -98,10 +98,10 @@ class LayoutAnimationsProxyCommon : public facebook::react::MountingOverrideDele
SharedComponentDescriptorRegistry componentDescriptorRegistry_; SharedComponentDescriptorRegistry componentDescriptorRegistry_;
jsi::Runtime &uiRuntime_; jsi::Runtime &uiRuntime_;
const std::shared_ptr<UIScheduler> uiScheduler_; const std::shared_ptr<UIScheduler> uiScheduler_;
@@ -195,7 +195,7 @@ index 096218ab9659955cd6272c97181bce3c893ed591..1a8e25fc8295b3ac943130709bf063ea
void restoreOpacityInCaseOfFlakyEnteringAnimation(SurfaceId surfaceId) const; void restoreOpacityInCaseOfFlakyEnteringAnimation(SurfaceId surfaceId) const;
diff --git a/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.h b/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.h diff --git a/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.h b/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.h
index eca44e4cf651d16e9741806004ce9119c85d07d6..e39c79a5d7b52659106ed6fe6fbcbbc048bf4787 100644 index eca44e4..e39c79a 100644
--- a/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.h --- a/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.h
+++ b/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.h +++ b/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.h
@@ -66,11 +66,11 @@ struct LayoutAnimationsProxy_Experimental : public LayoutAnimationsProxyCommon, @@ -66,11 +66,11 @@ struct LayoutAnimationsProxy_Experimental : public LayoutAnimationsProxyCommon,
@@ -227,18 +227,18 @@ index eca44e4cf651d16e9741806004ce9119c85d07d6..e39c79a5d7b52659106ed6fe6fbcbbc0
#endif #endif
), ),
diff --git a/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.cpp b/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.cpp diff --git a/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.cpp b/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.cpp
index 83ef7430b923b6b3b99368ee8072168769110cd0..2affd12822ab19bdc90963d3ce8ca1e6bb0d43b7 100644 index a3927af..13833b7 100644
--- a/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.cpp --- a/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.cpp
+++ b/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.cpp +++ b/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.cpp
@@ -2,6 +2,7 @@ @@ -1,6 +1,7 @@
#include <reanimated/NativeModules/ReanimatedModuleProxy.h> #include <reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h>
#include <react/renderer/animations/utils.h> #include <react/debug/react_native_assert.h>
+#include <react/renderer/mounting/ShadowTree.h> +#include <react/renderer/mounting/ShadowTree.h>
#include <react/renderer/mounting/ShadowViewMutation.h> #include <react/renderer/mounting/ShadowViewMutation.h>
#include <memory> #include <memory>
@@ -53,14 +54,37 @@ std::optional<MountingTransaction> LayoutAnimationsProxy_Legacy::pullTransaction @@ -58,14 +59,37 @@ std::optional<MountingTransaction> LayoutAnimationsProxy_Legacy::pullTransaction
parseRemoveMutations(movedViews, mutations, roots); parseRemoveMutations(movedViews, mutations, roots);
@@ -278,7 +278,7 @@ index 83ef7430b923b6b3b99368ee8072168769110cd0..2affd12822ab19bdc90963d3ce8ca1e6
return MountingTransaction{surfaceId, transactionNumber, std::move(filteredMutations), telemetry}; return MountingTransaction{surfaceId, transactionNumber, std::move(filteredMutations), telemetry};
} }
@@ -947,23 +971,22 @@ inline bool MutationNode::isMutationNode() { @@ -959,23 +983,22 @@ inline bool MutationNode::isMutationNode() {
return true; return true;
} }
@@ -318,7 +318,7 @@ index 83ef7430b923b6b3b99368ee8072168769110cd0..2affd12822ab19bdc90963d3ce8ca1e6
} // namespace reanimated } // namespace reanimated
diff --git a/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h b/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h diff --git a/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h b/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h
index e9a5e9959e89ec33cee179ddb907c17f6dfbd3de..a2c89041518cd71e8ba5ac62ef89c0022d197c9b 100644 index e9a5e99..a2c8904 100644
--- a/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h --- a/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h
+++ b/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h +++ b/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h
@@ -3,8 +3,8 @@ @@ -3,8 +3,8 @@
@@ -404,10 +404,10 @@ index e9a5e9959e89ec33cee179ddb907c17f6dfbd3de..a2c89041518cd71e8ba5ac62ef89c002
} // namespace reanimated } // namespace reanimated
diff --git a/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp b/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp diff --git a/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp b/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp
index 9ade22bf773005613048a00c47b35767628e86c6..f3415e824da1a8da5c83762415ca54646bd6429f 100644 index 60c88ec..a23545a 100644
--- a/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp --- a/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp
+++ b/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp +++ b/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp
@@ -524,15 +524,13 @@ jsi::Value ReanimatedModuleProxy::getSettledUpdates(jsi::Runtime &rt) { @@ -641,16 +641,14 @@ jsi::Value ReanimatedModuleProxy::getSettledUpdates(jsi::Runtime &rt) {
StaticFeatureFlags::getFlag("FORCE_REACT_RENDER_FOR_SETTLED_ANIMATIONS") && StaticFeatureFlags::getFlag("FORCE_REACT_RENDER_FOR_SETTLED_ANIMATIONS") &&
"getSettledUpdates requires FORCE_REACT_RENDER_FOR_SETTLED_ANIMATIONS static feature flag to be enabled"); "getSettledUpdates requires FORCE_REACT_RENDER_FOR_SETTLED_ANIMATIONS static feature flag to be enabled");
@@ -420,27 +420,14 @@ index 9ade22bf773005613048a00c47b35767628e86c6..f3415e824da1a8da5c83762415ca5464
// TODO(future): flush updates from CSS animations and CSS transitions registries // TODO(future): flush updates from CSS animations and CSS transitions registries
- // TODO(future): find a better way to obtain timestamp for removing updates - // TODO(future): find a better way to obtain timestamp for removing updates
- // TODO(future): move removing old updates to separate method - // TODO(future): move removing old updates to separate method
auto lock = updatesRegistryManager_->lock();
- return animatedPropsRegistry_->getUpdatesOlderThanTimestamp( - return animatedPropsRegistry_->getUpdatesOlderThanTimestamp(
- rt, currentTimestamp - 1000 /* 1 second */, currentTimestamp - 2000 /* 2 seconds */); - rt, currentTimestamp - 1000 /* 1 second */, currentTimestamp - 2000 /* 2 seconds */);
+ return animatedPropsRegistry_->collectSettledUpdates(rt, currentTimestamp - SETTLED_ANIMATION_THRESHOLD_MS); + return animatedPropsRegistry_->collectSettledUpdates(rt, currentTimestamp - SETTLED_ANIMATION_THRESHOLD_MS);
} }
bool ReanimatedModuleProxy::handleEvent( bool ReanimatedModuleProxy::handleEvent(
@@ -1306,11 +1304,11 @@ void ReanimatedModuleProxy::initializeLayoutAnimationsProxy() { @@ -1227,22 +1225,19 @@ void ReanimatedModuleProxy::initializeLayoutAnimationsProxy() {
componentDescriptorRegistry,
scheduler->getContextContainer(),
getJSIRuntimeFromWorkletRuntime(uiRuntime_),
- uiScheduler_
+ uiScheduler_,
+ uiManager_
#ifdef ANDROID
,
filterUnmountedTagsFunction_,
- uiManager_,
jsInvoker_
#endif
);
@@ -1319,22 +1317,19 @@ void ReanimatedModuleProxy::initializeLayoutAnimationsProxy() {
#endif #endif
layoutAnimationsProxy_ = std::move(layoutAnimationsProxyExperimental); layoutAnimationsProxy_ = std::move(layoutAnimationsProxyExperimental);
} else { } else {
@@ -467,7 +454,7 @@ index 9ade22bf773005613048a00c47b35767628e86c6..f3415e824da1a8da5c83762415ca5464
} }
} }
diff --git a/src/PropsRegistryGarbageCollector.ts b/src/PropsRegistryGarbageCollector.ts diff --git a/src/PropsRegistryGarbageCollector.ts b/src/PropsRegistryGarbageCollector.ts
index f917ce5a8586c02855f1d8d9ae73154592d22510..32148fbac8a9224ffec6edc784b48938da9585fb 100644 index f917ce5..32148fb 100644
--- a/src/PropsRegistryGarbageCollector.ts --- a/src/PropsRegistryGarbageCollector.ts
+++ b/src/PropsRegistryGarbageCollector.ts +++ b/src/PropsRegistryGarbageCollector.ts
@@ -11,7 +11,6 @@ import { ReanimatedModule } from './ReanimatedModule'; @@ -11,7 +11,6 @@ import { ReanimatedModule } from './ReanimatedModule';
@@ -1,4 +1,4 @@
# react-native-reanimated@4.3.2.patch # react-native-reanimated@4.4.2.patch
Backports of two merged upstream PRs: Backports of two merged upstream PRs:
+7 -7
View File
@@ -13,16 +13,16 @@ packageExtensions:
trustPolicy: 'no-downgrade' # default: off trustPolicy: 'no-downgrade' # default: off
trustPolicyIgnoreAfter: 10080 # 7 days, default: undefined trustPolicyIgnoreAfter: 10080 # 7 days, default: undefined
overrides: overrides:
'@react-native/babel-preset': '0.81.5' '@react-native/babel-preset': '0.86.0'
'@react-native/normalize-colors': '0.81.5' '@react-native/normalize-colors': '0.86.0'
'@expo/image-utils': '0.8.12' '@expo/image-utils': '0.8.12'
'@types/estree': '1.0.6' '@types/estree': '1.0.6'
'react-native-compressor': '1.13.0' 'react-native-compressor': '1.13.0'
'react-native-reanimated': '4.3.2' 'react-native-reanimated': '4.4.2'
'react-native-worklets': '0.8.3' 'react-native-worklets': '0.10.0'
'psl': '1.9.0' 'psl': '1.9.0'
'@types/psl': '1.1.1' '@types/psl': '1.1.1'
'react-native-screens': '4.24.0' 'react-native-screens': '4.26.2'
allowBuilds: allowBuilds:
'@sentry/cli': true '@sentry/cli': true
'core-js': false 'core-js': false
@@ -31,7 +31,7 @@ allowBuilds:
'unrs-resolver': true 'unrs-resolver': true
patchedDependencies: patchedDependencies:
'@sentry/expo-upload-sourcemaps@8.18.0': patches/@sentry__expo-upload-sourcemaps@8.18.0.patch '@sentry/expo-upload-sourcemaps@8.18.0': patches/@sentry__expo-upload-sourcemaps@8.18.0.patch
'expo-age-range@0.2.18': patches/expo-age-range@0.2.18.patch 'expo-age-range@57.0.2': patches/expo-age-range@57.0.2.patch
'expo-haptics@57.0.1': patches/expo-haptics@57.0.1.patch 'expo-haptics@57.0.1': patches/expo-haptics@57.0.1.patch
'expo-media-library@57.0.3': patches/expo-media-library@57.0.3.patch 'expo-media-library@57.0.3': patches/expo-media-library@57.0.3.patch
'expo-modules-core@57.0.7': patches/expo-modules-core@57.0.7.patch 'expo-modules-core@57.0.7': patches/expo-modules-core@57.0.7.patch
@@ -42,7 +42,7 @@ patchedDependencies:
'react-native-drawer-layout@4.2.3': patches/react-native-drawer-layout@4.2.3.patch 'react-native-drawer-layout@4.2.3': patches/react-native-drawer-layout@4.2.3.patch
'react-native-keyboard-controller@1.21.9': patches/react-native-keyboard-controller@1.21.9.patch 'react-native-keyboard-controller@1.21.9': patches/react-native-keyboard-controller@1.21.9.patch
'react-native-pager-view@6.8.0': patches/react-native-pager-view@6.8.0.patch 'react-native-pager-view@6.8.0': patches/react-native-pager-view@6.8.0.patch
'react-native-reanimated@4.3.2': patches/react-native-reanimated@4.3.2.patch 'react-native-reanimated@4.4.2': patches/react-native-reanimated@4.4.2.patch
react-native-screens@4.24.0: patches/react-native-screens@4.24.0.patch react-native-screens@4.24.0: patches/react-native-screens@4.24.0.patch
'react-native-svg@15.15.4': patches/react-native-svg@15.15.4.patch 'react-native-svg@15.15.4': patches/react-native-svg@15.15.4.patch
'react-native-view-shot@4.0.3': patches/react-native-view-shot@4.0.3.patch 'react-native-view-shot@4.0.3': patches/react-native-view-shot@4.0.3.patch
+1 -1
View File
@@ -14,7 +14,7 @@ SETTINGS_GRADLE="$ANDROID_DIR/settings.gradle"
# Guard against building with the wrong app identity. The New Arch build must # Guard against building with the wrong app identity. The New Arch build must
# use a distinct rootProject.name so it installs alongside the store app rather # use a distinct rootProject.name so it installs alongside the store app rather
# than overwriting it. # than overwriting it.
EXPECTED_APP_NAME="rootProject.name = 'Bluesky (New Arch)'" EXPECTED_APP_NAME="rootProject.name = 'Bluesky'"
if ! grep -qF "$EXPECTED_APP_NAME" "$SETTINGS_GRADLE"; then if ! grep -qF "$EXPECTED_APP_NAME" "$SETTINGS_GRADLE"; then
echo "Error: expected \"$EXPECTED_APP_NAME\" in $SETTINGS_GRADLE" >&2 echo "Error: expected \"$EXPECTED_APP_NAME\" in $SETTINGS_GRADLE" >&2
echo "(Set the app name in settings.gradle before building the New Arch release.)" >&2 echo "(Set the app name in settings.gradle before building the New Arch release.)" >&2