diff --git a/examples/ExpoMessaging/app.json b/examples/ExpoMessaging/app.json
index 5b3393b136..191472d07e 100644
--- a/examples/ExpoMessaging/app.json
+++ b/examples/ExpoMessaging/app.json
@@ -15,6 +15,9 @@
"updates": {
"fallbackToCacheTimeout": 0
},
+ "experiments": {
+ "reactCompiler": true
+ },
"assetBundlePatterns": ["**/*"],
"ios": {
"supportsTablet": true,
diff --git a/examples/ExpoMessaging/package.json b/examples/ExpoMessaging/package.json
index 5caee9252e..05cdda1247 100644
--- a/examples/ExpoMessaging/package.json
+++ b/examples/ExpoMessaging/package.json
@@ -18,12 +18,12 @@
"@react-native-firebase/messaging": "^23.4.0",
"@react-navigation/elements": "^2.6.4",
"@react-navigation/native": "^7.1.8",
- "@shopify/flash-list": "^2.1.0",
- "expo": "54.0.13",
- "expo-audio": "~1.0.13",
+ "@shopify/flash-list": "2.0.2",
+ "expo": "54.0.22",
+ "expo-audio": "~1.0.14",
"expo-build-properties": "~1.0.9",
"expo-clipboard": "~8.0.7",
- "expo-constants": "~18.0.9",
+ "expo-constants": "~18.0.10",
"expo-document-picker": "~14.0.7",
"expo-file-system": "~19.0.17",
"expo-haptics": "~15.0.7",
@@ -31,13 +31,13 @@
"expo-image-picker": "~17.0.8",
"expo-linking": "~8.0.8",
"expo-location": "~19.0.7",
- "expo-router": "~6.0.12",
+ "expo-router": "~6.0.14",
"expo-sharing": "~14.0.7",
"expo-splash-screen": "~31.0.10",
"expo-status-bar": "~3.0.8",
- "expo-video": "~3.0.11",
+ "expo-video": "~3.0.14",
"react": "19.1.0",
- "react-native": "0.81.4",
+ "react-native": "0.81.5",
"react-native-gesture-handler": "~2.28.0",
"react-native-maps": "1.20.1",
"react-native-reanimated": "~4.1.1",
diff --git a/examples/ExpoMessaging/yarn.lock b/examples/ExpoMessaging/yarn.lock
index c3ec79aa75..b0654bc72e 100644
--- a/examples/ExpoMessaging/yarn.lock
+++ b/examples/ExpoMessaging/yarn.lock
@@ -785,10 +785,10 @@
dependencies:
"@types/hammerjs" "^2.0.36"
-"@expo/cli@54.0.11":
- version "54.0.11"
- resolved "https://registry.yarnpkg.com/@expo/cli/-/cli-54.0.11.tgz#a86b6c01ab76620d25a0a7e0574ab43403b91253"
- integrity sha512-ik9p8+JTOuVXS462+vFPV0qnWRBXIR1bPmoVKO8xQWw6Yk+K6UlU2GrM2ch7kA3JlSJE/MGsNyN8CB0zFZbVbQ==
+"@expo/cli@54.0.15":
+ version "54.0.15"
+ resolved "https://registry.yarnpkg.com/@expo/cli/-/cli-54.0.15.tgz#63ca51d082fe0d683482c320f9b827c1637c01cb"
+ integrity sha512-tgaKFeYNRjZssPueZMm1+2cRek6mxEsthPoBX6NzQeDlzIzYBBpnAR6xH95UO6A7r0vduBeL2acIAV1Y5aSGJQ==
dependencies:
"@0no-co/graphql.web" "^1.0.8"
"@expo/code-signing-certificates" "^0.0.5"
@@ -798,18 +798,18 @@
"@expo/env" "~2.0.7"
"@expo/image-utils" "^0.8.7"
"@expo/json-file" "^10.0.7"
- "@expo/mcp-tunnel" "~0.0.7"
- "@expo/metro" "~54.0.0"
- "@expo/metro-config" "~54.0.6"
+ "@expo/mcp-tunnel" "~0.1.0"
+ "@expo/metro" "~54.1.0"
+ "@expo/metro-config" "~54.0.8"
"@expo/osascript" "^2.3.7"
"@expo/package-manager" "^1.9.8"
"@expo/plist" "^0.4.7"
- "@expo/prebuild-config" "^54.0.5"
+ "@expo/prebuild-config" "^54.0.6"
"@expo/schema-utils" "^0.1.7"
"@expo/spawn-async" "^1.7.2"
"@expo/ws-tunnel" "^1.0.1"
"@expo/xcpretty" "^4.3.0"
- "@react-native/dev-middleware" "0.81.4"
+ "@react-native/dev-middleware" "0.81.5"
"@urql/core" "^5.0.6"
"@urql/exchange-retry" "^1.3.0"
accepts "^1.3.8"
@@ -823,7 +823,7 @@
connect "^3.7.0"
debug "^4.3.4"
env-editor "^0.4.1"
- expo-server "^1.0.1"
+ expo-server "^1.0.4"
freeport-async "^2.0.0"
getenv "^2.0.0"
glob "^10.4.2"
@@ -934,10 +934,10 @@
dotenv-expand "~11.0.6"
getenv "^2.0.0"
-"@expo/fingerprint@0.15.1":
- version "0.15.1"
- resolved "https://registry.yarnpkg.com/@expo/fingerprint/-/fingerprint-0.15.1.tgz#1feb1c761b6787d56c6d70a834c495157fbe050a"
- integrity sha512-U1S9DwiapCHQjHdHDDyO/oXsl/1oEHSHZRRkWDDrHgXRUDiAVIySw9Unvvcr118Ee6/x4NmKSZY1X0VagrqmFg==
+"@expo/fingerprint@0.15.3":
+ version "0.15.3"
+ resolved "https://registry.yarnpkg.com/@expo/fingerprint/-/fingerprint-0.15.3.tgz#26e7231d1ebd69a375c02ba595bba7b06fe882bb"
+ integrity sha512-8YPJpEYlmV171fi+t+cSLMX1nC5ngY9j2FiN70dHldLpd6Ct6ouGhk96svJ4BQZwsqwII2pokwzrDAwqo4Z0FQ==
dependencies:
"@expo/spawn-async" "^1.7.2"
arg "^5.0.2"
@@ -975,19 +975,19 @@
"@babel/code-frame" "~7.10.4"
json5 "^2.2.3"
-"@expo/mcp-tunnel@~0.0.7":
- version "0.0.8"
- resolved "https://registry.yarnpkg.com/@expo/mcp-tunnel/-/mcp-tunnel-0.0.8.tgz#8c4fabec4e25e119998b22bd846e9d12435da4da"
- integrity sha512-6261obzt6h9TQb6clET7Fw4Ig4AY2hfTNKI3gBt0gcTNxZipwMg8wER7ssDYieA9feD/FfPTuCPYFcR280aaWA==
+"@expo/mcp-tunnel@~0.1.0":
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/@expo/mcp-tunnel/-/mcp-tunnel-0.1.0.tgz#ae4ce4320b2f97a9891783c2316f9936c912d126"
+ integrity sha512-rJ6hl0GnIZj9+ssaJvFsC7fwyrmndcGz+RGFzu+0gnlm78X01957yjtHgjcmnQAgL5hWEOR6pkT0ijY5nU5AWw==
dependencies:
ws "^8.18.3"
zod "^3.25.76"
zod-to-json-schema "^3.24.6"
-"@expo/metro-config@54.0.6", "@expo/metro-config@~54.0.6":
- version "54.0.6"
- resolved "https://registry.yarnpkg.com/@expo/metro-config/-/metro-config-54.0.6.tgz#382b7c8f864cf21e1d15716a6ead27d834bee215"
- integrity sha512-z3wufTr1skM03PI6Dr1ZsrvjAiGKf/w0VQvdZL+mEnKNqRA7Q4bhJDGk1+nzs+WWRWz4vS488uad9ERmSclBmg==
+"@expo/metro-config@54.0.8", "@expo/metro-config@~54.0.8":
+ version "54.0.8"
+ resolved "https://registry.yarnpkg.com/@expo/metro-config/-/metro-config-54.0.8.tgz#7e5bf551b23e8f4c8ec20504184e0a9988ffa86e"
+ integrity sha512-rCkDQ8IT6sgcGNy48O2cTE4NlazCAgAIsD5qBsNPJLZSS0XbaILvAgGsFt/4nrx0GMGj6iQcOn5ifwV4NssTmw==
dependencies:
"@babel/code-frame" "^7.20.0"
"@babel/core" "^7.20.0"
@@ -995,7 +995,7 @@
"@expo/config" "~12.0.10"
"@expo/env" "~2.0.7"
"@expo/json-file" "~10.0.7"
- "@expo/metro" "~54.0.0"
+ "@expo/metro" "~54.1.0"
"@expo/spawn-async" "^1.7.2"
browserslist "^4.25.0"
chalk "^4.1.0"
@@ -1021,23 +1021,23 @@
stacktrace-parser "^0.1.10"
whatwg-fetch "^3.0.0"
-"@expo/metro@~54.0.0":
- version "54.0.0"
- resolved "https://registry.yarnpkg.com/@expo/metro/-/metro-54.0.0.tgz#ebb3846ee2fee688147fc08f7fed5b75fabde17f"
- integrity sha512-x2HlliepLJVLSe0Fl/LuPT83Mn2EXpPlb1ngVtcawlz4IfbkYJo16/Zfsfrn1t9d8LpN5dD44Dc55Q1/fO05Nw==
- dependencies:
- metro "0.83.1"
- metro-babel-transformer "0.83.1"
- metro-cache "0.83.1"
- metro-cache-key "0.83.1"
- metro-config "0.83.1"
- metro-core "0.83.1"
- metro-file-map "0.83.1"
- metro-resolver "0.83.1"
- metro-runtime "0.83.1"
- metro-source-map "0.83.1"
- metro-transform-plugins "0.83.1"
- metro-transform-worker "0.83.1"
+"@expo/metro@~54.1.0":
+ version "54.1.0"
+ resolved "https://registry.yarnpkg.com/@expo/metro/-/metro-54.1.0.tgz#27765ef2c342c39086a2f5c9f932a375dc2ccad3"
+ integrity sha512-MgdeRNT/LH0v1wcO0TZp9Qn8zEF0X2ACI0wliPtv5kXVbXWI+yK9GyrstwLAiTXlULKVIg3HVSCCvmLu0M3tnw==
+ dependencies:
+ metro "0.83.2"
+ metro-babel-transformer "0.83.2"
+ metro-cache "0.83.2"
+ metro-cache-key "0.83.2"
+ metro-config "0.83.2"
+ metro-core "0.83.2"
+ metro-file-map "0.83.2"
+ metro-resolver "0.83.2"
+ metro-runtime "0.83.2"
+ metro-source-map "0.83.2"
+ metro-transform-plugins "0.83.2"
+ metro-transform-worker "0.83.2"
"@expo/osascript@^2.3.7":
version "2.3.7"
@@ -1084,17 +1084,17 @@
semver "^7.6.0"
xml2js "0.6.0"
-"@expo/prebuild-config@^54.0.5":
- version "54.0.5"
- resolved "https://registry.yarnpkg.com/@expo/prebuild-config/-/prebuild-config-54.0.5.tgz#81bf7e2b8641da38cade6bb7341f0d384d9bc8f4"
- integrity sha512-eCvbVUf01j1nSrs4mG/rWwY+SfgE30LM6JcElLrnNgNnaDWzt09E/c8n3ZeTLNKENwJaQQ1KIn2VE461/4VnWQ==
+"@expo/prebuild-config@^54.0.6":
+ version "54.0.6"
+ resolved "https://registry.yarnpkg.com/@expo/prebuild-config/-/prebuild-config-54.0.6.tgz#0f0daed0195efbb33d91a730052b208507f94eed"
+ integrity sha512-xowuMmyPNy+WTNq+YX0m0EFO/Knc68swjThk4dKivgZa8zI1UjvFXOBIOp8RX4ljCXLzwxQJM5oBBTvyn+59ZA==
dependencies:
"@expo/config" "~12.0.10"
"@expo/config-plugins" "~54.0.2"
"@expo/config-types" "^54.0.8"
"@expo/image-utils" "^0.8.7"
"@expo/json-file" "^10.0.7"
- "@react-native/normalize-colors" "0.81.4"
+ "@react-native/normalize-colors" "0.81.5"
debug "^4.3.1"
resolve-from "^5.0.0"
semver "^7.6.0"
@@ -1122,10 +1122,10 @@
resolved "https://registry.yarnpkg.com/@expo/sudo-prompt/-/sudo-prompt-9.3.2.tgz#0fd2813402a42988e49145cab220e25bea74b308"
integrity sha512-HHQigo3rQWKMDzYDLkubN5WQOYXJJE2eNqIQC2axC2iO3mHdwnIR7FgZVvHWtBwAdzBgAP0ECp8KqS8TiMKvgw==
-"@expo/vector-icons@^15.0.2":
- version "15.0.2"
- resolved "https://registry.yarnpkg.com/@expo/vector-icons/-/vector-icons-15.0.2.tgz#64d380f04cf2bdeb1dac502c3a0d880b6c2a9e37"
- integrity sha512-IiBjg7ZikueuHNf40wSGCf0zS73a3guJLdZzKnDUxsauB8VWPLMeWnRIupc+7cFhLUkqyvyo0jLNlcxG5xPOuQ==
+"@expo/vector-icons@^15.0.3":
+ version "15.0.3"
+ resolved "https://registry.yarnpkg.com/@expo/vector-icons/-/vector-icons-15.0.3.tgz#12c38d4e6cc927dd0500e4591ac00672a8909748"
+ integrity sha512-SBUyYKphmlfUBqxSfDdJ3jAdEVSALS2VUPOUyqn48oZmb2TL/O7t7/PQm5v4NQujYEPLPMTLn9KVw6H7twwbTA==
"@expo/ws-tunnel@^1.0.1":
version "1.0.6"
@@ -2010,23 +2010,23 @@
resolved "https://registry.yarnpkg.com/@react-native-firebase/messaging/-/messaging-23.4.0.tgz#dd667f3ef6e84cdf63cdf263d0a51318336061da"
integrity sha512-wxdgl6teo+OsS4nG3KBQM8bFwmZNY4ZzR6UAYB0e7vvp0J/dMfduErkZ6uzEkEjjt2UsOeWB2PBLcgxKjYsX4A==
-"@react-native/assets-registry@0.81.4":
- version "0.81.4"
- resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.81.4.tgz#bfa477c8e9d54d6ef4ab6e81b886d5be13c09fbd"
- integrity sha512-AMcDadefBIjD10BRqkWw+W/VdvXEomR6aEZ0fhQRAv7igrBzb4PTn4vHKYg+sUK0e3wa74kcMy2DLc/HtnGcMA==
+"@react-native/assets-registry@0.81.5":
+ version "0.81.5"
+ resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.81.5.tgz#d22c924fa6f6d4a463c5af34ce91f38756c0fa7d"
+ integrity sha512-705B6x/5Kxm1RKRvSv0ADYWm5JOnoiQ1ufW7h8uu2E6G9Of/eE6hP/Ivw3U5jI16ERqZxiKQwk34VJbB0niX9w==
-"@react-native/babel-plugin-codegen@0.81.4":
- version "0.81.4"
- resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.81.4.tgz#0e513ac2108ff509eab1470982db472faab9ae46"
- integrity sha512-6ztXf2Tl2iWznyI/Da/N2Eqymt0Mnn69GCLnEFxFbNdk0HxHPZBNWU9shTXhsLWOL7HATSqwg/bB1+3kY1q+mA==
+"@react-native/babel-plugin-codegen@0.81.5":
+ version "0.81.5"
+ resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.81.5.tgz#328d03f42c32b5a8cc2dee1aa84a7c48dddc5f18"
+ integrity sha512-oF71cIH6je3fSLi6VPjjC3Sgyyn57JLHXs+mHWc9MoCiJJcM4nqsS5J38zv1XQ8d3zOW2JtHro+LF0tagj2bfQ==
dependencies:
"@babel/traverse" "^7.25.3"
- "@react-native/codegen" "0.81.4"
+ "@react-native/codegen" "0.81.5"
-"@react-native/babel-preset@0.81.4":
- version "0.81.4"
- resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.81.4.tgz#a9be20fb625014a65a51784b540992031bc12085"
- integrity sha512-VYj0c/cTjQJn/RJ5G6P0L9wuYSbU9yGbPYDHCKstlQZQWkk+L9V8ZDbxdJBTIei9Xl3KPQ1odQ4QaeW+4v+AZg==
+"@react-native/babel-preset@0.81.5":
+ version "0.81.5"
+ resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.81.5.tgz#e8b7969d21f87ef4e41e603248e8a70c44b4a5bb"
+ integrity sha512-UoI/x/5tCmi+pZ3c1+Ypr1DaRMDLI3y+Q70pVLLVgrnC3DHsHRIbHcCHIeG/IJvoeFqFM2sTdhSOLJrf8lOPrA==
dependencies:
"@babel/core" "^7.25.2"
"@babel/plugin-proposal-export-default-from" "^7.24.7"
@@ -2069,15 +2069,15 @@
"@babel/plugin-transform-typescript" "^7.25.2"
"@babel/plugin-transform-unicode-regex" "^7.24.7"
"@babel/template" "^7.25.0"
- "@react-native/babel-plugin-codegen" "0.81.4"
+ "@react-native/babel-plugin-codegen" "0.81.5"
babel-plugin-syntax-hermes-parser "0.29.1"
babel-plugin-transform-flow-enums "^0.0.2"
react-refresh "^0.14.0"
-"@react-native/codegen@0.81.4":
- version "0.81.4"
- resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.81.4.tgz#eb884e2c3c6a46ccddbdfa6198705658e4a30c6c"
- integrity sha512-LWTGUTzFu+qOQnvkzBP52B90Ym3stZT8IFCzzUrppz8Iwglg83FCtDZAR4yLHI29VY/x/+pkcWAMCl3739XHdw==
+"@react-native/codegen@0.81.5":
+ version "0.81.5"
+ resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.81.5.tgz#d4dec668c94b9d58a5c2dbdbf026db331e1b6b27"
+ integrity sha512-a2TDA03Up8lpSa9sh5VRGCQDXgCTOyDOFH+aqyinxp1HChG8uk89/G+nkJ9FPd0rqgi25eCTR16TWdS3b+fA6g==
dependencies:
"@babel/core" "^7.25.2"
"@babel/parser" "^7.25.3"
@@ -2087,12 +2087,12 @@
nullthrows "^1.1.1"
yargs "^17.6.2"
-"@react-native/community-cli-plugin@0.81.4":
- version "0.81.4"
- resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.81.4.tgz#7bed570cec5277baa22a6eae0843abbd1345a290"
- integrity sha512-8mpnvfcLcnVh+t1ok6V9eozWo8Ut+TZhz8ylJ6gF9d6q9EGDQX6s8jenan5Yv/pzN4vQEKI4ib2pTf/FELw+SA==
+"@react-native/community-cli-plugin@0.81.5":
+ version "0.81.5"
+ resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.81.5.tgz#617789cda4da419d03dda00e2a78c36188b4391e"
+ integrity sha512-yWRlmEOtcyvSZ4+OvqPabt+NS36vg0K/WADTQLhrYrm9qdZSuXmq8PmdJWz/68wAqKQ+4KTILiq2kjRQwnyhQw==
dependencies:
- "@react-native/dev-middleware" "0.81.4"
+ "@react-native/dev-middleware" "0.81.5"
debug "^4.4.0"
invariant "^2.2.4"
metro "^0.83.1"
@@ -2100,18 +2100,18 @@
metro-core "^0.83.1"
semver "^7.1.3"
-"@react-native/debugger-frontend@0.81.4":
- version "0.81.4"
- resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.81.4.tgz#da05018377a6d24ed694057c3445907ba81413ae"
- integrity sha512-SU05w1wD0nKdQFcuNC9D6De0ITnINCi8MEnx9RsTD2e4wN83ukoC7FpXaPCYyP6+VjFt5tUKDPgP1O7iaNXCqg==
+"@react-native/debugger-frontend@0.81.5":
+ version "0.81.5"
+ resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.81.5.tgz#82ece0181e9a7a3dcbdfa86cf9decd654e13f81f"
+ integrity sha512-bnd9FSdWKx2ncklOetCgrlwqSGhMHP2zOxObJbOWXoj7GHEmih4MKarBo5/a8gX8EfA1EwRATdfNBQ81DY+h+w==
-"@react-native/dev-middleware@0.81.4":
- version "0.81.4"
- resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.81.4.tgz#61271dbbd4ff92d7f53462f19f3273bc28bb8bf0"
- integrity sha512-hu1Wu5R28FT7nHXs2wWXvQ++7W7zq5GPY83llajgPlYKznyPLAY/7bArc5rAzNB7b0kwnlaoPQKlvD/VP9LZug==
+"@react-native/dev-middleware@0.81.5":
+ version "0.81.5"
+ resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.81.5.tgz#81e8ac545d7736ef6ebb2e59fdbaebc5cf9aedec"
+ integrity sha512-WfPfZzboYgo/TUtysuD5xyANzzfka8Ebni6RIb2wDxhb56ERi7qDrE4xGhtPsjCL4pQBXSVxyIlCy0d8I6EgGA==
dependencies:
"@isaacs/ttlcache" "^1.4.1"
- "@react-native/debugger-frontend" "0.81.4"
+ "@react-native/debugger-frontend" "0.81.5"
chrome-launcher "^0.15.2"
chromium-edge-launcher "^0.2.0"
connect "^3.6.5"
@@ -2122,25 +2122,30 @@
serve-static "^1.16.2"
ws "^6.2.3"
-"@react-native/gradle-plugin@0.81.4":
- version "0.81.4"
- resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.81.4.tgz#249b7876df47a3ddefddffa71b1fd0193f7da376"
- integrity sha512-T7fPcQvDDCSusZFVSg6H1oVDKb/NnVYLnsqkcHsAF2C2KGXyo3J7slH/tJAwNfj/7EOA2OgcWxfC1frgn9TQvw==
+"@react-native/gradle-plugin@0.81.5":
+ version "0.81.5"
+ resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.81.5.tgz#a58830f38789f6254b64449a17fe57455b589d00"
+ integrity sha512-hORRlNBj+ReNMLo9jme3yQ6JQf4GZpVEBLxmTXGGlIL78MAezDZr5/uq9dwElSbcGmLEgeiax6e174Fie6qPLg==
-"@react-native/js-polyfills@0.81.4":
- version "0.81.4"
- resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.81.4.tgz#cbc3924cfb994ed00ef841a796f54be21520d3b0"
- integrity sha512-sr42FaypKXJHMVHhgSbu2f/ZJfrLzgaoQ+HdpRvKEiEh2mhFf6XzZwecyLBvWqf2pMPZa+CpPfNPiejXjKEy8w==
+"@react-native/js-polyfills@0.81.5":
+ version "0.81.5"
+ resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.81.5.tgz#2ca68188c8fff9b951f507b1dec7efe928848274"
+ integrity sha512-fB7M1CMOCIUudTRuj7kzxIBTVw2KXnsgbQ6+4cbqSxo8NmRRhA0Ul4ZUzZj3rFd3VznTL4Brmocv1oiN0bWZ8w==
"@react-native/normalize-colors@0.81.4":
version "0.81.4"
resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.81.4.tgz#a0384d5aaac825aeefa5e391947189f6cee4a641"
integrity sha512-9nRRHO1H+tcFqjb9gAM105Urtgcanbta2tuqCVY0NATHeFPDEAB7gPyiLxCHKMi1NbhP6TH0kxgSWXKZl1cyRg==
-"@react-native/virtualized-lists@0.81.4":
- version "0.81.4"
- resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.81.4.tgz#3c9c162fc96777c87ca07e8686f227343dbc8f13"
- integrity sha512-hBM+rMyL6Wm1Q4f/WpqGsaCojKSNUBqAXLABNGoWm1vabZ7cSnARMxBvA/2vo3hLcoR4v7zDK8tkKm9+O0LjVA==
+"@react-native/normalize-colors@0.81.5":
+ version "0.81.5"
+ resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.81.5.tgz#1ca6cb6772bb7324df2b11aab35227eacd6bdfe7"
+ integrity sha512-0HuJ8YtqlTVRXGZuGeBejLE04wSQsibpTI+RGOyVqxZvgtlLLC/Ssw0UmbHhT4lYMp2fhdtvKZSs5emWB1zR/g==
+
+"@react-native/virtualized-lists@0.81.5":
+ version "0.81.5"
+ resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.81.5.tgz#24123fded16992d7e46ecc4ccd473be939ea8c1b"
+ integrity sha512-UVXgV/db25OPIvwZySeToXD/9sKKhOdkcWmmf4Jh8iBZuyfML+/5CasaZ1E7Lqg6g3uqVQq75NqIwkYmORJMPw==
dependencies:
invariant "^2.2.4"
nullthrows "^1.1.1"
@@ -2248,10 +2253,12 @@
read-yaml-file "^2.1.0"
strip-json-comments "^3.1.1"
-"@shopify/flash-list@^2.1.0":
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/@shopify/flash-list/-/flash-list-2.1.0.tgz#b1eefcf9fbd01ca04a5f24a6003cda3b46a59f64"
- integrity sha512-/EIQlptG456yM5o9qNmNsmaZEFEOGvG3WGyb6GUAxSLlcKUGlPUkPI2NLW5wQSDEY4xSRa5zocUI+9xwmsM4Kg==
+"@shopify/flash-list@2.0.2":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@shopify/flash-list/-/flash-list-2.0.2.tgz#644748f883fccf8cf2e0ca251e0ef88673b89120"
+ integrity sha512-zhlrhA9eiuEzja4wxVvotgXHtqd3qsYbXkQ3rsBfOgbFA9BVeErpDE/yEwtlIviRGEqpuFj/oU5owD6ByaNX+w==
+ dependencies:
+ tslib "2.8.1"
"@sinclair/typebox@^0.27.8":
version "0.27.8"
@@ -2630,10 +2637,10 @@ babel-plugin-polyfill-regenerator@^0.6.5:
dependencies:
"@babel/helper-define-polyfill-provider" "^0.6.5"
-babel-plugin-react-compiler@^19.1.0-rc.2:
- version "19.1.0-rc.3"
- resolved "https://registry.yarnpkg.com/babel-plugin-react-compiler/-/babel-plugin-react-compiler-19.1.0-rc.3.tgz#45e5a282a2460b3701971e5eb8310a90a7919022"
- integrity sha512-mjRn69WuTz4adL0bXGx8Rsyk1086zFJeKmes6aK0xPuK3aaXmDJdLHqwKKMrpm6KAI1MCoUK72d2VeqQbu8YIA==
+babel-plugin-react-compiler@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-react-compiler/-/babel-plugin-react-compiler-1.0.0.tgz#bdf7360a23a4d5ebfca090255da3893efd07425f"
+ integrity sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw==
dependencies:
"@babel/types" "^7.26.0"
@@ -2677,10 +2684,10 @@ babel-preset-current-node-syntax@^1.0.0:
"@babel/plugin-syntax-private-property-in-object" "^7.14.5"
"@babel/plugin-syntax-top-level-await" "^7.14.5"
-babel-preset-expo@~54.0.3:
- version "54.0.3"
- resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-54.0.3.tgz#1b93cfdbf7c3cb1034770f368bc5cd46a977c179"
- integrity sha512-zC6g96Mbf1bofnCI8yI0VKAp8/ER/gpfTsWOpQvStbHU+E4jFZ294n3unW8Hf6nNP4NoeNq9Zc6Prp0vwhxbow==
+babel-preset-expo@~54.0.6:
+ version "54.0.6"
+ resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-54.0.6.tgz#a0158c7a4eb7f52c8830d6e2bfdfa329043eaee2"
+ integrity sha512-GxJfwnuOPQJbzDe5WASJZdNQiukLw7i9z+Lh6JQWkUHXsShHyQrqgiKE55MD/KaP9VqJ70yZm7bYqOu8zwcWqQ==
dependencies:
"@babel/helper-module-imports" "^7.25.9"
"@babel/plugin-proposal-decorators" "^7.12.9"
@@ -2697,8 +2704,8 @@ babel-preset-expo@~54.0.3:
"@babel/plugin-transform-runtime" "^7.24.7"
"@babel/preset-react" "^7.22.15"
"@babel/preset-typescript" "^7.23.0"
- "@react-native/babel-preset" "0.81.4"
- babel-plugin-react-compiler "^19.1.0-rc.2"
+ "@react-native/babel-preset" "0.81.5"
+ babel-plugin-react-compiler "^1.0.0"
babel-plugin-react-native-web "~0.21.0"
babel-plugin-syntax-hermes-parser "^0.29.1"
babel-plugin-transform-flow-enums "^0.0.2"
@@ -2837,25 +2844,6 @@ call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2:
es-errors "^1.3.0"
function-bind "^1.1.2"
-caller-callsite@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134"
- integrity sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==
- dependencies:
- callsites "^2.0.0"
-
-caller-path@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4"
- integrity sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==
- dependencies:
- caller-callsite "^2.0.0"
-
-callsites@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
- integrity sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==
-
camelcase@^5.3.1:
version "5.3.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
@@ -3070,16 +3058,6 @@ core-js-compat@^3.43.0:
dependencies:
browserslist "^4.25.3"
-cosmiconfig@^5.0.5:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
- integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
- dependencies:
- import-fresh "^2.0.0"
- is-directory "^0.3.1"
- js-yaml "^3.13.1"
- parse-json "^4.0.0"
-
cross-spawn@^7.0.3, cross-spawn@^7.0.6:
version "7.0.6"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f"
@@ -3322,13 +3300,6 @@ env-editor@^0.4.1:
resolved "https://registry.yarnpkg.com/env-editor/-/env-editor-0.4.2.tgz#4e76568d0bd8f5c2b6d314a9412c8fe9aa3ae861"
integrity sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA==
-error-ex@^1.3.1:
- version "1.3.4"
- resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.4.tgz#b3a8d8bb6f92eecc1629e3e27d3c8607a8a32414"
- integrity sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==
- dependencies:
- is-arrayish "^0.2.1"
-
error-stack-parser@^2.0.6:
version "2.1.4"
resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286"
@@ -3416,10 +3387,10 @@ expo-asset@~12.0.9:
"@expo/image-utils" "^0.8.7"
expo-constants "~18.0.9"
-expo-audio@~1.0.13:
- version "1.0.13"
- resolved "https://registry.yarnpkg.com/expo-audio/-/expo-audio-1.0.13.tgz#e9e79fece878296560f5d2f5080562232d0629e0"
- integrity sha512-Z91jMYv/BMpn5Dkyu204RyNl2EpXRx8HgScTYlwRRYewtfTH8NN+bwZQAApn33NwGhW1cIlcuG/XCAeJBr9l4Q==
+expo-audio@~1.0.14:
+ version "1.0.14"
+ resolved "https://registry.yarnpkg.com/expo-audio/-/expo-audio-1.0.14.tgz#c30108005c452291ed36295f0247ce880ff979b2"
+ integrity sha512-UU8n1mIDPfO9zFQbPnIpnzhHeqC8c8WQUoOOFvlgI5CeOJMUrQ6UXDpX+LBcHxw/amSBhF5HP6VMr58foPKwbA==
expo-build-properties@~1.0.9:
version "1.0.9"
@@ -3434,6 +3405,14 @@ expo-clipboard@~8.0.7:
resolved "https://registry.yarnpkg.com/expo-clipboard/-/expo-clipboard-8.0.7.tgz#f81d279036408bbe074ef748623e1ae6f170d391"
integrity sha512-zvlfFV+wB2QQrQnHWlo0EKHAkdi2tycLtE+EXFUWTPZYkgu1XcH+aiKfd4ul7Z0SDF+1IuwoiW9AA9eO35aj3Q==
+expo-constants@~18.0.10:
+ version "18.0.10"
+ resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-18.0.10.tgz#92d4490d51193fc94bd40590453ce9cab4faf6fb"
+ integrity sha512-Rhtv+X974k0Cahmvx6p7ER5+pNhBC0XbP1lRviL2J1Xl4sT2FBaIuIxF/0I0CbhOsySf0ksqc5caFweAy9Ewiw==
+ dependencies:
+ "@expo/config" "~12.0.10"
+ "@expo/env" "~2.0.7"
+
expo-constants@~18.0.8, expo-constants@~18.0.9:
version "18.0.9"
resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-18.0.9.tgz#fcaf37e97ea2b928bd3b92f2ea9836984ab6e48b"
@@ -3501,29 +3480,28 @@ expo-location@~19.0.7:
resolved "https://registry.yarnpkg.com/expo-location/-/expo-location-19.0.7.tgz#58ab5b9b59db3a26d0495c19e719d5f559948b1c"
integrity sha512-YNkh4r9E6ECbPkBCAMG5A5yHDgS0pw+Rzyd0l2ZQlCtjkhlODB55nMCKr5CZnUI0mXTkaSm8CwfoCO8n2MpYfg==
-expo-modules-autolinking@3.0.15:
- version "3.0.15"
- resolved "https://registry.yarnpkg.com/expo-modules-autolinking/-/expo-modules-autolinking-3.0.15.tgz#15e8483a30733d18f0709a64d282a03610c418a7"
- integrity sha512-B6c+x664ImrWd+PknEy5454gtY6P0cMxj4P50fvLYP4HimbYj9SzwoHqZ/Rxh9NwxnUkT2nappk/USYIcPoS/A==
+expo-modules-autolinking@3.0.20:
+ version "3.0.20"
+ resolved "https://registry.yarnpkg.com/expo-modules-autolinking/-/expo-modules-autolinking-3.0.20.tgz#d29fc6d642d98649ea1f0a2a971d60152986851d"
+ integrity sha512-W4XFE/A2ijrqvXYrwXug+cUQl6ALYKtsrGnd+xdnoZ+yC7HZag45CJ9mXR0qfLpwXxuBu0HDFh/a+a1MD0Ppdg==
dependencies:
"@expo/spawn-async" "^1.7.2"
chalk "^4.1.0"
commander "^7.2.0"
- glob "^10.4.2"
require-from-string "^2.0.2"
resolve-from "^5.0.0"
-expo-modules-core@3.0.21:
- version "3.0.21"
- resolved "https://registry.yarnpkg.com/expo-modules-core/-/expo-modules-core-3.0.21.tgz#26438c901e26184a40fe8f0d73a64f66a39c59b2"
- integrity sha512-KJRzm0FEt/lfPNG+C6UUq+ta9PO10QPwY1HGCNkzPiRCIMJmQP4xRYK4Z7AxiYEYsPqr5OdjRW55kGZ4c5pzgA==
+expo-modules-core@3.0.24:
+ version "3.0.24"
+ resolved "https://registry.yarnpkg.com/expo-modules-core/-/expo-modules-core-3.0.24.tgz#9e078938a9c081c87d827898a723ecf9016e2635"
+ integrity sha512-wmL0R3WVM2WEs0UJcq/rF1FKXbSrPmXozgzhCUujrb+crkW8p7Y/qKyPBAQwdwcqipuWYaFOgO49AdQ36jmvkA==
dependencies:
invariant "^2.2.4"
-expo-router@~6.0.12:
- version "6.0.12"
- resolved "https://registry.yarnpkg.com/expo-router/-/expo-router-6.0.12.tgz#ec2ea4d8d35bd5cb6d005db44805680325fa6d09"
- integrity sha512-GBfMHAbHoPv7aCfHOEgFNxcadw4euPyI/SqHNNtw+Sm+JtvauHP34wi7Bg25JxatHQ8EdhxAj6w0D8D6QRnayg==
+expo-router@~6.0.14:
+ version "6.0.14"
+ resolved "https://registry.yarnpkg.com/expo-router/-/expo-router-6.0.14.tgz#92a125a8a051186aac59f60040a03c6f8353d21b"
+ integrity sha512-vizLO4SgnMEL+PPs2dXr+etEOuksjue7yUQBCtfCEdqoDkQlB0r35zI7rS34Wt53sxKWSlM2p+038qQEpxtiFw==
dependencies:
"@expo/metro-runtime" "^6.1.2"
"@expo/schema-utils" "^0.1.7"
@@ -3535,7 +3513,7 @@ expo-router@~6.0.12:
client-only "^0.0.1"
debug "^4.3.4"
escape-string-regexp "^4.0.0"
- expo-server "^1.0.1"
+ expo-server "^1.0.3"
fast-deep-equal "^3.1.3"
invariant "^2.2.4"
nanoid "^3.3.8"
@@ -3549,10 +3527,10 @@ expo-router@~6.0.12:
use-latest-callback "^0.2.1"
vaul "^1.1.2"
-expo-server@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/expo-server/-/expo-server-1.0.1.tgz#9e04605310be090896a85aadce2cb7eaf6aae9b7"
- integrity sha512-J3JlpzNXOkkr4BbapTrcv6klBQcw6NzrBBVIU7qkNE2eU3U1on9rp27wi0+cihjG/QgxSIqQVkrga5z3HWnH0A==
+expo-server@^1.0.3, expo-server@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/expo-server/-/expo-server-1.0.4.tgz#cb90f23272257f8cb0c9dceaade26bb169d8a3f7"
+ integrity sha512-IN06r3oPxFh3plSXdvBL7dx0x6k+0/g0bgxJlNISs6qL5Z+gyPuWS750dpTzOeu37KyBG0RcyO9cXUKzjYgd4A==
expo-sharing@~14.0.7:
version "14.0.7"
@@ -3573,34 +3551,34 @@ expo-status-bar@~3.0.8:
dependencies:
react-native-is-edge-to-edge "^1.2.1"
-expo-video@~3.0.11:
- version "3.0.11"
- resolved "https://registry.yarnpkg.com/expo-video/-/expo-video-3.0.11.tgz#9ba2c4da694fe3d54f191f160702ddc70412e782"
- integrity sha512-k/xz8Ml/LekuD2U2LomML2mUISvkHzYDz3fXY8Au1fEaYVNTfTs7Gyfo1lvF6S1X7u3XutoAfew8e8e1ZUR2fg==
+expo-video@~3.0.14:
+ version "3.0.14"
+ resolved "https://registry.yarnpkg.com/expo-video/-/expo-video-3.0.14.tgz#aaf3dfefbc3c202f1267d8599aa2d3bf48a45ad1"
+ integrity sha512-k4vz9mUzrgUdVI0IKesWzkYCJw0yc2AKioN/riLg+X/dyR/GG6ej03nzqKd0KmPjtG6FcJEA0D/BuxCtU4OH1Q==
-expo@54.0.13:
- version "54.0.13"
- resolved "https://registry.yarnpkg.com/expo/-/expo-54.0.13.tgz#e81897f3517487e4423d21eff7507d9d0c40e2f2"
- integrity sha512-F1puKXzw8ESnsbvaKdXtcIiyYLQ2kUHqP8LuhgtJS1wm6w55VhtOPg8yl/0i8kPbTA0YfD+KYdXjSfhPXgUPxw==
+expo@54.0.22:
+ version "54.0.22"
+ resolved "https://registry.yarnpkg.com/expo/-/expo-54.0.22.tgz#1615f35b2b46ca2bc9109482f1bd6e64eab30858"
+ integrity sha512-w8J89M9BdVwo6urwvPeV4nAUwykv9si1UHUfZvSVWQ/b2aGs0Ci/a5RZ550rdEBgJXZAapIAhdW2M28Ojw+oGg==
dependencies:
"@babel/runtime" "^7.20.0"
- "@expo/cli" "54.0.11"
+ "@expo/cli" "54.0.15"
"@expo/config" "~12.0.10"
"@expo/config-plugins" "~54.0.2"
"@expo/devtools" "0.1.7"
- "@expo/fingerprint" "0.15.1"
- "@expo/metro" "~54.0.0"
- "@expo/metro-config" "54.0.6"
- "@expo/vector-icons" "^15.0.2"
+ "@expo/fingerprint" "0.15.3"
+ "@expo/metro" "~54.1.0"
+ "@expo/metro-config" "54.0.8"
+ "@expo/vector-icons" "^15.0.3"
"@ungap/structured-clone" "^1.3.0"
- babel-preset-expo "~54.0.3"
+ babel-preset-expo "~54.0.6"
expo-asset "~12.0.9"
- expo-constants "~18.0.9"
+ expo-constants "~18.0.10"
expo-file-system "~19.0.17"
expo-font "~14.0.9"
expo-keep-awake "~15.0.7"
- expo-modules-autolinking "3.0.15"
- expo-modules-core "3.0.21"
+ expo-modules-autolinking "3.0.20"
+ expo-modules-core "3.0.24"
pretty-format "^29.7.0"
react-refresh "^0.14.2"
whatwg-url-without-unicode "8.0.0-3"
@@ -4008,14 +3986,6 @@ image-size@^1.0.2:
dependencies:
queue "6.0.2"
-import-fresh@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
- integrity sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==
- dependencies:
- caller-path "^2.0.0"
- resolve-from "^3.0.0"
-
imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
@@ -4056,11 +4026,6 @@ invariant@^2.2.4:
dependencies:
loose-envify "^1.0.0"
-is-arrayish@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
- integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
-
is-arrayish@^0.3.1:
version "0.3.4"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.4.tgz#1ee5553818511915685d33bb13d31bf854e5059d"
@@ -4073,11 +4038,6 @@ is-core-module@^2.16.0:
dependencies:
hasown "^2.0.2"
-is-directory@^0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
- integrity sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==
-
is-docker@^2.0.0, is-docker@^2.1.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
@@ -4286,11 +4246,6 @@ jsesc@^3.0.2, jsesc@~3.1.0:
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d"
integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==
-json-parse-better-errors@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
- integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
-
json-schema-traverse@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
@@ -4590,14 +4545,14 @@ merge2@^1.3.0:
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
-metro-babel-transformer@0.83.1:
- version "0.83.1"
- resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.83.1.tgz#77e548b4b8f087fe30ffcd112826b371f83b597d"
- integrity sha512-r3xAD3964E8dwDBaZNSO2aIIvWXjIK80uO2xo0/pi3WI8XWT9h5SCjtGWtMtE5PRWw+t20TN0q1WMRsjvhC1rQ==
+metro-babel-transformer@0.83.2:
+ version "0.83.2"
+ resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.83.2.tgz#d3885f2a266f01e43f16bdcfb786b1d8f1598f56"
+ integrity sha512-rirY1QMFlA1uxH3ZiNauBninwTioOgwChnRdDcbB4tgRZ+bGX9DiXoh9QdpppiaVKXdJsII932OwWXGGV4+Nlw==
dependencies:
"@babel/core" "^7.25.2"
flow-enums-runtime "^0.0.6"
- hermes-parser "0.29.1"
+ hermes-parser "0.32.0"
nullthrows "^1.1.1"
metro-babel-transformer@0.83.3:
@@ -4610,10 +4565,10 @@ metro-babel-transformer@0.83.3:
hermes-parser "0.32.0"
nullthrows "^1.1.1"
-metro-cache-key@0.83.1:
- version "0.83.1"
- resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.83.1.tgz#18c59c7c6944cfa0856d57ff5ebbdc18dec12687"
- integrity sha512-ZUs+GD5CNeDLxx5UUWmfg26IL+Dnbryd+TLqTlZnDEgehkIa11kUSvgF92OFfJhONeXzV4rZDRGNXoo6JT+8Gg==
+metro-cache-key@0.83.2:
+ version "0.83.2"
+ resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.83.2.tgz#b34427fdafe551d567ac312f8a3c7e334a20f796"
+ integrity sha512-3EMG/GkGKYoTaf5RqguGLSWRqGTwO7NQ0qXKmNBjr0y6qD9s3VBXYlwB+MszGtmOKsqE9q3FPrE5Nd9Ipv7rZw==
dependencies:
flow-enums-runtime "^0.0.6"
@@ -4624,15 +4579,15 @@ metro-cache-key@0.83.3:
dependencies:
flow-enums-runtime "^0.0.6"
-metro-cache@0.83.1:
- version "0.83.1"
- resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.83.1.tgz#bc1319d44934d0935ec4eaf10d28b90ec6ce0aac"
- integrity sha512-7N/Ad1PHa1YMWDNiyynTPq34Op2qIE68NWryGEQ4TSE3Zy6a8GpsYnEEZE4Qi6aHgsE+yZHKkRczeBgxhnFIxQ==
+metro-cache@0.83.2:
+ version "0.83.2"
+ resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.83.2.tgz#d647d9253312801b19c4930be586c60976244540"
+ integrity sha512-Z43IodutUZeIS7OTH+yQFjc59QlFJ6s5OvM8p2AP9alr0+F8UKr8ADzFzoGKoHefZSKGa4bJx7MZJLF6GwPDHQ==
dependencies:
exponential-backoff "^3.1.1"
flow-enums-runtime "^0.0.6"
https-proxy-agent "^7.0.5"
- metro-core "0.83.1"
+ metro-core "0.83.2"
metro-cache@0.83.3:
version "0.83.3"
@@ -4644,19 +4599,19 @@ metro-cache@0.83.3:
https-proxy-agent "^7.0.5"
metro-core "0.83.3"
-metro-config@0.83.1:
- version "0.83.1"
- resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.83.1.tgz#28db7ae553883802c30b1eb374817ad1e686e7b4"
- integrity sha512-HJhpZx3wyOkux/jeF1o7akFJzZFdbn6Zf7UQqWrvp7gqFqNulQ8Mju09raBgPmmSxKDl4LbbNeigkX0/nKY1QA==
+metro-config@0.83.2:
+ version "0.83.2"
+ resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.83.2.tgz#5ab5eba754c7affd0f3e44be98543aea37c9fab7"
+ integrity sha512-1FjCcdBe3e3D08gSSiU9u3Vtxd7alGH3x/DNFqWDFf5NouX4kLgbVloDDClr1UrLz62c0fHh2Vfr9ecmrOZp+g==
dependencies:
connect "^3.6.5"
- cosmiconfig "^5.0.5"
flow-enums-runtime "^0.0.6"
jest-validate "^29.7.0"
- metro "0.83.1"
- metro-cache "0.83.1"
- metro-core "0.83.1"
- metro-runtime "0.83.1"
+ metro "0.83.2"
+ metro-cache "0.83.2"
+ metro-core "0.83.2"
+ metro-runtime "0.83.2"
+ yaml "^2.6.1"
metro-config@0.83.3, metro-config@^0.83.1:
version "0.83.3"
@@ -4672,14 +4627,14 @@ metro-config@0.83.3, metro-config@^0.83.1:
metro-runtime "0.83.3"
yaml "^2.6.1"
-metro-core@0.83.1:
- version "0.83.1"
- resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.83.1.tgz#fbedf8c6cfdcc58eaec7011718f1041ac9562cff"
- integrity sha512-uVL1eAJcMFd2o2Q7dsbpg8COaxjZBBGaXqO2OHnivpCdfanraVL8dPmY6It9ZeqWLOihUKZ2yHW4b6soVCzH/Q==
+metro-core@0.83.2:
+ version "0.83.2"
+ resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.83.2.tgz#8b6292482c8cd88bae5f56c5f4903ef7ee292631"
+ integrity sha512-8DRb0O82Br0IW77cNgKMLYWUkx48lWxUkvNUxVISyMkcNwE/9ywf1MYQUE88HaKwSrqne6kFgCSA/UWZoUT0Iw==
dependencies:
flow-enums-runtime "^0.0.6"
lodash.throttle "^4.1.1"
- metro-resolver "0.83.1"
+ metro-resolver "0.83.2"
metro-core@0.83.3, metro-core@^0.83.1:
version "0.83.3"
@@ -4690,10 +4645,10 @@ metro-core@0.83.3, metro-core@^0.83.1:
lodash.throttle "^4.1.1"
metro-resolver "0.83.3"
-metro-file-map@0.83.1:
- version "0.83.1"
- resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.83.1.tgz#9c9a295edd0eb234f23b44952786f0e95c3b2d8d"
- integrity sha512-Yu429lnexKl44PttKw3nhqgmpBR+6UQ/tRaYcxPeEShtcza9DWakCn7cjqDTQZtWR2A8xSNv139izJMyQ4CG+w==
+metro-file-map@0.83.2:
+ version "0.83.2"
+ resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.83.2.tgz#8f943d608f27216fde8dd91787294b5a9409752e"
+ integrity sha512-cMSWnEqZrp/dzZIEd7DEDdk72PXz6w5NOKriJoDN9p1TDQ5nAYrY2lHi8d6mwbcGLoSlWmpPyny9HZYFfPWcGQ==
dependencies:
debug "^4.4.0"
fb-watchman "^2.0.0"
@@ -4720,10 +4675,10 @@ metro-file-map@0.83.3:
nullthrows "^1.1.1"
walker "^1.0.7"
-metro-minify-terser@0.83.1:
- version "0.83.1"
- resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.83.1.tgz#227f534876fb8eb089b64d7bff8cf77d1817c8f4"
- integrity sha512-kmooOxXLvKVxkh80IVSYO4weBdJDhCpg5NSPkjzzAnPJP43u6+usGXobkTWxxrAlq900bhzqKek4pBsUchlX6A==
+metro-minify-terser@0.83.2:
+ version "0.83.2"
+ resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.83.2.tgz#17ea8aef987970f8505ed8f890ab00c47c419608"
+ integrity sha512-zvIxnh7U0JQ7vT4quasKsijId3dOAWgq+ip2jF/8TMrPUqQabGrs04L2dd0haQJ+PA+d4VvK/bPOY8X/vL2PWw==
dependencies:
flow-enums-runtime "^0.0.6"
terser "^5.15.0"
@@ -4736,10 +4691,10 @@ metro-minify-terser@0.83.3:
flow-enums-runtime "^0.0.6"
terser "^5.15.0"
-metro-resolver@0.83.1:
- version "0.83.1"
- resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.83.1.tgz#2e14c8b0762883f3568f41cde08f4a48893021ce"
- integrity sha512-t8j46kiILAqqFS5RNa+xpQyVjULxRxlvMidqUswPEk5nQVNdlJslqizDm/Et3v/JKwOtQGkYAQCHxP1zGStR/g==
+metro-resolver@0.83.2:
+ version "0.83.2"
+ resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.83.2.tgz#d4a40a602615baacfb94d8a773e8b93eaac70d0f"
+ integrity sha512-Yf5mjyuiRE/Y+KvqfsZxrbHDA15NZxyfg8pIk0qg47LfAJhpMVEX+36e6ZRBq7KVBqy6VDX5Sq55iHGM4xSm7Q==
dependencies:
flow-enums-runtime "^0.0.6"
@@ -4750,10 +4705,10 @@ metro-resolver@0.83.3:
dependencies:
flow-enums-runtime "^0.0.6"
-metro-runtime@0.83.1:
- version "0.83.1"
- resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.83.1.tgz#5835c57c20cb89db45c48abb4bdae0246529a21b"
- integrity sha512-3Ag8ZS4IwafL/JUKlaeM6/CbkooY+WcVeqdNlBG0m4S0Qz0om3rdFdy1y6fYBpl6AwXJwWeMuXrvZdMuByTcRA==
+metro-runtime@0.83.2:
+ version "0.83.2"
+ resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.83.2.tgz#77c9715483fd3d449407435c1c160f7410c588d7"
+ integrity sha512-nnsPtgRvFbNKwemqs0FuyFDzXLl+ezuFsUXDbX8o0SXOfsOPijqiQrf3kuafO1Zx1aUWf4NOrKJMAQP5EEHg9A==
dependencies:
"@babel/runtime" "^7.25.0"
flow-enums-runtime "^0.0.6"
@@ -4766,19 +4721,19 @@ metro-runtime@0.83.3, metro-runtime@^0.83.1:
"@babel/runtime" "^7.25.0"
flow-enums-runtime "^0.0.6"
-metro-source-map@0.83.1:
- version "0.83.1"
- resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.83.1.tgz#afaeccad77f543eebfe22ecc1d94c0b58c721946"
- integrity sha512-De7Vbeo96fFZ2cqmI0fWwVJbtHIwPZv++LYlWSwzTiCzxBDJORncN0LcT48Vi2UlQLzXJg+/CuTAcy7NBVh69A==
+metro-source-map@0.83.2:
+ version "0.83.2"
+ resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.83.2.tgz#5688eeb3fc85a1ca0f5f5efede2257a872e2b9fe"
+ integrity sha512-5FL/6BSQvshIKjXOennt9upFngq2lFvDakZn5LfauIVq8+L4sxXewIlSTcxAtzbtjAIaXeOSVMtCJ5DdfCt9AA==
dependencies:
"@babel/traverse" "^7.25.3"
"@babel/traverse--for-generate-function-map" "npm:@babel/traverse@^7.25.3"
"@babel/types" "^7.25.2"
flow-enums-runtime "^0.0.6"
invariant "^2.2.4"
- metro-symbolicate "0.83.1"
+ metro-symbolicate "0.83.2"
nullthrows "^1.1.1"
- ob1 "0.83.1"
+ ob1 "0.83.2"
source-map "^0.5.6"
vlq "^1.0.0"
@@ -4798,14 +4753,14 @@ metro-source-map@0.83.3, metro-source-map@^0.83.1:
source-map "^0.5.6"
vlq "^1.0.0"
-metro-symbolicate@0.83.1:
- version "0.83.1"
- resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.83.1.tgz#c03edc8e7c0e8b44821f2a807c0a8342aaeb77eb"
- integrity sha512-wPxYkONlq/Sv8Ji7vHEx5OzFouXAMQJjpcPW41ySKMLP/Ir18SsiJK2h4YkdKpYrTS1+0xf8oqF6nxCsT3uWtg==
+metro-symbolicate@0.83.2:
+ version "0.83.2"
+ resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.83.2.tgz#63a5f31cdb6db17371a00d259890643d84a75549"
+ integrity sha512-KoU9BLwxxED6n33KYuQQuc5bXkIxF3fSwlc3ouxrrdLWwhu64muYZNQrukkWzhVKRNFIXW7X2iM8JXpi2heIPw==
dependencies:
flow-enums-runtime "^0.0.6"
invariant "^2.2.4"
- metro-source-map "0.83.1"
+ metro-source-map "0.83.2"
nullthrows "^1.1.1"
source-map "^0.5.6"
vlq "^1.0.0"
@@ -4822,10 +4777,10 @@ metro-symbolicate@0.83.3:
source-map "^0.5.6"
vlq "^1.0.0"
-metro-transform-plugins@0.83.1:
- version "0.83.1"
- resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.83.1.tgz#879b8ff34c3720d387889da60c03923394457988"
- integrity sha512-1Y+I8oozXwhuS0qwC+ezaHXBf0jXW4oeYn4X39XWbZt9X2HfjodqY9bH9r6RUTsoiK7S4j8Ni2C91bUC+sktJQ==
+metro-transform-plugins@0.83.2:
+ version "0.83.2"
+ resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.83.2.tgz#c4353147212cad1c76dcea8fd93c7f0c7b09b3a4"
+ integrity sha512-5WlW25WKPkiJk2yA9d8bMuZrgW7vfA4f4MBb9ZeHbTB3eIAoNN8vS8NENgG/X/90vpTB06X66OBvxhT3nHwP6A==
dependencies:
"@babel/core" "^7.25.2"
"@babel/generator" "^7.25.0"
@@ -4846,23 +4801,23 @@ metro-transform-plugins@0.83.3:
flow-enums-runtime "^0.0.6"
nullthrows "^1.1.1"
-metro-transform-worker@0.83.1:
- version "0.83.1"
- resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.83.1.tgz#47aa09f085fe4f859215506de886f1cb7deb300a"
- integrity sha512-owCrhPyUxdLgXEEEAL2b14GWTPZ2zYuab1VQXcfEy0sJE71iciD7fuMcrngoufh7e7UHDZ56q4ktXg8wgiYA1Q==
+metro-transform-worker@0.83.2:
+ version "0.83.2"
+ resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.83.2.tgz#f97367b6384be87ea216a97072810705c19c3775"
+ integrity sha512-G5DsIg+cMZ2KNfrdLnWMvtppb3+Rp1GMyj7Bvd9GgYc/8gRmvq1XVEF9XuO87Shhb03kFhGqMTgZerz3hZ1v4Q==
dependencies:
"@babel/core" "^7.25.2"
"@babel/generator" "^7.25.0"
"@babel/parser" "^7.25.3"
"@babel/types" "^7.25.2"
flow-enums-runtime "^0.0.6"
- metro "0.83.1"
- metro-babel-transformer "0.83.1"
- metro-cache "0.83.1"
- metro-cache-key "0.83.1"
- metro-minify-terser "0.83.1"
- metro-source-map "0.83.1"
- metro-transform-plugins "0.83.1"
+ metro "0.83.2"
+ metro-babel-transformer "0.83.2"
+ metro-cache "0.83.2"
+ metro-cache-key "0.83.2"
+ metro-minify-terser "0.83.2"
+ metro-source-map "0.83.2"
+ metro-transform-plugins "0.83.2"
nullthrows "^1.1.1"
metro-transform-worker@0.83.3:
@@ -4884,10 +4839,10 @@ metro-transform-worker@0.83.3:
metro-transform-plugins "0.83.3"
nullthrows "^1.1.1"
-metro@0.83.1:
- version "0.83.1"
- resolved "https://registry.yarnpkg.com/metro/-/metro-0.83.1.tgz#9f9c138793288cbf9fb26aa84e0693df85607875"
- integrity sha512-UGKepmTxoGD4HkQV8YWvpvwef7fUujNtTgG4Ygf7m/M0qjvb9VuDmAsEU+UdriRX7F61pnVK/opz89hjKlYTXA==
+metro@0.83.2:
+ version "0.83.2"
+ resolved "https://registry.yarnpkg.com/metro/-/metro-0.83.2.tgz#a56d31a604819951c8b9cf19d570897341e29b07"
+ integrity sha512-HQgs9H1FyVbRptNSMy/ImchTTE5vS2MSqLoOo7hbDoBq6hPPZokwJvBMwrYSxdjQZmLXz2JFZtdvS+ZfgTc9yw==
dependencies:
"@babel/code-frame" "^7.24.7"
"@babel/core" "^7.25.2"
@@ -4904,24 +4859,24 @@ metro@0.83.1:
error-stack-parser "^2.0.6"
flow-enums-runtime "^0.0.6"
graceful-fs "^4.2.4"
- hermes-parser "0.29.1"
+ hermes-parser "0.32.0"
image-size "^1.0.2"
invariant "^2.2.4"
jest-worker "^29.7.0"
jsc-safe-url "^0.2.2"
lodash.throttle "^4.1.1"
- metro-babel-transformer "0.83.1"
- metro-cache "0.83.1"
- metro-cache-key "0.83.1"
- metro-config "0.83.1"
- metro-core "0.83.1"
- metro-file-map "0.83.1"
- metro-resolver "0.83.1"
- metro-runtime "0.83.1"
- metro-source-map "0.83.1"
- metro-symbolicate "0.83.1"
- metro-transform-plugins "0.83.1"
- metro-transform-worker "0.83.1"
+ metro-babel-transformer "0.83.2"
+ metro-cache "0.83.2"
+ metro-cache-key "0.83.2"
+ metro-config "0.83.2"
+ metro-core "0.83.2"
+ metro-file-map "0.83.2"
+ metro-resolver "0.83.2"
+ metro-runtime "0.83.2"
+ metro-source-map "0.83.2"
+ metro-symbolicate "0.83.2"
+ metro-transform-plugins "0.83.2"
+ metro-transform-worker "0.83.2"
mime-types "^2.1.27"
nullthrows "^1.1.1"
serialize-error "^2.1.0"
@@ -5133,10 +5088,10 @@ nullthrows@^1.1.1:
resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1"
integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==
-ob1@0.83.1:
- version "0.83.1"
- resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.83.1.tgz#32f5c9e3f8cc5a6ecb1cb344e87a6e39a93f848a"
- integrity sha512-ngwqewtdUzFyycomdbdIhFLjePPSOt1awKMUXQ0L7iLHgWEPF3DsCerblzjzfAUHaXuvE9ccJymWQ/4PNNqvnQ==
+ob1@0.83.2:
+ version "0.83.2"
+ resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.83.2.tgz#23c2e58b7d542fb01e627049710334d14c287cf8"
+ integrity sha512-XlK3w4M+dwd1g1gvHzVbxiXEbUllRONEgcF2uEO0zm4nxa0eKlh41c6N65q1xbiDOeKKda1tvNOAD33fNjyvCg==
dependencies:
flow-enums-runtime "^0.0.6"
@@ -5252,14 +5207,6 @@ package-json-from-dist@^1.0.0:
resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505"
integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==
-parse-json@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
- integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==
- dependencies:
- error-ex "^1.3.1"
- json-parse-better-errors "^1.0.1"
-
parse-png@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/parse-png/-/parse-png-2.1.0.tgz#2a42ad719fedf90f81c59ebee7ae59b280d6b338"
@@ -5599,19 +5546,19 @@ react-native-worklets@0.5.1:
convert-source-map "^2.0.0"
semver "7.7.2"
-react-native@0.81.4:
- version "0.81.4"
- resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.81.4.tgz#d5e9d0a71ed2e80a550a6c358f2ce3ddb6f5b119"
- integrity sha512-bt5bz3A/+Cv46KcjV0VQa+fo7MKxs17RCcpzjftINlen4ZDUl0I6Ut+brQ2FToa5oD0IB0xvQHfmsg2EDqsZdQ==
+react-native@0.81.5:
+ version "0.81.5"
+ resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.81.5.tgz#6c963f137d3979b22aef2d8482067775c8fe2fed"
+ integrity sha512-1w+/oSjEXZjMqsIvmkCRsOc8UBYv163bTWKTI8+1mxztvQPhCRYGTvZ/PL1w16xXHneIj/SLGfxWg2GWN2uexw==
dependencies:
"@jest/create-cache-key-function" "^29.7.0"
- "@react-native/assets-registry" "0.81.4"
- "@react-native/codegen" "0.81.4"
- "@react-native/community-cli-plugin" "0.81.4"
- "@react-native/gradle-plugin" "0.81.4"
- "@react-native/js-polyfills" "0.81.4"
- "@react-native/normalize-colors" "0.81.4"
- "@react-native/virtualized-lists" "0.81.4"
+ "@react-native/assets-registry" "0.81.5"
+ "@react-native/codegen" "0.81.5"
+ "@react-native/community-cli-plugin" "0.81.5"
+ "@react-native/gradle-plugin" "0.81.5"
+ "@react-native/js-polyfills" "0.81.5"
+ "@react-native/normalize-colors" "0.81.5"
+ "@react-native/virtualized-lists" "0.81.5"
abort-controller "^3.0.0"
anser "^1.4.9"
ansi-regex "^5.0.0"
@@ -5744,11 +5691,6 @@ requireg@^0.2.2:
rc "~1.2.7"
resolve "~1.7.1"
-resolve-from@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
- integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==
-
resolve-from@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
@@ -6323,7 +6265,7 @@ ts-interface-checker@^0.1.9:
resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699"
integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==
-tslib@^2.0.0, tslib@^2.1.0:
+tslib@2.8.1, tslib@^2.0.0, tslib@^2.1.0:
version "2.8.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f"
integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==
diff --git a/examples/SampleApp/babel.config.js b/examples/SampleApp/babel.config.js
index 8ba8eb658c..7f3f8d90b6 100644
--- a/examples/SampleApp/babel.config.js
+++ b/examples/SampleApp/babel.config.js
@@ -1,4 +1,4 @@
module.exports = {
presets: ['module:@react-native/babel-preset'],
- plugins: ['react-native-worklets/plugin'],
+ plugins: ['babel-plugin-react-compiler', 'react-native-worklets/plugin'],
};
diff --git a/examples/SampleApp/package.json b/examples/SampleApp/package.json
index cd15171e5e..5da8d63f2a 100644
--- a/examples/SampleApp/package.json
+++ b/examples/SampleApp/package.json
@@ -75,6 +75,7 @@
"@types/lodash.mergewith": "^4.6.9",
"@types/react": "^19.1.0",
"@types/react-test-renderer": "^19.1.0",
+ "babel-plugin-react-compiler": "^1.0.0",
"eslint": "^9.28.0",
"eslint-plugin-eslint-comments": "^3.2.0",
"eslint-plugin-jest": "^28.13.3",
diff --git a/examples/SampleApp/src/components/MessageInfoBottomSheet.tsx b/examples/SampleApp/src/components/MessageInfoBottomSheet.tsx
new file mode 100644
index 0000000000..b989c32203
--- /dev/null
+++ b/examples/SampleApp/src/components/MessageInfoBottomSheet.tsx
@@ -0,0 +1,102 @@
+import React, { useMemo } from 'react';
+import BottomSheet, { BottomSheetFlatList } from '@gorhom/bottom-sheet';
+import { BottomSheetView } from '@gorhom/bottom-sheet';
+import {
+ Avatar,
+ useChatContext,
+ useMessageDeliveredData,
+ useMessageReadData,
+ useTheme,
+} from 'stream-chat-react-native';
+import { LocalMessage, UserResponse } from 'stream-chat';
+import { StyleSheet, Text, View } from 'react-native';
+
+const renderUserItem = ({ item }: { item: UserResponse }) => (
+
+
+ {item.name ?? item.id}
+
+);
+
+const renderEmptyText = ({ text }: { text: string }) => (
+ {text}
+);
+
+export const MessageInfoBottomSheet = ({
+ message,
+ ref,
+}: {
+ message?: LocalMessage;
+ ref: React.RefObject;
+}) => {
+ const {
+ theme: { colors },
+ } = useTheme();
+ const { client } = useChatContext();
+ const deliveredStatus = useMessageDeliveredData({ message });
+ const readStatus = useMessageReadData({ message });
+
+ const otherDeliveredToUsers = useMemo(() => {
+ return deliveredStatus.filter((user: UserResponse) => user.id !== client?.user?.id);
+ }, [deliveredStatus, client?.user?.id]);
+
+ const otherReadUsers = useMemo(() => {
+ return readStatus.filter((user: UserResponse) => user.id !== client?.user?.id);
+ }, [readStatus, client?.user?.id]);
+
+ return (
+
+
+ Read
+ item.id}
+ style={styles.flatList}
+ ListEmptyComponent={renderEmptyText({ text: 'No one has read this message.' })}
+ />
+ Delivered
+ item.id}
+ style={styles.flatList}
+ ListEmptyComponent={renderEmptyText({ text: 'The message was not delivered to anyone.' })}
+ />
+
+
+ );
+};
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ padding: 24,
+ justifyContent: 'center',
+ height: '100%',
+ },
+ title: {
+ fontSize: 16,
+ fontWeight: 'bold',
+ marginVertical: 8,
+ },
+ flatList: {
+ borderRadius: 16,
+ },
+ userItem: {
+ flexDirection: 'row',
+ alignItems: 'center',
+ padding: 8,
+ backgroundColor: 'white',
+ },
+ userName: {
+ fontSize: 16,
+ fontWeight: 'bold',
+ marginLeft: 16,
+ },
+ emptyText: {
+ fontSize: 16,
+ marginVertical: 16,
+ textAlign: 'center',
+ },
+});
diff --git a/examples/SampleApp/src/screens/ChannelScreen.tsx b/examples/SampleApp/src/screens/ChannelScreen.tsx
index fbd35467ce..c978ccfe5a 100644
--- a/examples/SampleApp/src/screens/ChannelScreen.tsx
+++ b/examples/SampleApp/src/screens/ChannelScreen.tsx
@@ -1,4 +1,4 @@
-import React, { useCallback, useEffect, useState } from 'react';
+import React, { useCallback, useEffect, useRef, useState } from 'react';
import type { LocalMessage, Channel as StreamChatChannel } from 'stream-chat';
import { RouteProp, useFocusEffect, useNavigation } from '@react-navigation/native';
import {
@@ -33,6 +33,8 @@ import { channelMessageActions } from '../utils/messageActions.tsx';
import { MessageLocation } from '../components/LocationSharing/MessageLocation.tsx';
import { useStreamChatContext } from '../context/StreamChatContext.tsx';
import { CustomAttachmentPickerSelectionBar } from '../components/AttachmentPickerSelectionBar.tsx';
+import BottomSheet from '@gorhom/bottom-sheet';
+import { MessageInfoBottomSheet } from '../components/MessageInfoBottomSheet.tsx';
export type ChannelScreenNavigationProp = NativeStackNavigationProp<
StackNavigatorParamList,
@@ -115,19 +117,20 @@ const ChannelHeader: React.FC = ({ channel }) => {
// Either provide channel or channelId.
export const ChannelScreen: React.FC = ({
+ navigation,
route: {
params: { channel: channelFromProp, channelId, messageId },
},
}) => {
const { chatClient, messageListImplementation, messageListMode, messageListPruning } =
useAppContext();
- const navigation = useNavigation();
const { bottom } = useSafeAreaInsets();
const {
theme: { colors },
} = useTheme();
const { t } = useTranslationContext();
const { setThread } = useStreamChatContext();
+ const [selectedMessage, setSelectedMessage] = useState(undefined);
const [channel, setChannel] = useState(channelFromProp);
@@ -170,6 +173,9 @@ export const ChannelScreen: React.FC = ({
const onThreadSelect = useCallback(
(thread: LocalMessage | null) => {
+ if (!thread || !channel) {
+ return;
+ }
setSelectedThread(thread);
setThread(thread);
navigation.navigate('ThreadScreen', {
@@ -180,6 +186,16 @@ export const ChannelScreen: React.FC = ({
[channel, navigation, setThread],
);
+ const messageInfoBottomSheetRef = useRef(null);
+
+ const handleMessageInfo = useCallback(
+ (message: LocalMessage) => {
+ setSelectedMessage(message);
+ messageInfoBottomSheetRef.current?.snapToIndex(1);
+ },
+ [messageInfoBottomSheetRef],
+ );
+
const messageActions = useCallback(
(params: MessageActionsParams) => {
if (!chatClient) {
@@ -190,9 +206,10 @@ export const ChannelScreen: React.FC = ({
chatClient,
t,
colors,
+ handleMessageInfo,
});
},
- [chatClient, colors, t],
+ [chatClient, colors, t, handleMessageInfo],
);
if (!channel || !chatClient) {
@@ -232,6 +249,7 @@ export const ChannelScreen: React.FC = ({
)}
+
);
diff --git a/examples/SampleApp/src/utils/messageActions.tsx b/examples/SampleApp/src/utils/messageActions.tsx
index 7dafc4ff79..6398bd12af 100644
--- a/examples/SampleApp/src/utils/messageActions.tsx
+++ b/examples/SampleApp/src/utils/messageActions.tsx
@@ -1,8 +1,10 @@
+import React from 'react';
import { Alert } from 'react-native';
-import { StreamChat } from 'stream-chat';
+import { LocalMessage, StreamChat } from 'stream-chat';
import {
Colors,
Delete,
+ Eye,
messageActions,
MessageActionsParams,
Time,
@@ -15,11 +17,13 @@ export function channelMessageActions({
chatClient,
colors,
t,
+ handleMessageInfo,
}: {
params: MessageActionsParams;
chatClient: StreamChat;
t: TranslationContextValue['t'];
colors?: typeof Colors;
+ handleMessageInfo: (message: LocalMessage) => void;
}) {
const { dismissOverlay, deleteForMeMessage } = params;
const actions = messageActions(params);
@@ -111,5 +115,15 @@ export function channelMessageActions({
title: t('Delete for me'),
});
+ actions.push({
+ action: () => {
+ dismissOverlay();
+ handleMessageInfo(params.message);
+ },
+ actionType: 'messageInfo',
+ icon: ,
+ title: 'Message Info',
+ });
+
return actions;
}
diff --git a/examples/SampleApp/yarn.lock b/examples/SampleApp/yarn.lock
index ee947e320f..3737289497 100644
--- a/examples/SampleApp/yarn.lock
+++ b/examples/SampleApp/yarn.lock
@@ -355,6 +355,11 @@
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8"
integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==
+"@babel/helper-validator-identifier@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4"
+ integrity sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==
+
"@babel/helper-validator-option@^7.25.9":
version "7.25.9"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72"
@@ -1033,6 +1038,14 @@
"@babel/helper-string-parser" "^7.25.9"
"@babel/helper-validator-identifier" "^7.25.9"
+"@babel/types@^7.26.0":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.5.tgz#10fc405f60897c35f07e85493c932c7b5ca0592b"
+ integrity sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==
+ dependencies:
+ "@babel/helper-string-parser" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.28.5"
+
"@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.27.6":
version "7.27.6"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.6.tgz#a434ca7add514d4e646c80f7375c0aa2befc5535"
@@ -3662,6 +3675,13 @@ babel-plugin-polyfill-regenerator@^0.6.1:
dependencies:
"@babel/helper-define-polyfill-provider" "^0.6.3"
+babel-plugin-react-compiler@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-react-compiler/-/babel-plugin-react-compiler-1.0.0.tgz#bdf7360a23a4d5ebfca090255da3893efd07425f"
+ integrity sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw==
+ dependencies:
+ "@babel/types" "^7.26.0"
+
babel-plugin-syntax-hermes-parser@0.28.1:
version "0.28.1"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.28.1.tgz#9e80a774ddb8038307a62316486669c668fb3568"
diff --git a/examples/TypeScriptMessaging/package.json b/examples/TypeScriptMessaging/package.json
index 6194eaa056..3f9e55baae 100644
--- a/examples/TypeScriptMessaging/package.json
+++ b/examples/TypeScriptMessaging/package.json
@@ -38,7 +38,7 @@
"devDependencies": {
"@babel/core": "^7.27.4",
"@babel/runtime": "^7.27.6",
- "@react-native-community/cli": "19.1.1",
+ "@react-native-community/cli": "19.1.2",
"@react-native-community/cli-platform-android": "19.1.1",
"@react-native-community/cli-platform-ios": "19.1.1",
"@react-native/babel-preset": "0.80.2",
diff --git a/examples/TypeScriptMessaging/yarn.lock b/examples/TypeScriptMessaging/yarn.lock
index 5ae0cf23fe..403761eb4d 100644
--- a/examples/TypeScriptMessaging/yarn.lock
+++ b/examples/TypeScriptMessaging/yarn.lock
@@ -1482,12 +1482,12 @@
resolved "https://registry.yarnpkg.com/@react-native-clipboard/clipboard/-/clipboard-1.16.2.tgz#d8517eea937d336b8fe1ca44e955e691d27f5ba4"
integrity sha512-VqUYwVxo7DyHMz7v2LxLMaAOSu3pKFvzpqR4jQezdH0VyaudILTTcUf7dR4TroARU/lLkTU8nZA11UniTvGVXg==
-"@react-native-community/cli-clean@19.1.1":
- version "19.1.1"
- resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-19.1.1.tgz#574ada0956ac506431a84e45b5fa36f22b9a510d"
- integrity sha512-pP7SmK+PNw5B1Aa2c6y06FBNc9iGah/leFFM2uewpyZRJQ4zycX6Zz1UANpq9YZfp65n7NZKV9Gct2uaVRuP/Q==
+"@react-native-community/cli-clean@19.1.2":
+ version "19.1.2"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-19.1.2.tgz#10be56a6ab966c141090176e54937cb7b7618a9b"
+ integrity sha512-LI/bTLtosbDyHtIs+HxlmHp+5Nbjz+IIEEqrBO2tUeA+ENX01YEnIgGIv4z7giNWkHSiqywjdOyYNqg27ydy2g==
dependencies:
- "@react-native-community/cli-tools" "19.1.1"
+ "@react-native-community/cli-tools" "19.1.2"
chalk "^4.1.2"
execa "^5.0.0"
fast-glob "^3.3.2"
@@ -1502,6 +1502,16 @@
fast-glob "^3.3.2"
fast-xml-parser "^4.4.1"
+"@react-native-community/cli-config-android@19.1.2":
+ version "19.1.2"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-config-android/-/cli-config-android-19.1.2.tgz#f8a03a0a49cd89a4e6bffed46396b3a2ea7690df"
+ integrity sha512-IIhzhDUmT53RT45Qrxc/OfvkTD4U7IrfkfoIdKmBT6O0X0QaoegK4OE6aAuc86D2GXlD5rbVcPMSuN4TY8Hmlw==
+ dependencies:
+ "@react-native-community/cli-tools" "19.1.2"
+ chalk "^4.1.2"
+ fast-glob "^3.3.2"
+ fast-xml-parser "^4.4.1"
+
"@react-native-community/cli-config-apple@19.1.1":
version "19.1.1"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-config-apple/-/cli-config-apple-19.1.1.tgz#f805588235f1504546ab26dfeb708e20d4e144b0"
@@ -1512,28 +1522,38 @@
execa "^5.0.0"
fast-glob "^3.3.2"
-"@react-native-community/cli-config@19.1.1":
- version "19.1.1"
- resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-19.1.1.tgz#566fab3438a8d90ec8976927b7030f3a1f1d3d8a"
- integrity sha512-qGLYCFf3whCa/we3iKd5BY4RlcAUhSykwGpnJpjseXLaI5iJzIn/IMd70EBG8QvhV/KQxM7VFMQj6KgGcoNKYg==
+"@react-native-community/cli-config-apple@19.1.2":
+ version "19.1.2"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-config-apple/-/cli-config-apple-19.1.2.tgz#d251fc18043f2e202d681a8ac911b8b1688409f4"
+ integrity sha512-91upuYMLgEtJE6foWQFgGDpT3ZDTc5bX6rMY5cJMqiAE5svgh1q0kbbpRuv/ptBYzcxLplL7wZWpA77TlJdm9A==
dependencies:
- "@react-native-community/cli-tools" "19.1.1"
+ "@react-native-community/cli-tools" "19.1.2"
+ chalk "^4.1.2"
+ execa "^5.0.0"
+ fast-glob "^3.3.2"
+
+"@react-native-community/cli-config@19.1.2":
+ version "19.1.2"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-19.1.2.tgz#d6432c3100d2a7cb1e92d47b39bf3688fd712970"
+ integrity sha512-o0cc6R6r9nY9MiLFeLIN797fBLWwKW9cee/NCm6nBBzPk/paro6HEbcXE02xnVzMb+nhQPrbPOzp3qE7WhtwRA==
+ dependencies:
+ "@react-native-community/cli-tools" "19.1.2"
chalk "^4.1.2"
cosmiconfig "^9.0.0"
deepmerge "^4.3.0"
fast-glob "^3.3.2"
joi "^17.2.1"
-"@react-native-community/cli-doctor@19.1.1":
- version "19.1.1"
- resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-19.1.1.tgz#e09749815f0baea17e4fc04b9897051829149f42"
- integrity sha512-P6JgTpa8fn6SfGiotyRhiCqBlRlKx8MUUdMESPGyPzvMb8omz+Jv0ibdNg9CVT11/0x5oRsoGv07os/o+Eg0zQ==
+"@react-native-community/cli-doctor@19.1.2":
+ version "19.1.2"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-19.1.2.tgz#b318d000a12d029d65f829aba5e6f14f5c6132b8"
+ integrity sha512-uUV/1QrWA1Cx7dqkTCcarqfya/7gBmKXd9BzVCEl6bzAn1jd1Q5UaZ+DmZgAoLVKlbAjpPTJTfqjD44aqUdjyA==
dependencies:
- "@react-native-community/cli-config" "19.1.1"
- "@react-native-community/cli-platform-android" "19.1.1"
- "@react-native-community/cli-platform-apple" "19.1.1"
- "@react-native-community/cli-platform-ios" "19.1.1"
- "@react-native-community/cli-tools" "19.1.1"
+ "@react-native-community/cli-config" "19.1.2"
+ "@react-native-community/cli-platform-android" "19.1.2"
+ "@react-native-community/cli-platform-apple" "19.1.2"
+ "@react-native-community/cli-platform-ios" "19.1.2"
+ "@react-native-community/cli-tools" "19.1.2"
chalk "^4.1.2"
command-exists "^1.2.8"
deepmerge "^4.3.0"
@@ -1556,6 +1576,17 @@
execa "^5.0.0"
logkitty "^0.7.1"
+"@react-native-community/cli-platform-android@19.1.2":
+ version "19.1.2"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-19.1.2.tgz#72d3dd69730a18373c4185f1f17e65c49fbc2b39"
+ integrity sha512-eMryTlSSTl3JK/tZTaMaMgHec9qu+eQj+3A15qmBdj2ac3p/hiauwAe4q35rz5XABw1cJCuyn+s469YsdTllaw==
+ dependencies:
+ "@react-native-community/cli-config-android" "19.1.2"
+ "@react-native-community/cli-tools" "19.1.2"
+ chalk "^4.1.2"
+ execa "^5.0.0"
+ logkitty "^0.7.1"
+
"@react-native-community/cli-platform-apple@19.1.1":
version "19.1.1"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-apple/-/cli-platform-apple-19.1.1.tgz#931c85425e53ea67627adcace06a6bbc676f0448"
@@ -1567,6 +1598,17 @@
execa "^5.0.0"
fast-xml-parser "^4.4.1"
+"@react-native-community/cli-platform-apple@19.1.2":
+ version "19.1.2"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-apple/-/cli-platform-apple-19.1.2.tgz#42f8eb69e870f132ffa1383930c53c93b4949783"
+ integrity sha512-TtaF8Pyrs4dnIH3LTvuPnPjGDsSVaZLu+8s4y5bngzZIf9r7M/HJTlpnhm8+bQPsahxNhNQZBGUBrQJqfmg7Ww==
+ dependencies:
+ "@react-native-community/cli-config-apple" "19.1.2"
+ "@react-native-community/cli-tools" "19.1.2"
+ chalk "^4.1.2"
+ execa "^5.0.0"
+ fast-xml-parser "^4.4.1"
+
"@react-native-community/cli-platform-ios@19.1.1":
version "19.1.1"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-19.1.1.tgz#c3e8eb512530469fc6d48881f5265af3f0c2c63f"
@@ -1574,12 +1616,19 @@
dependencies:
"@react-native-community/cli-platform-apple" "19.1.1"
-"@react-native-community/cli-server-api@19.1.1":
- version "19.1.1"
- resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-19.1.1.tgz#24f4a7b4c4a527e850ed6bb3fc959a9fd0fa4f4c"
- integrity sha512-p0FFm82uPrtLZBWTD3bZ43mMBIV5mXwvGFYMcsfGiuMoS9SNbw4ImEFTG2IutVpr7Qb6NMjx6SbgYYMnTdZXmw==
+"@react-native-community/cli-platform-ios@19.1.2":
+ version "19.1.2"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-19.1.2.tgz#2925279acbfa22dc6e05f189f8908cb0c6427f6e"
+ integrity sha512-rmLZjwpI+mV3bbd6FgR6yM/ekFNr4QM/Dgzmatkh8k94B5uGtw5Me4EKlY+MrqR3lIyjzqWtLoefcJxA1c9d2w==
dependencies:
- "@react-native-community/cli-tools" "19.1.1"
+ "@react-native-community/cli-platform-apple" "19.1.2"
+
+"@react-native-community/cli-server-api@19.1.2":
+ version "19.1.2"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-19.1.2.tgz#adc5353314d40c50d1bfddbc1b85a29e3650ce03"
+ integrity sha512-K6UIvtw6VtcKxCX+rJ5mKQYiqcSSRKODPQ2nbIeIxjjO5nDjDriGkFC/ypHHk38oZuJYOLbOySqnnCNkdEI4uQ==
+ dependencies:
+ "@react-native-community/cli-tools" "19.1.2"
body-parser "^1.20.3"
compression "^1.7.1"
connect "^3.6.5"
@@ -1606,24 +1655,40 @@
prompts "^2.4.2"
semver "^7.5.2"
-"@react-native-community/cli-types@19.1.1":
- version "19.1.1"
- resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-19.1.1.tgz#b48aa60d9dbc16f3bc4ccd5405504d80efce0835"
- integrity sha512-rOGiYjeDM9tkYBEuK6TJrnxpMhmaId1Un8pjQJswz7W9w2Vb6+nnLfWja7X7VmDIvqIK5GhVobRHsmKCKIdDEA==
+"@react-native-community/cli-tools@19.1.2":
+ version "19.1.2"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-19.1.2.tgz#970e952d373432b2a9cc109ba3f99f8c7d812700"
+ integrity sha512-AsDuZu/7R/QX+vGpJIRK97v24X+zqkmwA9/uLRguLTHM175nUxb/byXmAKWuZylG2FAikVvf7EqV8MFGbwM7Wg==
dependencies:
- joi "^17.2.1"
+ "@vscode/sudo-prompt" "^9.0.0"
+ appdirsjs "^1.2.4"
+ chalk "^4.1.2"
+ execa "^5.0.0"
+ find-up "^5.0.0"
+ launch-editor "^2.9.1"
+ mime "^2.4.1"
+ ora "^5.4.1"
+ prompts "^2.4.2"
+ semver "^7.5.2"
-"@react-native-community/cli@19.1.1":
- version "19.1.1"
- resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-19.1.1.tgz#d1bd8c477b0c878682b34b9bfc45bb62ab40db7c"
- integrity sha512-H17sV83KPg2H2GCNuUSMM1ZM2sy6msVSmxrhJSycH8ua3i9Iixja8DeYtGIcJUzjdU/4U2eSDs6PjOSZUVn8CQ==
+"@react-native-community/cli-types@19.1.2":
+ version "19.1.2"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-19.1.2.tgz#a59911cac2fb2043c70b093e0e61ebc0ac105619"
+ integrity sha512-Ze6fi6jE+JPvMlISWbZ/eCPOkRuuEs1SX4rJGWOXPcDzEVF6gs1ePsAjdzQ3RJYRMqQ49vo6iGiOZs//z5kuVw==
dependencies:
- "@react-native-community/cli-clean" "19.1.1"
- "@react-native-community/cli-config" "19.1.1"
- "@react-native-community/cli-doctor" "19.1.1"
- "@react-native-community/cli-server-api" "19.1.1"
- "@react-native-community/cli-tools" "19.1.1"
- "@react-native-community/cli-types" "19.1.1"
+ joi "^17.2.1"
+
+"@react-native-community/cli@19.1.2":
+ version "19.1.2"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-19.1.2.tgz#f83bbecb2c1217a07270afdd9173d74453b3ec49"
+ integrity sha512-b28TLqODMgQRx6f4gbHoHYpnKyFbWzJkIk3+Ggpad/at493KfGQ+WvKg1sts/st8mxzmbk0T6lCc/9A3QoFKkQ==
+ dependencies:
+ "@react-native-community/cli-clean" "19.1.2"
+ "@react-native-community/cli-config" "19.1.2"
+ "@react-native-community/cli-doctor" "19.1.2"
+ "@react-native-community/cli-server-api" "19.1.2"
+ "@react-native-community/cli-tools" "19.1.2"
+ "@react-native-community/cli-types" "19.1.2"
chalk "^4.1.2"
commander "^9.4.1"
deepmerge "^4.3.0"
@@ -7040,7 +7105,7 @@ scheduler@0.26.0, scheduler@^0.26.0:
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.26.0.tgz#4ce8a8c2a2095f13ea11bf9a445be50c555d6337"
integrity sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==
-semver@7.7.2, semver@^7.7.2:
+semver@7.7.2, semver@^7.1.3, semver@^7.3.7, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.7.2:
version "7.7.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58"
integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==
@@ -7050,11 +7115,6 @@ semver@^6.3.0, semver@^6.3.1:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-semver@^7.1.3, semver@^7.3.7, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0:
- version "7.7.1"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.1.tgz#abd5098d82b18c6c81f6074ff2647fd3e7220c9f"
- integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==
-
send@0.19.0:
version "0.19.0"
resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8"
@@ -7321,12 +7381,29 @@ stream-chat-react-native-core@8.1.0:
use-sync-external-store "^1.5.0"
"stream-chat-react-native-core@link:../../package":
- version "0.0.0"
- uid ""
+ version "8.1.0"
+ dependencies:
+ "@gorhom/bottom-sheet" "^5.1.8"
+ "@ungap/structured-clone" "^1.3.0"
+ dayjs "1.11.13"
+ emoji-regex "^10.4.0"
+ i18next "^25.2.1"
+ intl-pluralrules "^2.0.1"
+ linkifyjs "^4.3.1"
+ lodash-es "4.17.21"
+ mime-types "^2.1.35"
+ path "0.12.7"
+ react-native-markdown-package "1.8.2"
+ react-native-url-polyfill "^2.0.0"
+ stream-chat "^9.23.0"
+ use-sync-external-store "^1.5.0"
"stream-chat-react-native@link:../../package/native-package":
- version "0.0.0"
- uid ""
+ version "8.1.0"
+ dependencies:
+ es6-symbol "^3.1.3"
+ mime "^4.0.7"
+ stream-chat-react-native-core "8.1.0"
stream-chat@^9.23.0:
version "9.24.0"
diff --git a/package/package.json b/package/package.json
index a892d446d7..274e3c5412 100644
--- a/package/package.json
+++ b/package/package.json
@@ -79,7 +79,7 @@
"path": "0.12.7",
"react-native-markdown-package": "1.8.2",
"react-native-url-polyfill": "^2.0.0",
- "stream-chat": "^9.23.0",
+ "stream-chat": "^9.26.0",
"use-sync-external-store": "^1.5.0"
},
"peerDependencies": {
diff --git a/package/src/components/Message/Message.tsx b/package/src/components/Message/Message.tsx
index 699d10cdd5..d1460cb61d 100644
--- a/package/src/components/Message/Message.tsx
+++ b/package/src/components/Message/Message.tsx
@@ -982,7 +982,7 @@ export const Message = (props: MessageProps) => {
const { openThread } = useThreadContext();
const { t } = useTranslationContext();
const readBy = useMessageReadData({ message });
- const deliveredToCount = useMessageDeliveredData({ message });
+ const deliveredTo = useMessageDeliveredData({ message });
const { setQuotedMessage, setEditingState } = useMessageComposerAPIContext();
return (
@@ -991,13 +991,13 @@ export const Message = (props: MessageProps) => {
{...{
channel,
chatContext,
- deliveredToCount,
+ deliveredToCount: deliveredTo.length,
dismissKeyboard,
enforceUniqueReaction,
members,
messagesContext,
openThread,
- readBy,
+ readBy: readBy.length,
setEditingState,
setQuotedMessage,
t,
diff --git a/package/src/components/Message/MessageSimple/MessageBubble.tsx b/package/src/components/Message/MessageSimple/MessageBubble.tsx
index 773cfd8183..d53cee18bb 100644
--- a/package/src/components/Message/MessageSimple/MessageBubble.tsx
+++ b/package/src/components/Message/MessageSimple/MessageBubble.tsx
@@ -1,9 +1,8 @@
-import React, { useMemo, useState } from 'react';
+import React, { SetStateAction, useMemo, useState } from 'react';
import { StyleSheet, View } from 'react-native';
import { Gesture, GestureDetector } from 'react-native-gesture-handler';
import Animated, {
- Extrapolation,
interpolate,
runOnJS,
useAnimatedStyle,
@@ -17,6 +16,7 @@ import { ReactionListTopProps } from './ReactionList/ReactionListTop';
import { MessagesContextValue, useTheme } from '../../../contexts';
+import { useStableCallback } from '../../../hooks';
import { NativeHandlers } from '../../../native';
export type MessageBubbleProps = Pick<
@@ -105,6 +105,14 @@ export const SwipableMessageBubble = React.memo(
const triggerHaptic = NativeHandlers.triggerHaptic;
+ const setMessageContentWidth = useStableCallback((valueOrCallback: SetStateAction) => {
+ if (typeof valueOrCallback === 'number') {
+ props.setMessageContentWidth(Math.ceil(valueOrCallback));
+ return;
+ }
+ props.setMessageContentWidth(valueOrCallback);
+ });
+
const swipeGesture = useMemo(
() =>
Gesture.Pan()
@@ -167,61 +175,48 @@ export const SwipableMessageBubble = React.memo(
);
}),
[
- isSwiping,
messageSwipeToReplyHitSlop,
- onSwipe,
touchStart,
+ isSwiping,
+ shouldRenderSwipeableWrapper,
translateX,
+ onSwipe,
triggerHaptic,
- shouldRenderSwipeableWrapper,
],
);
- const messageBubbleAnimatedStyle = useAnimatedStyle(
- () => ({
- transform: [{ translateX: translateX.value }],
- }),
- [],
- );
-
const swipeContentAnimatedStyle = useAnimatedStyle(
() => ({
opacity: interpolate(translateX.value, [0, SWIPABLE_THRESHOLD], [0, 1]),
- transform: [
- {
- translateX: interpolate(
- translateX.value,
- [0, SWIPABLE_THRESHOLD],
- [-SWIPABLE_THRESHOLD, 0],
- Extrapolation.CLAMP,
- ),
- },
- ],
+ width: translateX.value,
}),
[],
);
return (
-
+ 0 && shouldRenderAnimatedWrapper
+ ? { width: props.messageContentWidth }
+ : {},
+ ]}
+ >
{shouldRenderAnimatedWrapper ? (
- <>
-
- {MessageSwipeContent ? : null}
-
-
-
-
- >
- ) : (
-
- )}
+
+ {MessageSwipeContent ? : null}
+
+ ) : null}
+
);
@@ -234,6 +229,8 @@ const styles = StyleSheet.create({
flexDirection: 'row',
},
swipeContentContainer: {
- position: 'absolute',
+ flexShrink: 0,
+ overflow: 'hidden',
+ position: 'relative',
},
});
diff --git a/package/src/components/Message/hooks/useMessageDeliveryData.ts b/package/src/components/Message/hooks/useMessageDeliveryData.ts
index daf640ea19..14eff654f2 100644
--- a/package/src/components/Message/hooks/useMessageDeliveryData.ts
+++ b/package/src/components/Message/hooks/useMessageDeliveryData.ts
@@ -1,25 +1,29 @@
import { useCallback, useEffect, useState } from 'react';
-import { Event, LocalMessage } from 'stream-chat';
+import { Event, LocalMessage, UserResponse } from 'stream-chat';
import { useChannelContext } from '../../../contexts/channelContext/ChannelContext';
import { useChatContext } from '../../../contexts/chatContext/ChatContext';
-export const useMessageDeliveredData = ({ message }: { message: LocalMessage }) => {
+export const useMessageDeliveredData = ({ message }: { message?: LocalMessage }) => {
const { channel } = useChannelContext();
const { client } = useChatContext();
const calculate = useCallback(() => {
- if (!message.created_at) {
- return 0;
+ if (!message?.created_at) {
+ return [];
}
const messageRef = {
msgId: message.id,
timestampMs: new Date(message.created_at).getTime(),
};
- return channel.messageReceiptsTracker.deliveredForMessage(messageRef).length;
+ return channel.messageReceiptsTracker.deliveredForMessage(messageRef);
}, [channel, message]);
- const [deliveredToCount, setDeliveredToCount] = useState(calculate());
+ const [deliveredTo, setDeliveredTo] = useState([]);
+
+ useEffect(() => {
+ setDeliveredTo(calculate());
+ }, [calculate]);
useEffect(() => {
const { unsubscribe } = channel.on('message.delivered', (event: Event) => {
@@ -27,11 +31,11 @@ export const useMessageDeliveredData = ({ message }: { message: LocalMessage })
* An optimization to only re-calculate if the event is received by a different user.
*/
if (event.user?.id !== client.user?.id) {
- setDeliveredToCount(calculate());
+ setDeliveredTo(calculate());
}
});
return unsubscribe;
}, [channel, calculate, client.user?.id]);
- return deliveredToCount;
+ return deliveredTo;
};
diff --git a/package/src/components/Message/hooks/useMessageReadData.ts b/package/src/components/Message/hooks/useMessageReadData.ts
index 8e0086a232..8f79963692 100644
--- a/package/src/components/Message/hooks/useMessageReadData.ts
+++ b/package/src/components/Message/hooks/useMessageReadData.ts
@@ -1,26 +1,30 @@
import { useCallback, useEffect, useState } from 'react';
-import { Event, LocalMessage } from 'stream-chat';
+import { Event, LocalMessage, UserResponse } from 'stream-chat';
import { useChannelContext } from '../../../contexts/channelContext/ChannelContext';
import { useChatContext } from '../../../contexts/chatContext/ChatContext';
-export const useMessageReadData = ({ message }: { message: LocalMessage }) => {
+export const useMessageReadData = ({ message }: { message?: LocalMessage }) => {
const { channel } = useChannelContext();
const { client } = useChatContext();
const calculate = useCallback(() => {
- if (!message.created_at) {
- return 0;
+ if (!message?.created_at) {
+ return [];
}
const messageRef = {
msgId: message.id,
timestampMs: new Date(message.created_at).getTime(),
};
- return channel.messageReceiptsTracker.readersForMessage(messageRef).length;
+ return channel.messageReceiptsTracker.readersForMessage(messageRef);
}, [channel, message]);
- const [readBy, setReadBy] = useState(calculate());
+ const [readBy, setReadBy] = useState([]);
+
+ useEffect(() => {
+ setReadBy(calculate());
+ }, [calculate]);
useEffect(() => {
const { unsubscribe } = channel.on('message.read', (event: Event) => {
diff --git a/package/src/components/Poll/components/PollAnswersList.tsx b/package/src/components/Poll/components/PollAnswersList.tsx
index 37dc7f1235..0ccfed1bb7 100644
--- a/package/src/components/Poll/components/PollAnswersList.tsx
+++ b/package/src/components/Poll/components/PollAnswersList.tsx
@@ -126,7 +126,7 @@ export const PollAnswerListItem = ({ answer }: { answer: PollAnswer }) => {
);
};
-const PollAnswerListItemComponent = ({ item }: { item: PollAnswer }) => (
+const renderPollAnswerListItem = ({ item }: { item: PollAnswer }) => (
);
@@ -149,7 +149,7 @@ export const PollAnswersListContent = ({
data={pollAnswers}
keyExtractor={(item) => `poll_answer_${item.id}`}
onEndReached={() => hasNextPage && loadMore()}
- renderItem={PollAnswerListItemComponent}
+ renderItem={renderPollAnswerListItem}
{...additionalFlatListProps}
/>
diff --git a/package/src/components/Poll/components/PollResults/PollOptionFullResults.tsx b/package/src/components/Poll/components/PollResults/PollOptionFullResults.tsx
index 7c2d111c75..0b81cb2bbc 100644
--- a/package/src/components/Poll/components/PollResults/PollOptionFullResults.tsx
+++ b/package/src/components/Poll/components/PollResults/PollOptionFullResults.tsx
@@ -21,7 +21,7 @@ export type PollOptionFullResultsProps = PollContextValue & {
PollOptionFullResultsContent?: React.ComponentType<{ option: PollOption }>;
};
-export const PollOptionFullResultsItem = ({ item }: { item: PollVoteClass }) => (
+export const renderPollOptionFullResultsItem = ({ item }: { item: PollVoteClass }) => (
);
@@ -65,7 +65,7 @@ export const PollOptionFullResultsContent = ({
keyExtractor={(item) => `option_full_results_${item.id}`}
ListHeaderComponent={PollOptionFullResultsHeader}
onEndReached={() => hasNextPage && loadMore()}
- renderItem={PollOptionFullResultsItem}
+ renderItem={renderPollOptionFullResultsItem}
{...additionalFlatListProps}
/>
diff --git a/package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap b/package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap
index 436bb023d3..af67127f37 100644
--- a/package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap
+++ b/package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap
@@ -380,6 +380,7 @@ exports[`Thread should match thread snapshot 1`] = `
"flexDirection": "row",
},
{},
+ {},
]
}
>
@@ -749,6 +750,7 @@ exports[`Thread should match thread snapshot 1`] = `
"flexDirection": "row",
},
{},
+ {},
]
}
>
@@ -1156,6 +1158,7 @@ exports[`Thread should match thread snapshot 1`] = `
"flexDirection": "row",
},
{},
+ {},
]
}
>
@@ -1529,6 +1532,7 @@ exports[`Thread should match thread snapshot 1`] = `
"flexDirection": "row",
},
{},
+ {},
]
}
>
diff --git a/package/src/components/index.ts b/package/src/components/index.ts
index 108f0471c8..407bcd1893 100644
--- a/package/src/components/index.ts
+++ b/package/src/components/index.ts
@@ -64,6 +64,7 @@ export * from './ChannelPreview/hooks/useChannelPreviewDisplayPresence';
export * from './ChannelPreview/hooks/useLatestMessagePreview';
export * from './ChannelPreview/hooks/useChannelPreviewData';
export * from './ChannelPreview/hooks/useIsChannelMuted';
+export * from './ChannelPreview/hooks/useMessageDeliveryStatus';
export * from './Chat/Chat';
export * from './Chat/hooks/useCreateChatClient';
@@ -93,6 +94,8 @@ export * from './Message/hooks/useCreateMessageContext';
export * from './Message/hooks/useMessageActions';
export * from './Message/hooks/useMessageActionHandlers';
export * from './Message/hooks/useStreamingMessage';
+export * from './Message/hooks/useMessageDeliveryData';
+export * from './Message/hooks/useMessageReadData';
export * from './Message/Message';
export * from './Message/MessageSimple/MessageAvatar';
export * from './Message/MessageSimple/MessageBounce';
diff --git a/package/yarn.lock b/package/yarn.lock
index 0e0cfcab86..01e8fc56d7 100644
--- a/package/yarn.lock
+++ b/package/yarn.lock
@@ -8347,10 +8347,10 @@ statuses@~1.5.0:
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
-stream-chat@^9.23.0:
- version "9.23.0"
- resolved "https://registry.yarnpkg.com/stream-chat/-/stream-chat-9.23.0.tgz#e7e5cf729861597e7198907c1cab22a57d68a2fc"
- integrity sha512-UW112HYsLnYb4RMIXBtAouNQCCe0weVzNivjezsw+JKK1b/TX0JLBi+wK25mBUEO+coOGKfXiye6IB3gao8ipw==
+stream-chat@^9.26.0:
+ version "9.26.0"
+ resolved "https://registry.yarnpkg.com/stream-chat/-/stream-chat-9.26.0.tgz#92cd0dd5c59bfed05fb4fd74e9a19e8cce726175"
+ integrity sha512-hTeKWDyWjiM3R7GcvgqNCO6zTPZ1oyJbwbpJR2MyEReDVYSKeZge009m/queMxUGJHNuyiRKY0sjQocw4ceWUQ==
dependencies:
"@types/jsonwebtoken" "^9.0.8"
"@types/ws" "^8.5.14"