From 7a2b4014f40758a025fcd6b388448d3559ec6a4a Mon Sep 17 00:00:00 2001
From: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
Date: Mon, 2 Sep 2024 15:40:10 +0200
Subject: [PATCH 01/17] fix(sample): update dependencies to fix local asset
playback (#4121)
* fix(sample): align dependencies and fix local asset playback
---
examples/basic/ios/Podfile.lock | 10 +-
examples/basic/package.json | 10 +-
examples/basic/yarn.lock | 856 ++++++++++++--------------------
3 files changed, 320 insertions(+), 556 deletions(-)
diff --git a/examples/basic/ios/Podfile.lock b/examples/basic/ios/Podfile.lock
index 7ab84ea57d..fc0fa2ade8 100644
--- a/examples/basic/ios/Podfile.lock
+++ b/examples/basic/ios/Podfile.lock
@@ -994,7 +994,7 @@ PODS:
- React-Mapbuffer (0.74.3):
- glog
- React-debug
- - react-native-video (6.4.3):
+ - react-native-video (6.4.4):
- DoubleConversion
- glog
- hermes-engine
@@ -1008,7 +1008,7 @@ PODS:
- React-featureflags
- React-graphics
- React-ImageManager
- - react-native-video/Video (= 6.4.3)
+ - react-native-video/Video (= 6.4.4)
- React-NativeModulesApple
- React-RCTFabric
- React-rendererdebug
@@ -1038,7 +1038,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- - react-native-video/Video (6.4.3):
+ - react-native-video/Video (6.4.4):
- DoubleConversion
- glog
- hermes-engine
@@ -1559,7 +1559,7 @@ SPEC CHECKSUMS:
React-jsitracing: 1aa5681c353b41573b03e0e480a5adf5fa1c56d8
React-logger: fa92ba4d3a5d39ac450f59be2a3cec7b099f0304
React-Mapbuffer: 70da5955150a58732e9336a0c7e71cd49e909f25
- react-native-video: 3d5881ee6643a9a87e0e259b742c2d07aee7b27e
+ react-native-video: f57ea9a2df4675386f57f48494853a54bdba0d9f
react-native-video-plugin-sample: d3a93b7ad777cad7fa2c30473de75a2635ce5feb
React-nativeconfig: 84806b820491db30175afbf027e99e8415dc63f0
React-NativeModulesApple: 7b79212f8cf496ab554e0b7b09acbd4aa4690260
@@ -1594,4 +1594,4 @@ SPEC CHECKSUMS:
PODFILE CHECKSUM: a73d485df51877001f2b04a5a4379cfa5a3ba8fa
-COCOAPODS: 1.13.0
+COCOAPODS: 1.15.2
diff --git a/examples/basic/package.json b/examples/basic/package.json
index 86cb65706b..5e0665bcb5 100644
--- a/examples/basic/package.json
+++ b/examples/basic/package.json
@@ -14,12 +14,12 @@
},
"dependencies": {
"@react-native-picker/picker": "2.7.5",
- "expo": "^51.0.17",
- "expo-asset": "^10.0.9",
- "expo-image": "^1.12.12",
+ "expo": "^51.0.31",
+ "expo-asset": "~10.0.10",
+ "expo-image": "^1.12.15",
"react": "18.2.0",
- "react-native": "0.74.3",
- "react-native-windows": "0.74.1"
+ "react-native": "0.74.5",
+ "react-native-windows": "0.74.19"
},
"devDependencies": {
"@babel/core": "^7.24.0",
diff --git a/examples/basic/yarn.lock b/examples/basic/yarn.lock
index 6b496084d2..a1cfcd486f 100644
--- a/examples/basic/yarn.lock
+++ b/examples/basic/yarn.lock
@@ -79,30 +79,30 @@
tslib "^2.2.0"
"@azure/core-util@^1.0.0", "@azure/core-util@^1.1.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.9.0.tgz#469afd7e6452d5388b189f90d33f7756b0b210d1"
- integrity sha512-AfalUQ1ZppaKuxPPMsFEUdX6GZPB3d9paR9d/TTL7Ow2De8cJaC7ibi7kWVlFAVPCYo31OcnGymc0R89DX8Oaw==
+ version "1.9.2"
+ resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.9.2.tgz#1dc37dc5b0dae34c578be62cf98905ba7c0cafe7"
+ integrity sha512-l1Qrqhi4x1aekkV+OlcqsJa4AnAkj5p0JV8omgwjaV9OAbP41lvrMvs+CptfetKkeEaGRGSzby7sjPZEX7+kkQ==
dependencies:
"@azure/abort-controller" "^2.0.0"
tslib "^2.6.2"
"@azure/logger@^1.0.0":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@azure/logger/-/logger-1.1.2.tgz#3f4b876cefad328dc14aff8b850d63b611e249dc"
- integrity sha512-l170uE7bsKpIU6B/giRc9i4NI0Mj+tANMMMxf7Zi/5cKzEqPayP7+X1WPrG7e+91JgY8N+7K7nF2WOi7iVhXvg==
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/@azure/logger/-/logger-1.1.4.tgz#223cbf2b424dfa66478ce9a4f575f59c6f379768"
+ integrity sha512-4IXXzcCdLdlXuCG+8UKEwLA1T1NHqUfanhXYHiQTn+6sfWCZXduqbtXDGceg3Ce5QxTGo7EqmbV6Bi+aqKuClQ==
dependencies:
tslib "^2.6.2"
"@azure/opentelemetry-instrumentation-azure-sdk@^1.0.0-beta.5":
- version "1.0.0-beta.5"
- resolved "https://registry.yarnpkg.com/@azure/opentelemetry-instrumentation-azure-sdk/-/opentelemetry-instrumentation-azure-sdk-1.0.0-beta.5.tgz#78809e6c005d08450701e5d37f087f6fce2f86eb"
- integrity sha512-fsUarKQDvjhmBO4nIfaZkfNSApm1hZBzcvpNbSrXdcUBxu7lRvKsV5DnwszX7cnhLyVOW9yl1uigtRQ1yDANjA==
+ version "1.0.0-beta.6"
+ resolved "https://registry.yarnpkg.com/@azure/opentelemetry-instrumentation-azure-sdk/-/opentelemetry-instrumentation-azure-sdk-1.0.0-beta.6.tgz#94f46c3ccffa7e05f1776a137327fda27220d240"
+ integrity sha512-JP6TJ7vDNX6r0gN2+EQBINTNqZ86frl1RAj5STtbLP1ClgIhcdXXb0hvq7CuEOv7InrroHMDoEYG80OQcWChug==
dependencies:
"@azure/core-tracing" "^1.0.0"
"@azure/logger" "^1.0.0"
- "@opentelemetry/api" "^1.4.1"
- "@opentelemetry/core" "^1.15.2"
- "@opentelemetry/instrumentation" "^0.41.2"
+ "@opentelemetry/api" "^1.9.0"
+ "@opentelemetry/core" "^1.25.1"
+ "@opentelemetry/instrumentation" "^0.52.1"
tslib "^2.2.0"
"@babel/code-frame@7.10.4", "@babel/code-frame@~7.10.4":
@@ -1376,28 +1376,28 @@
mv "~2"
safe-json-stringify "~1"
-"@expo/cli@0.18.21":
- version "0.18.21"
- resolved "https://registry.yarnpkg.com/@expo/cli/-/cli-0.18.21.tgz#a44fb04bbac42141bc101b6acb91eb7b237e5722"
- integrity sha512-t8sFUGXRM/vafILp98H/MvIgJ5c7OG+d780Zastpzn0zfakaVDvXyw9tXskwAYi9YHJpG8/cfvght1c5fBDBoA==
+"@expo/cli@0.18.29":
+ version "0.18.29"
+ resolved "https://registry.yarnpkg.com/@expo/cli/-/cli-0.18.29.tgz#108682e28ccf3beab34938501d6dfc079683b82c"
+ integrity sha512-X810C48Ss+67RdZU39YEO1khNYo1RmjouRV+vVe0QhMoTe8R6OA3t+XYEdwaNbJ5p/DJN7szfHfNmX2glpC7xg==
dependencies:
"@babel/runtime" "^7.20.0"
"@expo/code-signing-certificates" "0.0.5"
"@expo/config" "~9.0.0-beta.0"
- "@expo/config-plugins" "~8.0.0-beta.0"
+ "@expo/config-plugins" "~8.0.8"
"@expo/devcert" "^1.0.0"
"@expo/env" "~0.3.0"
"@expo/image-utils" "^0.5.0"
"@expo/json-file" "^8.3.0"
- "@expo/metro-config" "~0.18.6"
+ "@expo/metro-config" "0.18.11"
"@expo/osascript" "^2.0.31"
"@expo/package-manager" "^1.5.0"
"@expo/plist" "^0.1.0"
- "@expo/prebuild-config" "7.0.6"
+ "@expo/prebuild-config" "7.0.8"
"@expo/rudder-sdk-node" "1.1.1"
"@expo/spawn-async" "^1.7.2"
"@expo/xcpretty" "^4.3.0"
- "@react-native/dev-middleware" "0.74.84"
+ "@react-native/dev-middleware" "0.74.85"
"@urql/core" "2.3.6"
"@urql/exchange-retry" "0.3.0"
accepts "^1.3.8"
@@ -1467,7 +1467,28 @@
node-forge "^1.2.1"
nullthrows "^1.1.1"
-"@expo/config-plugins@8.0.6", "@expo/config-plugins@~8.0.0", "@expo/config-plugins@~8.0.0-beta.0":
+"@expo/config-plugins@8.0.8", "@expo/config-plugins@~8.0.8":
+ version "8.0.8"
+ resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-8.0.8.tgz#294a71905a498ea02c8b79bea950b5e37ab5d748"
+ integrity sha512-Fvu6IO13EUw0R9WeqxUO37FkM62YJBNcZb9DyJAOgMz7Ez/vaKQGEjKt9cwT+Q6uirtCATMgaq6VWAW7YW8xXw==
+ dependencies:
+ "@expo/config-types" "^51.0.0-unreleased"
+ "@expo/json-file" "~8.3.0"
+ "@expo/plist" "^0.1.0"
+ "@expo/sdk-runtime-versions" "^1.0.0"
+ chalk "^4.1.2"
+ debug "^4.3.1"
+ find-up "~5.0.0"
+ getenv "^1.0.0"
+ glob "7.1.6"
+ resolve-from "^5.0.0"
+ semver "^7.5.4"
+ slash "^3.0.0"
+ slugify "^1.6.6"
+ xcode "^3.0.1"
+ xml2js "0.6.0"
+
+"@expo/config-plugins@~8.0.0":
version "8.0.6"
resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-8.0.6.tgz#ab87eb4d2a6d1b40e95f74ed9ff3d849561f3f88"
integrity sha512-Vmn/BSg/hBmliU/Bl+G4sExDoWd4iHXQG7ITUNR5Uar7uLko1A5vdVV+EOEUFA0f8jEZMHG3uZJUoXmr4LPaxA==
@@ -1493,13 +1514,13 @@
resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-51.0.2.tgz#7385451b180d34d8f2a4eeb5feabe1fe3c5d4f32"
integrity sha512-IglkIoiDwJMY01lYkF/ZSBoe/5cR+O3+Gx6fpLFjLfgZGBTdyPkKa1g8NWoWQCk+D3cKL2MDbszT2DyRRB0YqQ==
-"@expo/config@9.0.1":
- version "9.0.1"
- resolved "https://registry.yarnpkg.com/@expo/config/-/config-9.0.1.tgz#e7b79de5af29d5ab2a98a62c3cda31f03bd75827"
- integrity sha512-0tjaXBstTbXmD4z+UMFBkh2SZFwilizSQhW6DlaTMnPG5ezuw93zSFEWAuEC3YzkpVtNQTmYzxAYjxwh6seOGg==
+"@expo/config@9.0.3":
+ version "9.0.3"
+ resolved "https://registry.yarnpkg.com/@expo/config/-/config-9.0.3.tgz#4bc2ec654145e6242f4b1964db2962ee0fee1270"
+ integrity sha512-eOTNM8eOC8gZNHgenySRlc/lwmYY1NOgvjwA8LHuvPT7/eUwD93zrxu3lPD1Cc/P6C/2BcVdfH4hf0tLmDxnsg==
dependencies:
"@babel/code-frame" "~7.10.4"
- "@expo/config-plugins" "~8.0.0-beta.0"
+ "@expo/config-plugins" "~8.0.8"
"@expo/config-types" "^51.0.0-unreleased"
"@expo/json-file" "^8.3.0"
getenv "^1.0.0"
@@ -1582,10 +1603,10 @@
json5 "^2.2.2"
write-file-atomic "^2.3.0"
-"@expo/metro-config@0.18.8", "@expo/metro-config@~0.18.6":
- version "0.18.8"
- resolved "https://registry.yarnpkg.com/@expo/metro-config/-/metro-config-0.18.8.tgz#2902bfdb864876da3cf5b1822a554bbb011e4a77"
- integrity sha512-YGpTlVc1/6EPzPbt0LZt92Bwrpjngulup6uHSTRbwn/heMPfFaVv1Y4VE3GAUkx7/Qwu+dTVIV0Kys4pLOAIiw==
+"@expo/metro-config@0.18.11":
+ version "0.18.11"
+ resolved "https://registry.yarnpkg.com/@expo/metro-config/-/metro-config-0.18.11.tgz#22e82d92fb9d94ac760cc8b3bff48e6f32b4f032"
+ integrity sha512-/uOq55VbSf9yMbUO1BudkUM2SsGW1c5hr9BnhIqYqcsFv0Jp5D3DtJ4rljDKaUeNLbwr6m7pqIrkSMq5NrYf4Q==
dependencies:
"@babel/core" "^7.20.0"
"@babel/generator" "^7.20.5"
@@ -1641,17 +1662,17 @@
base64-js "^1.2.3"
xmlbuilder "^14.0.0"
-"@expo/prebuild-config@7.0.6":
- version "7.0.6"
- resolved "https://registry.yarnpkg.com/@expo/prebuild-config/-/prebuild-config-7.0.6.tgz#b9c2c36ee564244da8073ce7bea22ebe57743615"
- integrity sha512-Hts+iGBaG6OQ+N8IEMMgwQElzJeSTb7iUJ26xADEHkaexsucAK+V52dM8M4ceicvbZR9q8M+ebJEGj0MCNA3dQ==
+"@expo/prebuild-config@7.0.8":
+ version "7.0.8"
+ resolved "https://registry.yarnpkg.com/@expo/prebuild-config/-/prebuild-config-7.0.8.tgz#8af72b19c92f05f1ab6c6c70d31f33159dacac39"
+ integrity sha512-wH9NVg6HiwF5y9x0TxiMEeBF+ITPGDXy5/i6OUheSrKpPgb0lF1Mwzl/f2fLPXBEpl+ZXOQ8LlLW32b7K9lrNg==
dependencies:
"@expo/config" "~9.0.0-beta.0"
- "@expo/config-plugins" "~8.0.0-beta.0"
+ "@expo/config-plugins" "~8.0.8"
"@expo/config-types" "^51.0.0-unreleased"
"@expo/image-utils" "^0.5.0"
"@expo/json-file" "^8.3.0"
- "@react-native/normalize-colors" "0.74.84"
+ "@react-native/normalize-colors" "0.74.85"
debug "^4.3.1"
fs-extra "^9.0.0"
resolve-from "^5.0.0"
@@ -2029,9 +2050,9 @@
"@jridgewell/sourcemap-codec" "^1.4.14"
"@microsoft/applicationinsights-web-snippet@^1.0.1":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-snippet/-/applicationinsights-web-snippet-1.2.0.tgz#2c1b3761e008f1e16ae84974b37523d709af5dd8"
- integrity sha512-KpJzrC+VYOKSNVOlk0vIxsQ6ZmZOswdNXvkv+nVBsz6tzRI86fKW2qKTCzKcd80f3xOa6dxg6OfEljQPcelQ7g==
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-snippet/-/applicationinsights-web-snippet-1.2.1.tgz#c158081f8c40ea9ad94475abac15f67182768882"
+ integrity sha512-+Cy9zFqdQgdAbMK1dpm7B+3DUnrByai0Tq6XG9v737HJpW6G1EiNNbTuFeXdPWyGaq6FIx9jxm/SUcxA6/Rxxg==
"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1":
version "5.1.1-v1"
@@ -2068,66 +2089,64 @@
dependencies:
semver "^7.3.5"
-"@opentelemetry/api@^1.4.1":
+"@opentelemetry/api-logs@0.52.1":
+ version "0.52.1"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.52.1.tgz#52906375da4d64c206b0c4cb8ffa209214654ecc"
+ integrity sha512-qnSqB2DQ9TPP96dl8cDubDvrUyWc0/sK81xHTK8eSUspzDM3bsewX903qclQFvVhgStjRWdC5bLb3kQqMkfV5A==
+ dependencies:
+ "@opentelemetry/api" "^1.0.0"
+
+"@opentelemetry/api@^1.0.0", "@opentelemetry/api@^1.4.1", "@opentelemetry/api@^1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.9.0.tgz#d03eba68273dc0f7509e2a3d5cba21eae10379fe"
integrity sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==
-"@opentelemetry/core@1.25.1", "@opentelemetry/core@^1.15.2":
- version "1.25.1"
- resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.25.1.tgz#ff667d939d128adfc7c793edae2f6bca177f829d"
- integrity sha512-GeT/l6rBYWVQ4XArluLVB6WWQ8flHbdb6r2FCHC3smtdOAbrJBIv35tpV/yp9bmYUJf+xmZpu9DRTIeJVhFbEQ==
+"@opentelemetry/core@1.26.0", "@opentelemetry/core@^1.15.2", "@opentelemetry/core@^1.25.1":
+ version "1.26.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.26.0.tgz#7d84265aaa850ed0ca5813f97d831155be42b328"
+ integrity sha512-1iKxXXE8415Cdv0yjG3G6hQnB5eVEsJce3QaawX8SjDn0mAS0ZM8fAbZZJD4ajvhC15cePvosSCut404KrIIvQ==
dependencies:
- "@opentelemetry/semantic-conventions" "1.25.1"
+ "@opentelemetry/semantic-conventions" "1.27.0"
-"@opentelemetry/instrumentation@^0.41.2":
- version "0.41.2"
- resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.41.2.tgz#cae11fa64485dcf03dae331f35b315b64bc6189f"
- integrity sha512-rxU72E0pKNH6ae2w5+xgVYZLzc5mlxAbGzF4shxMVK8YC2QQsfN38B2GPbj0jvrKWWNUElfclQ+YTykkNg/grw==
+"@opentelemetry/instrumentation@^0.52.1":
+ version "0.52.1"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.52.1.tgz#2e7e46a38bd7afbf03cf688c862b0b43418b7f48"
+ integrity sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw==
dependencies:
+ "@opentelemetry/api-logs" "0.52.1"
"@types/shimmer" "^1.0.2"
- import-in-the-middle "1.4.2"
+ import-in-the-middle "^1.8.1"
require-in-the-middle "^7.1.1"
- semver "^7.5.1"
+ semver "^7.5.2"
shimmer "^1.2.1"
-"@opentelemetry/resources@1.25.1":
- version "1.25.1"
- resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.25.1.tgz#bb9a674af25a1a6c30840b755bc69da2796fefbb"
- integrity sha512-pkZT+iFYIZsVn6+GzM0kSX+u3MSLCY9md+lIJOoKl/P+gJFfxJte/60Usdp8Ce4rOs8GduUpSPNe1ddGyDT1sQ==
+"@opentelemetry/resources@1.26.0":
+ version "1.26.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.26.0.tgz#da4c7366018bd8add1f3aa9c91c6ac59fd503cef"
+ integrity sha512-CPNYchBE7MBecCSVy0HKpUISEeJOniWqcHaAHpmasZ3j9o6V3AyBzhRc90jdmemq0HOxDr6ylhUbDhBqqPpeNw==
dependencies:
- "@opentelemetry/core" "1.25.1"
- "@opentelemetry/semantic-conventions" "1.25.1"
+ "@opentelemetry/core" "1.26.0"
+ "@opentelemetry/semantic-conventions" "1.27.0"
"@opentelemetry/sdk-trace-base@^1.15.2":
- version "1.25.1"
- resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.25.1.tgz#cbc1e60af255655d2020aa14cde17b37bd13df37"
- integrity sha512-C8k4hnEbc5FamuZQ92nTOp8X/diCY56XUTnMiv9UTuJitCzaNNHAVsdm5+HLCdI8SLQsLWIrG38tddMxLVoftw==
+ version "1.26.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.26.0.tgz#0c913bc6d2cfafd901de330e4540952269ae579c"
+ integrity sha512-olWQldtvbK4v22ymrKLbIcBi9L2SpMO84sCPY54IVsJhP9fRsxJT194C/AVaAuJzLE30EdhhM1VmvVYR7az+cw==
dependencies:
- "@opentelemetry/core" "1.25.1"
- "@opentelemetry/resources" "1.25.1"
- "@opentelemetry/semantic-conventions" "1.25.1"
+ "@opentelemetry/core" "1.26.0"
+ "@opentelemetry/resources" "1.26.0"
+ "@opentelemetry/semantic-conventions" "1.27.0"
-"@opentelemetry/semantic-conventions@1.25.1", "@opentelemetry/semantic-conventions@^1.15.2":
- version "1.25.1"
- resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.25.1.tgz#0deecb386197c5e9c2c28f2f89f51fb8ae9f145e"
- integrity sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ==
+"@opentelemetry/semantic-conventions@1.27.0", "@opentelemetry/semantic-conventions@^1.15.2":
+ version "1.27.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.27.0.tgz#1a857dcc95a5ab30122e04417148211e6f945e6c"
+ integrity sha512-sAay1RrB+ONOem0OZanAR1ZI/k7yDpnOQSQmTMuGImUQb2y8EbSaCJ94FQluM74xoU03vlb2d2U90hZluL6nQg==
"@pkgjs/parseargs@^0.11.0":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33"
integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
-"@react-native-community/cli-clean@13.6.4":
- version "13.6.4"
- resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-13.6.4.tgz#53c07c6f2834a971dc40eab290edcf8ccc5d1e00"
- integrity sha512-nS1BJ+2Z+aLmqePxB4AYgJ+C/bgQt02xAgSYtCUv+lneRBGhL2tHRrK8/Iolp0y+yQoUtHHf4txYi90zGXLVfw==
- dependencies:
- "@react-native-community/cli-tools" "13.6.4"
- chalk "^4.1.2"
- execa "^5.0.0"
- fast-glob "^3.3.2"
-
"@react-native-community/cli-clean@13.6.9":
version "13.6.9"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-13.6.9.tgz#b6754f39c2b877c9d730feb848945150e1d52209"
@@ -2138,18 +2157,6 @@
execa "^5.0.0"
fast-glob "^3.3.2"
-"@react-native-community/cli-config@13.6.4":
- version "13.6.4"
- resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-13.6.4.tgz#3004c7bca55cb384b3a99c38c1a48dad24533237"
- integrity sha512-GGK415WoTx1R9FXtfb/cTnan9JIWwSm+a5UCuFd6+suzS0oIt1Md1vCzjNh6W1CK3b43rZC2e+3ZU7Ljd7YtyQ==
- dependencies:
- "@react-native-community/cli-tools" "13.6.4"
- chalk "^4.1.2"
- cosmiconfig "^5.1.0"
- deepmerge "^4.3.0"
- fast-glob "^3.3.2"
- joi "^17.2.1"
-
"@react-native-community/cli-config@13.6.9":
version "13.6.9"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-13.6.9.tgz#d609a64d40a173c89bd7d24e31807bb7dcba69f9"
@@ -2162,13 +2169,6 @@
fast-glob "^3.3.2"
joi "^17.2.1"
-"@react-native-community/cli-debugger-ui@13.6.4":
- version "13.6.4"
- resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-13.6.4.tgz#3881b9cfe14e66b3ee827a84f19ca9d0283fd764"
- integrity sha512-9Gs31s6tA1kuEo69ay9qLgM3x2gsN/RI994DCUKnFSW+qSusQJyyrmfllR2mGU3Wl1W09/nYpIg87W9JPf5y4A==
- dependencies:
- serve-static "^1.13.1"
-
"@react-native-community/cli-debugger-ui@13.6.9":
version "13.6.9"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-13.6.9.tgz#bc5727c51964206a00d417e5148b46331a81d5a5"
@@ -2176,29 +2176,6 @@
dependencies:
serve-static "^1.13.1"
-"@react-native-community/cli-doctor@13.6.4":
- version "13.6.4"
- resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-13.6.4.tgz#07e5c2f163807e61ce0ba12901903e591177e3d3"
- integrity sha512-lWOXCISH/cHtLvO0cWTr+IPSzA54FewVOw7MoCMEvWusH+1n7c3hXTAve78mLozGQ7iuUufkHFWwKf3dzOkflQ==
- dependencies:
- "@react-native-community/cli-config" "13.6.4"
- "@react-native-community/cli-platform-android" "13.6.4"
- "@react-native-community/cli-platform-apple" "13.6.4"
- "@react-native-community/cli-platform-ios" "13.6.4"
- "@react-native-community/cli-tools" "13.6.4"
- chalk "^4.1.2"
- command-exists "^1.2.8"
- deepmerge "^4.3.0"
- envinfo "^7.10.0"
- execa "^5.0.0"
- hermes-profile-transformer "^0.0.6"
- node-stream-zip "^1.9.1"
- ora "^5.4.1"
- semver "^7.5.2"
- strip-ansi "^5.2.0"
- wcwidth "^1.0.1"
- yaml "^2.2.1"
-
"@react-native-community/cli-doctor@13.6.9":
version "13.6.9"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-13.6.9.tgz#f1d4eeff427ddc8a9d19851042621c10939c35cb"
@@ -2222,16 +2199,6 @@
wcwidth "^1.0.1"
yaml "^2.2.1"
-"@react-native-community/cli-hermes@13.6.4":
- version "13.6.4"
- resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-13.6.4.tgz#6d3e9b5c251461e9bb35b04110544db8a4f5968f"
- integrity sha512-VIAufA/2wTccbMYBT9o+mQs9baOEpTxCiIdWeVdkPWKzIwtKsLpDZJlUqj4r4rI66mwjFyQ60PhwSzEJ2ApFeQ==
- dependencies:
- "@react-native-community/cli-platform-android" "13.6.4"
- "@react-native-community/cli-tools" "13.6.4"
- chalk "^4.1.2"
- hermes-profile-transformer "^0.0.6"
-
"@react-native-community/cli-hermes@13.6.9":
version "13.6.9"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-13.6.9.tgz#88c8dfe936a0d4272efc54429eda9ccc3fca3ad8"
@@ -2242,18 +2209,6 @@
chalk "^4.1.2"
hermes-profile-transformer "^0.0.6"
-"@react-native-community/cli-platform-android@13.6.4":
- version "13.6.4"
- resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-13.6.4.tgz#78ab4c840f4f1f5252ad2fcc5a55f7681ec458cb"
- integrity sha512-WhknYwIobKKCqaGCN3BzZEQHTbaZTDiGvcXzevvN867ldfaGdtbH0DVqNunbPoV1RNzeV9qKoQHFdWBkg83tpg==
- dependencies:
- "@react-native-community/cli-tools" "13.6.4"
- chalk "^4.1.2"
- execa "^5.0.0"
- fast-glob "^3.3.2"
- fast-xml-parser "^4.2.4"
- logkitty "^0.7.1"
-
"@react-native-community/cli-platform-android@13.6.9":
version "13.6.9"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-13.6.9.tgz#b175b9b11334fc90da3f395432678bd53c30fae4"
@@ -2266,18 +2221,6 @@
fast-xml-parser "^4.2.4"
logkitty "^0.7.1"
-"@react-native-community/cli-platform-apple@13.6.4":
- version "13.6.4"
- resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-apple/-/cli-platform-apple-13.6.4.tgz#4912eaf519800a957745192718822b94655c8119"
- integrity sha512-TLBiotdIz0veLbmvNQIdUv9fkBx7m34ANGYqr5nH7TFxdmey+Z+omoBqG/HGpvyR7d0AY+kZzzV4k+HkYHM/aQ==
- dependencies:
- "@react-native-community/cli-tools" "13.6.4"
- chalk "^4.1.2"
- execa "^5.0.0"
- fast-glob "^3.3.2"
- fast-xml-parser "^4.0.12"
- ora "^5.4.1"
-
"@react-native-community/cli-platform-apple@13.6.9":
version "13.6.9"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-apple/-/cli-platform-apple-13.6.9.tgz#02fb5dc47d62acd85f4d7a852e93216927a772fa"
@@ -2290,13 +2233,6 @@
fast-xml-parser "^4.0.12"
ora "^5.4.1"
-"@react-native-community/cli-platform-ios@13.6.4":
- version "13.6.4"
- resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-13.6.4.tgz#96ec915c6df23b2b7b7e0d8cb3db7368e448d620"
- integrity sha512-8Dlva8RY+MY5nhWAj6V7voG3+JOEzDTJmD0FHqL+4p0srvr9v7IEVcxfw5lKBDIUNd0OMAHNevGA+cyz1J60jg==
- dependencies:
- "@react-native-community/cli-platform-apple" "13.6.4"
-
"@react-native-community/cli-platform-ios@13.6.9":
version "13.6.9"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-13.6.9.tgz#f37ceab41c2302e8f0d4bcbd3bf58b3353db4306"
@@ -2304,21 +2240,6 @@
dependencies:
"@react-native-community/cli-platform-apple" "13.6.9"
-"@react-native-community/cli-server-api@13.6.4":
- version "13.6.4"
- resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-13.6.4.tgz#6bcec7ae387fc3aeb3e78f62561a91962e6fadf7"
- integrity sha512-D2qSuYCFwrrUJUM0SDc9l3lEhU02yjf+9Peri/xhspzAhALnsf6Z/H7BCjddMV42g9/eY33LqiGyN5chr83a+g==
- dependencies:
- "@react-native-community/cli-debugger-ui" "13.6.4"
- "@react-native-community/cli-tools" "13.6.4"
- compression "^1.7.1"
- connect "^3.6.5"
- errorhandler "^1.5.1"
- nocache "^3.0.1"
- pretty-format "^26.6.2"
- serve-static "^1.13.1"
- ws "^7.5.1"
-
"@react-native-community/cli-server-api@13.6.9":
version "13.6.9"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-13.6.9.tgz#269e666bc26e9d0b2f42c7f6099559b5f9259e9d"
@@ -2334,23 +2255,6 @@
serve-static "^1.13.1"
ws "^6.2.2"
-"@react-native-community/cli-tools@13.6.4":
- version "13.6.4"
- resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-13.6.4.tgz#ab396604b6dcf215790807fe89656e779b11f0ec"
- integrity sha512-N4oHLLbeTdg8opqJozjClmuTfazo1Mt+oxU7mr7m45VCsFgBqTF70Uwad289TM/3l44PP679NRMAHVYqpIRYtQ==
- dependencies:
- appdirsjs "^1.2.4"
- chalk "^4.1.2"
- execa "^5.0.0"
- find-up "^5.0.0"
- mime "^2.4.1"
- node-fetch "^2.6.0"
- open "^6.2.0"
- ora "^5.4.1"
- semver "^7.5.2"
- shell-quote "^1.7.3"
- sudo-prompt "^9.0.0"
-
"@react-native-community/cli-tools@13.6.9":
version "13.6.9"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-13.6.9.tgz#2baee279358ba1a863e737b2fa9f45659ad91929"
@@ -2368,13 +2272,6 @@
shell-quote "^1.7.3"
sudo-prompt "^9.0.0"
-"@react-native-community/cli-types@13.6.4":
- version "13.6.4"
- resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-13.6.4.tgz#e499a3691ee597aa4b93196ff182a4782fae7afb"
- integrity sha512-NxGCNs4eYtVC8x0wj0jJ/MZLRy8C+B9l8lY8kShuAcvWTv5JXRqmXjg8uK1aA+xikPh0maq4cc/zLw1roroY/A==
- dependencies:
- joi "^17.2.1"
-
"@react-native-community/cli-types@13.6.9":
version "13.6.9"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-13.6.9.tgz#08bfb796eacf0daeb31e2de516e81e78a36a1a55"
@@ -2382,29 +2279,6 @@
dependencies:
joi "^17.2.1"
-"@react-native-community/cli@13.6.4":
- version "13.6.4"
- resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-13.6.4.tgz#dabe2749470a34533e18aada51d97c94b3568307"
- integrity sha512-V7rt2N5JY7M4dJFgdNfR164r3hZdR/Z7V54dv85TFQHRbdwF4QrkG+GeagAU54qrkK/OU8OH3AF2+mKuiNWpGA==
- dependencies:
- "@react-native-community/cli-clean" "13.6.4"
- "@react-native-community/cli-config" "13.6.4"
- "@react-native-community/cli-debugger-ui" "13.6.4"
- "@react-native-community/cli-doctor" "13.6.4"
- "@react-native-community/cli-hermes" "13.6.4"
- "@react-native-community/cli-server-api" "13.6.4"
- "@react-native-community/cli-tools" "13.6.4"
- "@react-native-community/cli-types" "13.6.4"
- chalk "^4.1.2"
- commander "^9.4.1"
- deepmerge "^4.3.0"
- execa "^5.0.0"
- find-up "^4.1.0"
- fs-extra "^8.1.0"
- graceful-fs "^4.1.3"
- prompts "^2.4.2"
- semver "^7.5.2"
-
"@react-native-community/cli@13.6.9":
version "13.6.9"
resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-13.6.9.tgz#ba6360b94e0aba9c4001bda256cf7e57e2ecb02c"
@@ -2433,15 +2307,15 @@
resolved "https://registry.yarnpkg.com/@react-native-picker/picker/-/picker-2.7.5.tgz#e43fcd65f260fa4f23e974ccb9fb7c1f7a9ff94a"
integrity sha512-vhMaOLkXSUb+YKVbukMJToU4g+89VMhBG2U9+cLYF8X8HtFRidrHjohGqT8/OyesDuKIXeLIP+UFYI9Q9CRA9Q==
-"@react-native-windows/cli@0.74.0":
- version "0.74.0"
- resolved "https://registry.yarnpkg.com/@react-native-windows/cli/-/cli-0.74.0.tgz#da85c0f8d7f96a761080fae27323fe257560e22d"
- integrity sha512-grOp6b/Pfa4T+n+oWmoo18BXI97CKZPbRKTlCg2Ne5Hsq2rj4Ewg8tnRFKFOMthy5dZcPWLqsphkT0J/sQBHXw==
+"@react-native-windows/cli@0.74.3":
+ version "0.74.3"
+ resolved "https://registry.yarnpkg.com/@react-native-windows/cli/-/cli-0.74.3.tgz#ef1abf6f709cf5a0a5d5e45bbe6937b8d7af8c0e"
+ integrity sha512-1HkQkWYbY1CzVc9G/MP68xWNLutBNRPalx1KtImyACggUkWXadWK46Wi1IbyDtSMlY5cIpCTHL03cdHHsXAkaQ==
dependencies:
- "@react-native-windows/codegen" "0.74.0"
- "@react-native-windows/fs" "0.74.0"
- "@react-native-windows/package-utils" "0.74.0"
- "@react-native-windows/telemetry" "0.74.0"
+ "@react-native-windows/codegen" "0.74.2"
+ "@react-native-windows/fs" "0.74.1"
+ "@react-native-windows/package-utils" "0.74.1"
+ "@react-native-windows/telemetry" "0.74.1"
"@xmldom/xmldom" "^0.7.7"
chalk "^4.1.0"
cli-spinners "^2.2.0"
@@ -2460,50 +2334,50 @@
xml-parser "^1.2.1"
xpath "^0.0.27"
-"@react-native-windows/codegen@0.74.0":
- version "0.74.0"
- resolved "https://registry.yarnpkg.com/@react-native-windows/codegen/-/codegen-0.74.0.tgz#9024ba6e871088e42356f94eb126697e6268487b"
- integrity sha512-jSN5PZQKZIuaukoUJU9LOyHs2Y/KmG5xsLtSGRUcjG8wTrzP+xXxj3115hHdk9vreL80o+pup5o1UNfyLfvGIA==
+"@react-native-windows/codegen@0.74.2":
+ version "0.74.2"
+ resolved "https://registry.yarnpkg.com/@react-native-windows/codegen/-/codegen-0.74.2.tgz#04053553067d8affdce04a449426672bcec58c47"
+ integrity sha512-KJ2wOeF+QFXx8d1T4sph0tDLCCMZdPvkNz1pRzMPmnvbTksx9krulCY3ZwxK0ZbDfn03VOfpSeMI4Ru47RJWuA==
dependencies:
- "@react-native-windows/fs" "0.74.0"
+ "@react-native-windows/fs" "0.74.1"
chalk "^4.1.0"
- globby "^11.0.4"
+ globby "^11.1.0"
mustache "^4.0.1"
source-map-support "^0.5.19"
yargs "^16.2.0"
-"@react-native-windows/find-repo-root@0.74.0":
- version "0.74.0"
- resolved "https://registry.yarnpkg.com/@react-native-windows/find-repo-root/-/find-repo-root-0.74.0.tgz#687819c76825d3f7c58401a9d96c2c748774506f"
- integrity sha512-6dxkKX+mtT+yXuTDUf7A+ZQnyX57WlYk3fDNeNTpI66xBR4QuRwPdzTNamZxvX6JEMSe4lm4PqXWlfAKYzPENw==
+"@react-native-windows/find-repo-root@0.74.1":
+ version "0.74.1"
+ resolved "https://registry.yarnpkg.com/@react-native-windows/find-repo-root/-/find-repo-root-0.74.1.tgz#bf2f10545c29ffcdb76b9179fce346f84e15c5ab"
+ integrity sha512-k+Hk16/NmPhxsQYGCRtAfcQqCDCJvAxC74FLzFOO6+c/VDM0U05kEcJsJzI1dh/0kZh+YSZQo3w1RrA1z1S2gw==
dependencies:
- "@react-native-windows/fs" "0.74.0"
+ "@react-native-windows/fs" "0.74.1"
find-up "^4.1.0"
-"@react-native-windows/fs@0.74.0":
- version "0.74.0"
- resolved "https://registry.yarnpkg.com/@react-native-windows/fs/-/fs-0.74.0.tgz#bbef312e6c9541292a69e607c1e5fbc47e2a665c"
- integrity sha512-YK8CkNHSwskU3PPCPTw1DPen3/QXS7qP7rAp+FNK4LfyOgiO1V9TiIyz3DcvqOsD+iwriXoEl/3Bvo/8HmlTbQ==
+"@react-native-windows/fs@0.74.1":
+ version "0.74.1"
+ resolved "https://registry.yarnpkg.com/@react-native-windows/fs/-/fs-0.74.1.tgz#2c6ade1f937adc6056b1a6b052b7b85acb725a14"
+ integrity sha512-Qepr2KyMvCKugOwIXKXtgMqww5P3yI5HTtxIUWytBCoIPEk1lJdpx/sFjTGmir0QXaLlZxXbdrxpLLnN7eq3Tg==
dependencies:
graceful-fs "^4.2.8"
-"@react-native-windows/package-utils@0.74.0":
- version "0.74.0"
- resolved "https://registry.yarnpkg.com/@react-native-windows/package-utils/-/package-utils-0.74.0.tgz#bdcd18f993d899a6f9914365863bde7ee4eee509"
- integrity sha512-b7c2/DycLM3MK7K6Y4XVuKFBTLvyg0DSP7++f/yZsBWyCysFycAS5gCrlVbXk6Kez3CIEspSS7op+GJMduMp8g==
+"@react-native-windows/package-utils@0.74.1":
+ version "0.74.1"
+ resolved "https://registry.yarnpkg.com/@react-native-windows/package-utils/-/package-utils-0.74.1.tgz#18e49bb5b2ed967f279605223eae65a3ea55112f"
+ integrity sha512-nzKo1H991npbRx2EJT0wkniGkngEw7ND5+oz6jhbNFQ3UCKIUBCLc2bPBBX1Z5jp40R+qoVbgnQP2fuAN5y9tA==
dependencies:
- "@react-native-windows/find-repo-root" "0.74.0"
- "@react-native-windows/fs" "0.74.0"
+ "@react-native-windows/find-repo-root" "0.74.1"
+ "@react-native-windows/fs" "0.74.1"
get-monorepo-packages "^1.2.0"
lodash "^4.17.15"
-"@react-native-windows/telemetry@0.74.0":
- version "0.74.0"
- resolved "https://registry.yarnpkg.com/@react-native-windows/telemetry/-/telemetry-0.74.0.tgz#e050312998d6c64f50f368bcb3299e9e3138fd10"
- integrity sha512-80vMPWXLJpa3v+vAafXjCQM0GFE3Iq8breRkrwzmbANAfCEXoJdOI0Aju0sOqDyiE68OUekjU9lwWbIyFEQGJQ==
+"@react-native-windows/telemetry@0.74.1":
+ version "0.74.1"
+ resolved "https://registry.yarnpkg.com/@react-native-windows/telemetry/-/telemetry-0.74.1.tgz#ecc53e608f64f9e976952a92216e7b2328437523"
+ integrity sha512-9xdXJ77AQ4f5PXEHBCXd7N1HyXX22moxbTZHMShb4JPVellSWCLNPlqxUuXTDEjjn6rlIsS2ToiT0owQ1nZszA==
dependencies:
"@azure/core-auth" "1.5.0"
- "@react-native-windows/fs" "0.74.0"
+ "@react-native-windows/fs" "0.74.1"
"@xmldom/xmldom" "^0.7.7"
applicationinsights "2.9.1"
ci-info "^3.2.0"
@@ -2512,35 +2386,16 @@
os-locale "^5.0.0"
xpath "^0.0.27"
-"@react-native/assets-registry@0.74.81":
- version "0.74.81"
- resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.74.81.tgz#76b17f8f79b366ec4f18a0f4e99b7cd466aa5aa7"
- integrity sha512-ms+D6pJ6l30epm53pwnAislW79LEUHJxWfe1Cu0LWyTTBlg1OFoqXfB3eIbpe4WyH3nrlkQAh0yyk4huT2mCvw==
-
-"@react-native/assets-registry@0.74.85":
- version "0.74.85"
- resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.74.85.tgz#ae903c0c25f4d6a751d53d63245d5612c81edd98"
- integrity sha512-59YmIQxfGDw4aP9S/nAM+sjSFdW8fUP6fsqczCcXgL2YVEjyER9XCaUT0J1K+PdHep8pi05KUgIKUds8P3jbmA==
+"@react-native/assets-registry@0.74.87":
+ version "0.74.87"
+ resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.74.87.tgz#7dda64e48db14597e19e15f679e31abbb1c1fb4d"
+ integrity sha512-1XmRhqQchN+pXPKEKYdpJlwESxVomJOxtEnIkbo7GAlaN2sym84fHEGDXAjLilih5GVPpcpSmFzTy8jx3LtaFg==
"@react-native/assets@1.0.0":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e"
integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==
-"@react-native/babel-plugin-codegen@0.74.81":
- version "0.74.81"
- resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.74.81.tgz#80484fb9029038694a92193ae2653529e44aab64"
- integrity sha512-Bj6g5/xkLMBAdC6665TbD3uCKCQSmLQpGv3gyqya/ydZpv3dDmDXfkGmO4fqTwEMunzu09Sk55st2ipmuXAaAg==
- dependencies:
- "@react-native/codegen" "0.74.81"
-
-"@react-native/babel-plugin-codegen@0.74.84":
- version "0.74.84"
- resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.74.84.tgz#a3a72c188d875601704a421e395f6909fdec40f3"
- integrity sha512-UR4uiii5szIJA84mSC6GJOfYKDq7/ThyetOQT62+BBcyGeHVtHlNLNRzgaMeLqIQaT8Fq4pccMI+7QqLOMXzdw==
- dependencies:
- "@react-native/codegen" "0.74.84"
-
"@react-native/babel-plugin-codegen@0.74.85":
version "0.74.85"
resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.74.85.tgz#067224bf5099ee2679babd700c7115822a747004"
@@ -2548,59 +2403,17 @@
dependencies:
"@react-native/codegen" "0.74.85"
-"@react-native/babel-preset@0.74.81":
- version "0.74.81"
- resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.74.81.tgz#80d0b96eef35d671f97eaf223c4d770170d7f23f"
- integrity sha512-H80B3Y3lBBVC4x9tceTEQq/04lx01gW6ajWCcVbd7sHvGEAxfMFEZUmVZr0451Cafn02wVnDJ8psto1F+0w5lw==
+"@react-native/babel-plugin-codegen@0.74.87":
+ version "0.74.87"
+ resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.74.87.tgz#44457f4de69911f37a6ac308a7783203a757574a"
+ integrity sha512-+vJYpMnENFrwtgvDfUj+CtVJRJuUnzAUYT0/Pb68Sq9RfcZ5xdcCuUgyf7JO+akW2VTBoJY427wkcxU30qrWWw==
dependencies:
- "@babel/core" "^7.20.0"
- "@babel/plugin-proposal-async-generator-functions" "^7.0.0"
- "@babel/plugin-proposal-class-properties" "^7.18.0"
- "@babel/plugin-proposal-export-default-from" "^7.0.0"
- "@babel/plugin-proposal-logical-assignment-operators" "^7.18.0"
- "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.0"
- "@babel/plugin-proposal-numeric-separator" "^7.0.0"
- "@babel/plugin-proposal-object-rest-spread" "^7.20.0"
- "@babel/plugin-proposal-optional-catch-binding" "^7.0.0"
- "@babel/plugin-proposal-optional-chaining" "^7.20.0"
- "@babel/plugin-syntax-dynamic-import" "^7.8.0"
- "@babel/plugin-syntax-export-default-from" "^7.0.0"
- "@babel/plugin-syntax-flow" "^7.18.0"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.0.0"
- "@babel/plugin-syntax-optional-chaining" "^7.0.0"
- "@babel/plugin-transform-arrow-functions" "^7.0.0"
- "@babel/plugin-transform-async-to-generator" "^7.20.0"
- "@babel/plugin-transform-block-scoping" "^7.0.0"
- "@babel/plugin-transform-classes" "^7.0.0"
- "@babel/plugin-transform-computed-properties" "^7.0.0"
- "@babel/plugin-transform-destructuring" "^7.20.0"
- "@babel/plugin-transform-flow-strip-types" "^7.20.0"
- "@babel/plugin-transform-function-name" "^7.0.0"
- "@babel/plugin-transform-literals" "^7.0.0"
- "@babel/plugin-transform-modules-commonjs" "^7.0.0"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.0.0"
- "@babel/plugin-transform-parameters" "^7.0.0"
- "@babel/plugin-transform-private-methods" "^7.22.5"
- "@babel/plugin-transform-private-property-in-object" "^7.22.11"
- "@babel/plugin-transform-react-display-name" "^7.0.0"
- "@babel/plugin-transform-react-jsx" "^7.0.0"
- "@babel/plugin-transform-react-jsx-self" "^7.0.0"
- "@babel/plugin-transform-react-jsx-source" "^7.0.0"
- "@babel/plugin-transform-runtime" "^7.0.0"
- "@babel/plugin-transform-shorthand-properties" "^7.0.0"
- "@babel/plugin-transform-spread" "^7.0.0"
- "@babel/plugin-transform-sticky-regex" "^7.0.0"
- "@babel/plugin-transform-typescript" "^7.5.0"
- "@babel/plugin-transform-unicode-regex" "^7.0.0"
- "@babel/template" "^7.0.0"
- "@react-native/babel-plugin-codegen" "0.74.81"
- babel-plugin-transform-flow-enums "^0.0.2"
- react-refresh "^0.14.0"
+ "@react-native/codegen" "0.74.87"
-"@react-native/babel-preset@0.74.84":
- version "0.74.84"
- resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.74.84.tgz#703ebfc810d82c9f51f033352abd5f9fa70d492b"
- integrity sha512-WUfu6Y4aGuVdocQZvx33BJiQWFH6kRCHYbZfBn2psgFrSRLgQWEQrDCxqPFObNAVSayM0rNhp2FvI5K/Eyeqlg==
+"@react-native/babel-preset@0.74.85":
+ version "0.74.85"
+ resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.74.85.tgz#3ce6ca77a318dec226fd9e3fff9c2ef7b0aa66e3"
+ integrity sha512-yMHUlN8INbK5BBwiBuQMftdWkpm1IgCsoJTKcGD2OpSgZhwwm8RUSvGhdRMzB2w7bsqqBmaEMleGtW6aCR7B9w==
dependencies:
"@babel/core" "^7.20.0"
"@babel/plugin-proposal-async-generator-functions" "^7.0.0"
@@ -2642,14 +2455,14 @@
"@babel/plugin-transform-typescript" "^7.5.0"
"@babel/plugin-transform-unicode-regex" "^7.0.0"
"@babel/template" "^7.0.0"
- "@react-native/babel-plugin-codegen" "0.74.84"
+ "@react-native/babel-plugin-codegen" "0.74.85"
babel-plugin-transform-flow-enums "^0.0.2"
react-refresh "^0.14.0"
-"@react-native/babel-preset@0.74.85":
- version "0.74.85"
- resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.74.85.tgz#3ce6ca77a318dec226fd9e3fff9c2ef7b0aa66e3"
- integrity sha512-yMHUlN8INbK5BBwiBuQMftdWkpm1IgCsoJTKcGD2OpSgZhwwm8RUSvGhdRMzB2w7bsqqBmaEMleGtW6aCR7B9w==
+"@react-native/babel-preset@0.74.87":
+ version "0.74.87"
+ resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.74.87.tgz#3d74517d2ea8898f83b5106027033607d5bda50d"
+ integrity sha512-hyKpfqzN2nxZmYYJ0tQIHG99FQO0OWXp/gVggAfEUgiT+yNKas1C60LuofUsK7cd+2o9jrpqgqW4WzEDZoBlTg==
dependencies:
"@babel/core" "^7.20.0"
"@babel/plugin-proposal-async-generator-functions" "^7.0.0"
@@ -2691,27 +2504,14 @@
"@babel/plugin-transform-typescript" "^7.5.0"
"@babel/plugin-transform-unicode-regex" "^7.0.0"
"@babel/template" "^7.0.0"
- "@react-native/babel-plugin-codegen" "0.74.85"
+ "@react-native/babel-plugin-codegen" "0.74.87"
babel-plugin-transform-flow-enums "^0.0.2"
react-refresh "^0.14.0"
-"@react-native/codegen@0.74.81":
- version "0.74.81"
- resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.74.81.tgz#1025ffd41f2b4710fd700c9e8e85210b9651a7c4"
- integrity sha512-hhXo4ccv2lYWaJrZDsdbRTZ5SzSOdyZ0MY6YXwf3xEFLuSunbUMu17Rz5LXemKXlpVx4KEgJ/TDc2pPVaRPZgA==
- dependencies:
- "@babel/parser" "^7.20.0"
- glob "^7.1.1"
- hermes-parser "0.19.1"
- invariant "^2.2.4"
- jscodeshift "^0.14.0"
- mkdirp "^0.5.1"
- nullthrows "^1.1.1"
-
-"@react-native/codegen@0.74.84":
- version "0.74.84"
- resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.74.84.tgz#d3425a510b7da558ef5088d9b0aa5e0b1c05c783"
- integrity sha512-0hXlnu9i0o8v+gXKQi+x6T471L85kCDwW4WrJiYAeOheWrQdNNW6rC3g8+LL7HXAf7QcHGU/8/d57iYfdVK2BQ==
+"@react-native/codegen@0.74.85":
+ version "0.74.85"
+ resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.74.85.tgz#568464071c0b9be741da1a1ab43b1df88180ca5d"
+ integrity sha512-N7QwoS4Hq/uQmoH83Ewedy6D0M7xbQsOU3OMcQf0eY3ltQ7S2hd9/R4UTalQWRn1OUJfXR6OG12QJ4FStKgV6Q==
dependencies:
"@babel/parser" "^7.20.0"
glob "^7.1.1"
@@ -2721,10 +2521,10 @@
mkdirp "^0.5.1"
nullthrows "^1.1.1"
-"@react-native/codegen@0.74.85":
- version "0.74.85"
- resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.74.85.tgz#568464071c0b9be741da1a1ab43b1df88180ca5d"
- integrity sha512-N7QwoS4Hq/uQmoH83Ewedy6D0M7xbQsOU3OMcQf0eY3ltQ7S2hd9/R4UTalQWRn1OUJfXR6OG12QJ4FStKgV6Q==
+"@react-native/codegen@0.74.87":
+ version "0.74.87"
+ resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.74.87.tgz#47f07a627d0294c8270a03aee098991ed91f8ae9"
+ integrity sha512-GMSYDiD+86zLKgMMgz9z0k6FxmRn+z6cimYZKkucW4soGbxWsbjUAZoZ56sJwt2FJ3XVRgXCrnOCgXoH/Bkhcg==
dependencies:
"@babel/parser" "^7.20.0"
glob "^7.1.1"
@@ -2734,33 +2534,15 @@
mkdirp "^0.5.1"
nullthrows "^1.1.1"
-"@react-native/community-cli-plugin@0.74.81":
- version "0.74.81"
- resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.74.81.tgz#4177207374942c52a86ad52c8c915f46729305ab"
- integrity sha512-ezPOwPxbDgrBZLJJMcXryXJXjv3VWt+Mt4jRZiEtvy6pAoi2owSH0b178T5cEZaWsxQN0BbyJ7F/xJsNiF4z0Q==
- dependencies:
- "@react-native-community/cli-server-api" "13.6.4"
- "@react-native-community/cli-tools" "13.6.4"
- "@react-native/dev-middleware" "0.74.81"
- "@react-native/metro-babel-transformer" "0.74.81"
- chalk "^4.0.0"
- execa "^5.1.1"
- metro "^0.80.3"
- metro-config "^0.80.3"
- metro-core "^0.80.3"
- node-fetch "^2.2.0"
- querystring "^0.2.1"
- readline "^1.3.0"
-
-"@react-native/community-cli-plugin@0.74.85":
- version "0.74.85"
- resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.74.85.tgz#5bf95599166fd2b8bf10612250006e282053f6c4"
- integrity sha512-ODzND33eA2owAY3g9jgCdqB+BjAh8qJ7dvmSotXgrgDYr3MJMpd8gvHTIPe2fg4Kab+wk8uipRhrE0i0RYMwtQ==
+"@react-native/community-cli-plugin@0.74.87":
+ version "0.74.87"
+ resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.74.87.tgz#4d9798d51381912f3771acded9b6b2804987e952"
+ integrity sha512-EgJG9lSr8x3X67dHQKQvU6EkO+3ksVlJHYIVv6U/AmW9dN80BEFxgYbSJ7icXS4wri7m4kHdgeq2PQ7/3vvrTQ==
dependencies:
"@react-native-community/cli-server-api" "13.6.9"
"@react-native-community/cli-tools" "13.6.9"
- "@react-native/dev-middleware" "0.74.85"
- "@react-native/metro-babel-transformer" "0.74.85"
+ "@react-native/dev-middleware" "0.74.87"
+ "@react-native/metro-babel-transformer" "0.74.87"
chalk "^4.0.0"
execa "^5.1.1"
metro "^0.80.3"
@@ -2770,47 +2552,23 @@
querystring "^0.2.1"
readline "^1.3.0"
-"@react-native/debugger-frontend@0.74.81":
- version "0.74.81"
- resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.74.81.tgz#17cefe2b3ff485071bd30d819995867fd145da27"
- integrity sha512-HCYF1/88AfixG75558HkNh9wcvGweRaSZGBA71KoZj03umXM8XJy0/ZpacGOml2Fwiqpil72gi6uU+rypcc/vw==
-
-"@react-native/debugger-frontend@0.74.84":
- version "0.74.84"
- resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.74.84.tgz#0bde122a988916b6a50f05a7c3ab1c5db029b149"
- integrity sha512-YUEA03UNFbiYzHpYxlcS2D9+3eNT5YLGkl5yRg3nOSN6KbCc/OttGnNZme+tuSOJwjMN/vcvtDKYkTqjJw8U0A==
-
"@react-native/debugger-frontend@0.74.85":
version "0.74.85"
resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.74.85.tgz#a7af94a7b81cb59f241fd1771d1b083445329700"
integrity sha512-gUIhhpsYLUTYWlWw4vGztyHaX/kNlgVspSvKe2XaPA7o3jYKUoNLc3Ov7u70u/MBWfKdcEffWq44eSe3j3s5JQ==
-"@react-native/dev-middleware@0.74.81":
- version "0.74.81"
- resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.74.81.tgz#120ab62982a48cba90c7724d099ddaa50184c200"
- integrity sha512-x2IpvUJN1LJE0WmPsSfQIbQaa9xwH+2VDFOUrzuO9cbQap8rNfZpcvVNbrZgrlKbgS4LXbbsj6VSL8b6SnMKMA==
- dependencies:
- "@isaacs/ttlcache" "^1.4.1"
- "@react-native/debugger-frontend" "0.74.81"
- "@rnx-kit/chromium-edge-launcher" "^1.0.0"
- chrome-launcher "^0.15.2"
- connect "^3.6.5"
- debug "^2.2.0"
- node-fetch "^2.2.0"
- nullthrows "^1.1.1"
- open "^7.0.3"
- selfsigned "^2.4.1"
- serve-static "^1.13.1"
- temp-dir "^2.0.0"
- ws "^6.2.2"
+"@react-native/debugger-frontend@0.74.87":
+ version "0.74.87"
+ resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.74.87.tgz#0bb4f4f54365d04fc975349d5f635cb575f6a5d8"
+ integrity sha512-MN95DJLYTv4EqJc+9JajA3AJZSBYJz2QEJ3uWlHrOky2vKrbbRVaW1ityTmaZa2OXIvNc6CZwSRSE7xCoHbXhQ==
-"@react-native/dev-middleware@0.74.84":
- version "0.74.84"
- resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.74.84.tgz#19ccfece791742f83f4c0a22a8c14593a45562a2"
- integrity sha512-veYw/WmyrAOQHUiIeULzn2duJQnXDPiKq2jZ/lcmDo6jsLirpp+Q73lx09TYgy/oVoPRuV0nfmU3x9B6EV/7qQ==
+"@react-native/dev-middleware@0.74.85":
+ version "0.74.85"
+ resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.74.85.tgz#eca35aceb882b1111385f7c20f1aad7a33a2734e"
+ integrity sha512-BRmgCK5vnMmHaKRO+h8PKJmHHH3E6JFuerrcfE3wG2eZ1bcSr+QTu8DAlpxsDWvJvHpCi8tRJGauxd+Ssj/c7w==
dependencies:
"@isaacs/ttlcache" "^1.4.1"
- "@react-native/debugger-frontend" "0.74.84"
+ "@react-native/debugger-frontend" "0.74.85"
"@rnx-kit/chromium-edge-launcher" "^1.0.0"
chrome-launcher "^0.15.2"
connect "^3.6.5"
@@ -2823,13 +2581,13 @@
temp-dir "^2.0.0"
ws "^6.2.2"
-"@react-native/dev-middleware@0.74.85":
- version "0.74.85"
- resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.74.85.tgz#eca35aceb882b1111385f7c20f1aad7a33a2734e"
- integrity sha512-BRmgCK5vnMmHaKRO+h8PKJmHHH3E6JFuerrcfE3wG2eZ1bcSr+QTu8DAlpxsDWvJvHpCi8tRJGauxd+Ssj/c7w==
+"@react-native/dev-middleware@0.74.87":
+ version "0.74.87"
+ resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.74.87.tgz#254807b579a3015ced659a14c374dbf029a9c04e"
+ integrity sha512-7TmZ3hTHwooYgIHqc/z87BMe1ryrIqAUi+AF7vsD+EHCGxHFdMjSpf1BZ2SUPXuLnF2cTiTfV2RwhbPzx0tYIA==
dependencies:
"@isaacs/ttlcache" "^1.4.1"
- "@react-native/debugger-frontend" "0.74.85"
+ "@react-native/debugger-frontend" "0.74.87"
"@rnx-kit/chromium-edge-launcher" "^1.0.0"
chrome-launcher "^0.15.2"
connect "^3.6.5"
@@ -2866,35 +2624,20 @@
resolved "https://registry.yarnpkg.com/@react-native/eslint-plugin/-/eslint-plugin-0.74.85.tgz#9e028ccf97ad6d3d661d796eb614951343be5a1f"
integrity sha512-FtyfgL8EOTddxm+DyjfsInqMtjmU0PWQIRdyET/uob8i6sCxS+HmBzhbtEVZUKwld2kNG1JGgdNLndcEejC81Q==
-"@react-native/gradle-plugin@0.74.81":
- version "0.74.81"
- resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.74.81.tgz#aac01999b1005bba3213f504deee7efaadb62c1e"
- integrity sha512-7YQ4TLnqfe2kplWWzBWO6k0rPSrWEbuEiRXSJNZQCtCk+t2YX985G62p/9jWm3sGLN4UTcpDXaFNTTPBvlycoQ==
-
-"@react-native/gradle-plugin@0.74.85":
- version "0.74.85"
- resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.74.85.tgz#7c7d16655a4c15da87402ae3f7d6566466aea723"
- integrity sha512-1VQSLukJzaVMn1MYcs8Weo1nUW8xCas2XU1KuoV7OJPk6xPnEBFJmapmEGP5mWeEy7kcTXJmddEgy1wwW0tcig==
-
-"@react-native/js-polyfills@0.74.81":
- version "0.74.81"
- resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.74.81.tgz#64780497be4ecbff1b27076294e3ebd7df1ba485"
- integrity sha512-o4MiR+/kkHoeoQ/zPwt81LnTm6pqdg0wOhU7S7vIZUqzJ7YUpnpaAvF+/z7HzUOPudnavoCN0wvcZPe/AMEyCA==
+"@react-native/gradle-plugin@0.74.87":
+ version "0.74.87"
+ resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.74.87.tgz#a66c01fda7a938a116dc27447f0ccce285796b2a"
+ integrity sha512-T+VX0N1qP+U9V4oAtn7FTX7pfsoVkd1ocyw9swYXgJqU2fK7hC9famW7b3s3ZiufPGPr1VPJe2TVGtSopBjL6A==
"@react-native/js-polyfills@0.74.85":
version "0.74.85"
resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.74.85.tgz#1abfeeaec5ff24b6a1b3e2296e760359fce47739"
integrity sha512-gp4Rg9le3lVZeW7Cie6qLfekvRKZuhJ3LKgi1SFB4N154z1wIclypAJXVXgWBsy8JKJfTwRI+sffC4qZDlvzrg==
-"@react-native/metro-babel-transformer@0.74.81":
- version "0.74.81"
- resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.74.81.tgz#f724eab91e6de82f8d098e6de57f25bb7501d2d6"
- integrity sha512-PVcMjj23poAK6Uemflz4MIJdEpONpjqF7JASNqqQkY6wfDdaIiZSNk8EBCWKb0t7nKqhMvtTq11DMzYJ0JFITg==
- dependencies:
- "@babel/core" "^7.20.0"
- "@react-native/babel-preset" "0.74.81"
- hermes-parser "0.19.1"
- nullthrows "^1.1.1"
+"@react-native/js-polyfills@0.74.87":
+ version "0.74.87"
+ resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.74.87.tgz#d28090a4dae417a2e9ad14e065fcf8cf52cc482c"
+ integrity sha512-M5Evdn76CuVEF0GsaXiGi95CBZ4IWubHqwXxV9vG9CC9kq0PSkoM2Pn7Lx7dgyp4vT7ccJ8a3IwHbe+5KJRnpw==
"@react-native/metro-babel-transformer@0.74.85":
version "0.74.85"
@@ -2906,6 +2649,16 @@
hermes-parser "0.19.1"
nullthrows "^1.1.1"
+"@react-native/metro-babel-transformer@0.74.87":
+ version "0.74.87"
+ resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.74.87.tgz#f60958f5e7eb39008a2c01dc5248ab60240bdc01"
+ integrity sha512-UsJCO24sNax2NSPBmV1zLEVVNkS88kcgAiYrZHtYSwSjpl4WZ656tIeedBfiySdJ94Hr3kQmBYLipV5zk0NI1A==
+ dependencies:
+ "@babel/core" "^7.20.0"
+ "@react-native/babel-preset" "0.74.87"
+ hermes-parser "0.19.1"
+ nullthrows "^1.1.1"
+
"@react-native/metro-config@0.74.85":
version "0.74.85"
resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.74.85.tgz#41d14320dc78f62c03eb32cf3091f78bb619012a"
@@ -2916,38 +2669,25 @@
metro-config "^0.80.3"
metro-runtime "^0.80.3"
-"@react-native/normalize-colors@0.74.81":
- version "0.74.81"
- resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.74.81.tgz#0b7c440b6e126f79036cbe74a88791aba72b9fcf"
- integrity sha512-g3YvkLO7UsSWiDfYAU+gLhRHtEpUyz732lZB+N8IlLXc5MnfXHC8GKneDGY3Mh52I3gBrs20o37D5viQX9E1CA==
-
-"@react-native/normalize-colors@0.74.84":
- version "0.74.84"
- resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.74.84.tgz#4764d59775c17a6ed193509cb01ae2f42dd5c045"
- integrity sha512-Y5W6x8cC5RuakUcTVUFNAIhUZ/tYpuqHZlRBoAuakrTwVuoNHXfQki8lj1KsYU7rW6e3VWgdEx33AfOQpdNp6A==
-
"@react-native/normalize-colors@0.74.85":
version "0.74.85"
resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.74.85.tgz#62bcb9ab1b10b822ca0278fdfdf23d3b18e125da"
integrity sha512-pcE4i0X7y3hsAE0SpIl7t6dUc0B0NZLd1yv7ssm4FrLhWG+CGyIq4eFDXpmPU1XHmL5PPySxTAjEMiwv6tAmOw==
+"@react-native/normalize-colors@0.74.87":
+ version "0.74.87"
+ resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.74.87.tgz#a814169d0ce4ce13ffebcda0a3a5a3f780ccd772"
+ integrity sha512-Xh7Nyk/MPefkb0Itl5Z+3oOobeG9lfLb7ZOY2DKpFnoCE1TzBmib9vMNdFaLdSxLIP+Ec6icgKtdzYg8QUPYzA==
+
"@react-native/typescript-config@0.74.85":
version "0.74.85"
resolved "https://registry.yarnpkg.com/@react-native/typescript-config/-/typescript-config-0.74.85.tgz#42f9e73c6801cd86baa3023838a1a9e0b9c257b0"
integrity sha512-FiMIWSRPCEW6yobrzAL2GR4a5PMyRpJEUsKkN7h5J2dpM/f33FLZdDon/ljIK2iPB4XOt6m1opUxep9ZqjToDg==
-"@react-native/virtualized-lists@0.74.81":
- version "0.74.81"
- resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.74.81.tgz#8e43d4c72ec561754491eae731f40877f03d05fb"
- integrity sha512-5jF9S10Ug2Wl+L/0+O8WmbC726sMMX8jk/1JrvDDK+0DRLMobfjLc1L26fONlVBF7lE5ctqvKZ9TlKdhPTNOZg==
- dependencies:
- invariant "^2.2.4"
- nullthrows "^1.1.1"
-
-"@react-native/virtualized-lists@0.74.85":
- version "0.74.85"
- resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.74.85.tgz#a6178c7168953807b3b610c9f8d208a6f758407d"
- integrity sha512-jx2Zw0qlZteoQ+0KxRc7s4drsljLBEP534FaNZ950e9+CN9nVkLsV6rigcTjDR8wjKMSBWhKf0C0C3egYz7Ehg==
+"@react-native/virtualized-lists@0.74.87":
+ version "0.74.87"
+ resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.74.87.tgz#31bc44d62617df7d893df22c4c57094f576677a0"
+ integrity sha512-lsGxoFMb0lyK/MiplNKJpD+A1EoEUumkLrCjH4Ht+ZlG8S0BfCxmskLZ6qXn3BiDSkLjfjI/qyZ3pnxNBvkXpQ==
dependencies:
invariant "^2.2.4"
nullthrows "^1.1.1"
@@ -3140,9 +2880,9 @@
integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==
"@types/shimmer@^1.0.2":
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/@types/shimmer/-/shimmer-1.0.5.tgz#491d8984d4510e550bfeb02d518791d7f59d2b88"
- integrity sha512-9Hp0ObzwwO57DpLFF0InUjUm/II8GmKAvzbefxQTihCb7KI6yc9yzf0nLc4mVdby5N4DRCgQM2wCup9KTieeww==
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@types/shimmer/-/shimmer-1.2.0.tgz#9b706af96fa06416828842397a70dfbbf1c14ded"
+ integrity sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg==
"@types/stack-utils@^2.0.0":
version "2.0.3"
@@ -3358,10 +3098,10 @@ accepts@^1.3.7, accepts@^1.3.8, accepts@~1.3.5, accepts@~1.3.7:
mime-types "~2.1.34"
negotiator "0.6.3"
-acorn-import-assertions@^1.9.0:
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac"
- integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==
+acorn-import-attributes@^1.9.5:
+ version "1.9.5"
+ resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef"
+ integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==
acorn-jsx@^5.3.2:
version "5.3.2"
@@ -3792,10 +3532,10 @@ babel-preset-current-node-syntax@^1.0.0:
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
"@babel/plugin-syntax-top-level-await" "^7.8.3"
-babel-preset-expo@~11.0.11:
- version "11.0.11"
- resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-11.0.11.tgz#bf06b8ffd16e1904a1a64ecf08ef965b41c85fcb"
- integrity sha512-5AM8FE6mH4IKda08brCzZs9uJU+1K2L/F+7dxWZCprxIlpvNOexqb9TeO/l8m8z1511jmuiAfML6at+46ls+tg==
+babel-preset-expo@~11.0.14:
+ version "11.0.14"
+ resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-11.0.14.tgz#ca0884e82d89e49cd216ad3497e3d7ad93657d51"
+ integrity sha512-4BVYR0Sc2sSNxYTiE/OLSnPiOp+weFNy8eV+hX3aD6YAIbBnw+VubKRWqJV/sOJauzOLz0SgYAYyFciYMqizRA==
dependencies:
"@babel/plugin-proposal-decorators" "^7.12.9"
"@babel/plugin-transform-export-namespace-from" "^7.22.11"
@@ -3803,7 +3543,7 @@ babel-preset-expo@~11.0.11:
"@babel/plugin-transform-parameters" "^7.22.15"
"@babel/preset-react" "^7.22.15"
"@babel/preset-typescript" "^7.23.0"
- "@react-native/babel-preset" "0.74.84"
+ "@react-native/babel-preset" "0.74.87"
babel-plugin-react-compiler "^0.0.0-experimental-592953e-20240517"
babel-plugin-react-native-web "~0.19.10"
react-refresh "^0.14.2"
@@ -4075,11 +3815,16 @@ ci-info@^3.2.0, ci-info@^3.3.0:
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4"
integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==
-cjs-module-lexer@^1.0.0, cjs-module-lexer@^1.2.2:
+cjs-module-lexer@^1.0.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz#c485341ae8fd999ca4ee5af2d7a1c9ae01e0099c"
integrity sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==
+cjs-module-lexer@^1.2.2:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.4.0.tgz#677de7ed7efff67cc40c9bf1897fea79d41b5215"
+ integrity sha512-N1NGmowPlGBLsOZLPvm48StN04V4YvQRL0i6b7ctrVY3epjP/ct7hFLOItz6pDIvRjwpfPxi52a2UWV2ziir8g==
+
clean-stack@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
@@ -4428,6 +4173,13 @@ debug@^3.1.0:
dependencies:
ms "^2.1.1"
+debug@^4.3.5:
+ version "4.3.6"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.6.tgz#2ab2c38fbaffebf8aa95fdfe6d88438c7a13c52b"
+ integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==
+ dependencies:
+ ms "2.1.2"
+
decamelize@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
@@ -5082,7 +4834,7 @@ expect@^29.7.0:
jest-message-util "^29.7.0"
jest-util "^29.7.0"
-expo-asset@^10.0.9, expo-asset@~10.0.10:
+expo-asset@~10.0.10:
version "10.0.10"
resolved "https://registry.yarnpkg.com/expo-asset/-/expo-asset-10.0.10.tgz#9e6e02c1a6ec3d19b50d5e615e4dd8e5cc30e857"
integrity sha512-0qoTIihB79k+wGus9wy0JMKq7DdenziVx3iUkGvMAy2azscSgWH6bd2gJ9CGnhC6JRd3qTMFBL0ou/fx7WZl7A==
@@ -5104,59 +4856,61 @@ expo-file-system@~17.0.1:
resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-17.0.1.tgz#b9f8af8c1c06ec71d96fd7a0d2567fa9e1c88f15"
integrity sha512-dYpnZJqTGj6HCYJyXAgpFkQWsiCH3HY1ek2cFZVHFoEc5tLz9gmdEgTF6nFHurvmvfmXqxi7a5CXyVm0aFYJBw==
-expo-font@~12.0.7:
- version "12.0.7"
- resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-12.0.7.tgz#4e81a90c72262f64d8a18ecc2f7a0da4446048bb"
- integrity sha512-rbSdpjtT/A3M+u9xchR9tdD+5VGSxptUis7ngX5zfAVp3O5atOcPNSA82Jeo15HkrQE+w/upfFBOvi56lsGdsQ==
+expo-font@~12.0.9:
+ version "12.0.9"
+ resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-12.0.9.tgz#096860a6b8b5dd54152262eafd318593ec2db48c"
+ integrity sha512-seTCyf0tbgkAnp3ZI9ZfK9QVtURQUgFnuj+GuJ5TSnN0XsOtVe1s2RxTvmMgkfuvfkzcjJ69gyRpsZS1cC8hjw==
dependencies:
fontfaceobserver "^2.1.0"
-expo-image@^1.12.12:
- version "1.12.12"
- resolved "https://registry.yarnpkg.com/expo-image/-/expo-image-1.12.12.tgz#b6422a07da0f6dddcea154d2857f617086a527cc"
- integrity sha512-zZutUhKYqcqTH12o87pGCVLsuQeRK2vaNwxa8beznbDnmWevm3dmbOTCxaOhGgjyDxwcdwDa483Q4IKCXL6tBw==
+expo-image@^1.12.15:
+ version "1.12.15"
+ resolved "https://registry.yarnpkg.com/expo-image/-/expo-image-1.12.15.tgz#86c3d84500d769a5afadca78b2382a0552d29180"
+ integrity sha512-rjvnNSaFnrmlugDESTaYJhgdqRLn+M5vu0lD5NGNd2LkxGG5HrRV3gSzeyQQ68XRhrDN8eJvkcKujPKJUTMraw==
expo-keep-awake@~13.0.2:
version "13.0.2"
resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-13.0.2.tgz#5ef31311a339671eec9921b934fdd90ab9652b0e"
integrity sha512-kKiwkVg/bY0AJ5q1Pxnm/GvpeB6hbNJhcFsoOWDh2NlpibhCLaHL826KHUM+WsnJRbVRxJ+K9vbPRHEMvFpVyw==
-expo-modules-autolinking@1.11.1:
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/expo-modules-autolinking/-/expo-modules-autolinking-1.11.1.tgz#4a867f727d9dfde07de8dde14b333a3cbf82ce3c"
- integrity sha512-2dy3lTz76adOl7QUvbreMCrXyzUiF8lygI7iFJLjgIQIVH+43KnFWE5zBumpPbkiaq0f0uaFpN9U0RGQbnKiMw==
+expo-modules-autolinking@1.11.2:
+ version "1.11.2"
+ resolved "https://registry.yarnpkg.com/expo-modules-autolinking/-/expo-modules-autolinking-1.11.2.tgz#98245eb66f157bbfebebd2d576256ea7c683c605"
+ integrity sha512-fdcaNO8ucHA3yLNY52ZUENBcAG7KEx8QyMmnVNavO1JVBGRMZG8JyVcbrhYQDtVtpxkbai5YzwvLutINvbDZDQ==
dependencies:
chalk "^4.1.0"
commander "^7.2.0"
fast-glob "^3.2.5"
find-up "^5.0.0"
fs-extra "^9.1.0"
+ require-from-string "^2.0.2"
+ resolve-from "^5.0.0"
-expo-modules-core@1.12.18:
- version "1.12.18"
- resolved "https://registry.yarnpkg.com/expo-modules-core/-/expo-modules-core-1.12.18.tgz#fd086c3177b42df979db912f8a2389494ef98483"
- integrity sha512-YhIOJsMNjPvP0tmTbC1MRlxl5q7l21uQQDr1rlXEWHNmI2AEMW0gfr2wXrlB2Tz/oOIx8YqREsj3i0VsYXEaCA==
+expo-modules-core@1.12.23:
+ version "1.12.23"
+ resolved "https://registry.yarnpkg.com/expo-modules-core/-/expo-modules-core-1.12.23.tgz#ea1c0c876aa52db2cb9d25cb59404c334f92446f"
+ integrity sha512-NYp/rWhKW6zlqNdC8/r+FckzlAGWX0IJEjOxwYHuYeRUn/vnKksb43G4E3jcaQEZgmWlKxK4LpxL3gr7m0RJFA==
dependencies:
invariant "^2.2.4"
-expo@^51.0.17:
- version "51.0.17"
- resolved "https://registry.yarnpkg.com/expo/-/expo-51.0.17.tgz#aa5217a38edd9fd0b28b598daf3661acd66537f2"
- integrity sha512-VqLrdVMLdjCUhNuWWGdexqkiscnudY7OACafBrfqIFOejAeKceEaBU5YQIlNlOsKuB7PBMqDkhdZ+dG93Ul4ig==
+expo@^51.0.31:
+ version "51.0.31"
+ resolved "https://registry.yarnpkg.com/expo/-/expo-51.0.31.tgz#edd623e718705d88681406e72869076dfeb485ff"
+ integrity sha512-YiUNcxzSkQ0jlKW+e8F81KnZfAhCugEZI9VYmuIsFONHivtiYIADHdcFvUWnexUEdgPQDkgWw85XBnIbzIZ39Q==
dependencies:
"@babel/runtime" "^7.20.0"
- "@expo/cli" "0.18.21"
- "@expo/config" "9.0.1"
- "@expo/config-plugins" "8.0.6"
- "@expo/metro-config" "0.18.8"
+ "@expo/cli" "0.18.29"
+ "@expo/config" "9.0.3"
+ "@expo/config-plugins" "8.0.8"
+ "@expo/metro-config" "0.18.11"
"@expo/vector-icons" "^14.0.0"
- babel-preset-expo "~11.0.11"
+ babel-preset-expo "~11.0.14"
expo-asset "~10.0.10"
expo-file-system "~17.0.1"
- expo-font "~12.0.7"
+ expo-font "~12.0.9"
expo-keep-awake "~13.0.2"
- expo-modules-autolinking "1.11.1"
- expo-modules-core "1.12.18"
+ expo-modules-autolinking "1.11.2"
+ expo-modules-core "1.12.23"
fbemitter "^3.0.0"
whatwg-url-without-unicode "8.0.0-3"
@@ -5625,7 +5379,7 @@ globalthis@^1.0.3:
define-properties "^1.2.1"
gopd "^1.0.1"
-globby@^11.0.1, globby@^11.0.4, globby@^11.1.0:
+globby@^11.0.1, globby@^11.1.0:
version "11.1.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
@@ -5843,13 +5597,13 @@ import-fresh@^3.2.1:
parent-module "^1.0.0"
resolve-from "^4.0.0"
-import-in-the-middle@1.4.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.4.2.tgz#2a266676e3495e72c04bbaa5ec14756ba168391b"
- integrity sha512-9WOz1Yh/cvO/p69sxRmhyQwrIGGSp7EIdcb+fFNVi7CzQGQB8U1/1XrKVSbEd/GNOAeM0peJtmi7+qphe7NvAw==
+import-in-the-middle@^1.8.1:
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.11.0.tgz#a94c4925b8da18256cde3b3b7b38253e6ca5e708"
+ integrity sha512-5DimNQGoe0pLUHbR9qK84iWaWjjbsxiqXnw6Qz64+azRgleqv9k2kTt5fw7QsOpmaGYtuxxursnPPsnTKEx10Q==
dependencies:
acorn "^8.8.2"
- acorn-import-assertions "^1.9.0"
+ acorn-import-attributes "^1.9.5"
cjs-module-lexer "^1.2.2"
module-details-from-path "^1.0.3"
@@ -8197,25 +7951,25 @@ react-is@^17.0.1:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
-react-native-windows@0.74.1:
- version "0.74.1"
- resolved "https://registry.yarnpkg.com/react-native-windows/-/react-native-windows-0.74.1.tgz#86b01160413f5e8d6526349c8c224d8735a341a8"
- integrity sha512-/nvfCVqzmCdZ6BD0X4mU5oIB8xFkDliT7ll1jJq9ryqdD/wtxunx7vNqe7Fm+XKHBJdsyA9Wd9MamrOtHqXQng==
+react-native-windows@0.74.19:
+ version "0.74.19"
+ resolved "https://registry.yarnpkg.com/react-native-windows/-/react-native-windows-0.74.19.tgz#06dce7b5d0332eb2869b953ba9ac1e121e683996"
+ integrity sha512-9JmehsvlfkQSSKFhEcyIbQzTQWCF81KM836vScwEbyRYhkCC8BIShOl4wmYcMGDFZVDQ24aV/k8wbVQRXvseYw==
dependencies:
"@babel/runtime" "^7.0.0"
"@jest/create-cache-key-function" "^29.6.3"
- "@react-native-community/cli" "13.6.4"
- "@react-native-community/cli-platform-android" "13.6.4"
- "@react-native-community/cli-platform-ios" "13.6.4"
- "@react-native-windows/cli" "0.74.0"
+ "@react-native-community/cli" "13.6.9"
+ "@react-native-community/cli-platform-android" "13.6.9"
+ "@react-native-community/cli-platform-ios" "13.6.9"
+ "@react-native-windows/cli" "0.74.3"
"@react-native/assets" "1.0.0"
- "@react-native/assets-registry" "0.74.81"
- "@react-native/codegen" "0.74.81"
- "@react-native/community-cli-plugin" "0.74.81"
- "@react-native/gradle-plugin" "0.74.81"
- "@react-native/js-polyfills" "0.74.81"
- "@react-native/normalize-colors" "0.74.81"
- "@react-native/virtualized-lists" "0.74.81"
+ "@react-native/assets-registry" "0.74.87"
+ "@react-native/codegen" "0.74.87"
+ "@react-native/community-cli-plugin" "0.74.87"
+ "@react-native/gradle-plugin" "0.74.87"
+ "@react-native/js-polyfills" "0.74.87"
+ "@react-native/normalize-colors" "0.74.87"
+ "@react-native/virtualized-lists" "0.74.87"
abort-controller "^3.0.0"
anser "^1.4.9"
ansi-regex "^5.0.0"
@@ -8244,22 +7998,22 @@ react-native-windows@0.74.1:
ws "^6.2.2"
yargs "^17.6.2"
-react-native@0.74.3:
- version "0.74.3"
- resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.74.3.tgz#eef32cd10afb1f4b26f75b79eefd6b220c63953c"
- integrity sha512-UFutCC6WEw6HkxlcpQ2BemKqi0JkwrgDchYB5Svi8Sp4Xwt4HA6LGEjNQgZ+3KM44bjyFRpofQym0uh0jACGng==
+react-native@0.74.5:
+ version "0.74.5"
+ resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.74.5.tgz#80e556690fc2583d46714d5618ecd30d93c24e81"
+ integrity sha512-Bgg2WvxaGODukJMTZFTZBNMKVaROHLwSb8VAGEdrlvKwfb1hHg/3aXTUICYk7dwgAnb+INbGMwnF8yeAgIUmqw==
dependencies:
"@jest/create-cache-key-function" "^29.6.3"
"@react-native-community/cli" "13.6.9"
"@react-native-community/cli-platform-android" "13.6.9"
"@react-native-community/cli-platform-ios" "13.6.9"
- "@react-native/assets-registry" "0.74.85"
- "@react-native/codegen" "0.74.85"
- "@react-native/community-cli-plugin" "0.74.85"
- "@react-native/gradle-plugin" "0.74.85"
- "@react-native/js-polyfills" "0.74.85"
- "@react-native/normalize-colors" "0.74.85"
- "@react-native/virtualized-lists" "0.74.85"
+ "@react-native/assets-registry" "0.74.87"
+ "@react-native/codegen" "0.74.87"
+ "@react-native/community-cli-plugin" "0.74.87"
+ "@react-native/gradle-plugin" "0.74.87"
+ "@react-native/js-polyfills" "0.74.87"
+ "@react-native/normalize-colors" "0.74.87"
+ "@react-native/virtualized-lists" "0.74.87"
abort-controller "^3.0.0"
anser "^1.4.9"
ansi-regex "^5.0.0"
@@ -8438,13 +8192,13 @@ require-from-string@^2.0.2:
integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
require-in-the-middle@^7.1.1:
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/require-in-the-middle/-/require-in-the-middle-7.3.0.tgz#ce64a1083647dc07b3273b348357efac8a9945c9"
- integrity sha512-nQFEv9gRw6SJAwWD2LrL0NmQvAcO7FBwJbwmr2ttPAacfy0xuiOjE5zt+zM4xDyuyvUaxBi/9gb2SoCyNEVJcw==
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/require-in-the-middle/-/require-in-the-middle-7.4.0.tgz#606977820d4b5f9be75e5a108ce34cfed25b3bb4"
+ integrity sha512-X34iHADNbNDfr6OTStIAHWSAvvKQRYgLO6duASaVf7J2VA3lvmNYboAHOuLC2huav1IwgZJtyEcJCKVzFxOSMQ==
dependencies:
- debug "^4.1.1"
+ debug "^4.3.5"
module-details-from-path "^1.0.3"
- resolve "^1.22.1"
+ resolve "^1.22.8"
require-main-filename@^2.0.0:
version "2.0.0"
@@ -8492,7 +8246,7 @@ resolve.exports@^2.0.0, resolve.exports@^2.0.2:
resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800"
integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==
-resolve@^1.1.6, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.2:
+resolve@^1.1.6, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.2, resolve@^1.22.8:
version "1.22.8"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d"
integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
@@ -8637,7 +8391,12 @@ 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.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.5.1, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0:
+semver@^7.3.2:
+ version "7.6.3"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143"
+ integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==
+
+semver@^7.3.5, semver@^7.3.7, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0:
version "7.6.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13"
integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==
@@ -9321,11 +9080,16 @@ tslib@^1.8.1:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
-tslib@^2.0.1, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.4.0, tslib@^2.6.2:
+tslib@^2.0.1, tslib@^2.1.0, tslib@^2.4.0:
version "2.6.3"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0"
integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==
+tslib@^2.2.0, tslib@^2.6.2:
+ version "2.7.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01"
+ integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==
+
tsutils@^3.21.0:
version "3.21.0"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
From 3a32d67087c39bcf7904043d15a2fdba65307f4e Mon Sep 17 00:00:00 2001
From: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
Date: Mon, 2 Sep 2024 15:40:38 +0200
Subject: [PATCH 02/17] fix(ios): ensure behavior is correct with empty text
track list (#4123)
* fix(ios): ensure behavior is correct with empty text track list
---
examples/basic/src/constants/general.ts | 5 +++++
ios/Video/RCTVideo.swift | 23 +++++++++++++----------
2 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/examples/basic/src/constants/general.ts b/examples/basic/src/constants/general.ts
index 665a23cd15..e0d1218548 100644
--- a/examples/basic/src/constants/general.ts
+++ b/examples/basic/src/constants/general.ts
@@ -78,6 +78,11 @@ export const srcAllPlatformList = [
uri: 'https://bitmovin-a.akamaihd.net/content/sintel/hls/playlist.m3u8',
startPosition: 50000,
},
+ {
+ description: 'mp3 with texttrack',
+ uri: 'https://traffic.libsyn.com/democracynow/wx2024-0702_SOT_DeadCalm-LucileSmith-FULL-V2.mxf-audio.mp3', // an mp3 file
+ textTracks: [], // empty text track list
+ },
{
description: 'BigBugBunny sideLoaded subtitles',
// sideloaded subtitles wont work for streaming like HLS on ios
diff --git a/ios/Video/RCTVideo.swift b/ios/Video/RCTVideo.swift
index f1ca220f17..e735d5d4f2 100644
--- a/ios/Video/RCTVideo.swift
+++ b/ios/Video/RCTVideo.swift
@@ -42,7 +42,7 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
private var _repeat = false
private var _isPlaying = false
private var _allowsExternalPlayback = true
- private var _textTracks: [TextTrack]?
+ private var _textTracks: [TextTrack] = []
private var _selectedTextTrackCriteria: SelectedTrackCriteria?
private var _selectedAudioTrackCriteria: SelectedTrackCriteria?
private var _playbackStalled = false
@@ -598,7 +598,7 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
}
func playerItemPrepareText(asset: AVAsset!, assetOptions: NSDictionary?, uri: String) async -> AVPlayerItem {
- if (self._textTracks == nil) || self._textTracks?.isEmpty == true || (uri.hasSuffix(".m3u8")) {
+ if self._textTracks.isEmpty == true || (uri.hasSuffix(".m3u8")) {
return await self.playerItemPropegateMetadata(AVPlayerItem(asset: asset))
}
@@ -612,7 +612,7 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
textTracks: self._textTracks
)
- if validTextTracks.count != self._textTracks?.count {
+ if validTextTracks.count != self._textTracks.count {
self.setTextTracks(validTextTracks)
}
@@ -963,8 +963,8 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
func setSelectedTextTrack(_ selectedTextTrack: SelectedTrackCriteria?) {
_selectedTextTrackCriteria = selectedTextTrack
- if _textTracks != nil { // sideloaded text tracks
- RCTPlayerOperations.setSideloadedText(player: _player, textTracks: _textTracks!, criteria: _selectedTextTrackCriteria)
+ if !_textTracks.isEmpty { // sideloaded text tracks
+ RCTPlayerOperations.setSideloadedText(player: _player, textTracks: _textTracks, criteria: _selectedTextTrackCriteria)
} else { // text tracks included in the HLS playlist§
Task {
await RCTPlayerOperations.setMediaSelectionTrackForCharacteristic(player: _player, characteristic: AVMediaCharacteristic.legible,
@@ -979,8 +979,11 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
}
func setTextTracks(_ textTracks: [TextTrack]?) {
- _textTracks = textTracks
-
+ if textTracks == nil {
+ _textTracks = []
+ } else {
+ _textTracks = textTracks!
+ }
// in case textTracks was set after selectedTextTrack
if _selectedTextTrackCriteria != nil { setSelectedTextTrack(_selectedTextTrackCriteria) }
}
@@ -1294,7 +1297,7 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
_playerItem = nil
_source = nil
_chapters = nil
- _textTracks = nil
+ _textTracks = []
_selectedTextTrackCriteria = nil
_selectedAudioTrackCriteria = nil
_presentingViewController = nil
@@ -1448,7 +1451,7 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
"orientation": orientation,
],
"audioTracks": audioTracks,
- "textTracks": self._textTracks?.compactMap { $0.json } ?? textTracks.map(\.json),
+ "textTracks": self._textTracks.compactMap { $0.json } ?? textTracks.map(\.json),
"target": self.reactTag as Any])
}
@@ -1646,7 +1649,7 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
if onTextTracks != nil {
Task {
let textTracks = await RCTVideoUtils.getTextTrackInfo(self._player)
- self.onTextTracks?(["textTracks": self._textTracks?.compactMap { $0.json } ?? textTracks.compactMap(\.json)])
+ self.onTextTracks?(["textTracks": self._textTracks.compactMap { $0.json } ?? textTracks.compactMap(\.json)])
}
}
From 688d98d68f888a59bde1ee33aa844ac63c9026a5 Mon Sep 17 00:00:00 2001
From: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
Date: Mon, 2 Sep 2024 15:42:51 +0200
Subject: [PATCH 03/17] fix(tvos): fix build (and update sample) (#4134)
* fix(tvos): fix build (and update sample)
---
examples/exampletvOS/ios/Podfile.lock | 10 +++++-----
ios/Video/RCTVideo.swift | 23 ++++++++++++-----------
2 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/examples/exampletvOS/ios/Podfile.lock b/examples/exampletvOS/ios/Podfile.lock
index 41c5f3da7e..d3b3675bfa 100644
--- a/examples/exampletvOS/ios/Podfile.lock
+++ b/examples/exampletvOS/ios/Podfile.lock
@@ -316,11 +316,11 @@ PODS:
- React-jsinspector (0.71.12-0)
- React-logger (0.71.12-0):
- glog
- - react-native-video (6.0.0):
+ - react-native-video (6.4.5):
- RCT-Folly (= 2021.07.22.00)
- React-Core
- - react-native-video/Video (= 6.0.0)
- - react-native-video/Video (6.0.0):
+ - react-native-video/Video (= 6.4.5)
+ - react-native-video/Video (6.4.5):
- RCT-Folly (= 2021.07.22.00)
- React-Core
- React-perflogger (0.71.12-0)
@@ -592,7 +592,7 @@ SPEC CHECKSUMS:
React-jsiexecutor: 0c8c5e8b2171be52295f59097923babf84d1cf66
React-jsinspector: f8e6919523047a9bd1270ade75b4eca0108963b4
React-logger: 16c56636d4209cc204d06c5ba347cee21b960012
- react-native-video: fc60911540a69935cc7950829163f6f41259cb0d
+ react-native-video: fdcfbf66416475f8e122be9f7d72dd1d156ef3ed
React-perflogger: 355109dc9d6f34e35bc35dabb32310f8ed2d29a2
React-RCTActionSheet: 9d1be4d43972f2aae4b31d9e53ffb030115fa445
React-RCTAnimation: aab7e1ecd325db67e1f2a947d85a52adf86594b7
@@ -609,6 +609,6 @@ SPEC CHECKSUMS:
Yoga: 8b8c06e142662150974d1c70b4c5ffb08eb468db
YogaKit: 1e22bf2228b3a5ac8cc88965153061ae92c494b5
-PODFILE CHECKSUM: 26d254806a611a4bc6b6c39cff790dd08f770ccf
+PODFILE CHECKSUM: e20830ba1d59fa52a9075c08861e37e5f2ac113c
COCOAPODS: 1.15.2
diff --git a/ios/Video/RCTVideo.swift b/ios/Video/RCTVideo.swift
index e735d5d4f2..5acc616f14 100644
--- a/ios/Video/RCTVideo.swift
+++ b/ios/Video/RCTVideo.swift
@@ -498,18 +498,19 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
NowPlayingInfoCenterManager.shared.registerPlayer(player: _player!)
}
} else {
- if #available(iOS 16.0, *) {
- // This feature caused crashes, if the app was put in bg, before the source change
- // https://github.com/TheWidlarzGroup/react-native-video/issues/3900
- self._playerViewController?.allowsVideoFrameAnalysis = false
- }
-
+ #if !os(tvOS)
+ if #available(iOS 16.0, *) {
+ // This feature caused crashes, if the app was put in bg, before the source change
+ // https://github.com/TheWidlarzGroup/react-native-video/issues/3900
+ self._playerViewController?.allowsVideoFrameAnalysis = false
+ }
+ #endif
_player?.replaceCurrentItem(with: playerItem)
-
- if #available(iOS 16.0, *) {
- self._playerViewController?.allowsVideoFrameAnalysis = true
- }
-
+ #if !os(tvOS)
+ if #available(iOS 16.0, *) {
+ self._playerViewController?.allowsVideoFrameAnalysis = true
+ }
+ #endif
// later we can just call "updateNowPlayingInfo:
NowPlayingInfoCenterManager.shared.updateNowPlayingInfo()
}
From 2fa6c43615c1bc0a3bbcb5f472ffaeb8ae16a1af Mon Sep 17 00:00:00 2001
From: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
Date: Mon, 2 Sep 2024 16:13:06 +0200
Subject: [PATCH 04/17] fix(android): add subtitleStyle.subtitlesFollowVideo
prop to control subtitles positionning (#4133)
* fix(android): add subtitleStyle.subtitlesFollowVideo prop to control subtitles positionning
* docs: add new prop description
* docs: add supported platform for subtitleStyle
* chore: use constructor instead of parse
---
.../brentvatne/common/api/SubtitleStyle.kt | 6 ++-
.../brentvatne/exoplayer/ExoPlayerView.java | 26 ++++++++++--
docs/pages/component/props.mdx | 41 +++++++++++++++----
examples/basic/src/VideoPlayer.tsx | 1 +
src/specs/VideoNativeComponent.ts | 1 +
src/types/video.ts | 1 +
6 files changed, 63 insertions(+), 13 deletions(-)
diff --git a/android/src/main/java/com/brentvatne/common/api/SubtitleStyle.kt b/android/src/main/java/com/brentvatne/common/api/SubtitleStyle.kt
index efb4da0a81..1ac0fd03ac 100644
--- a/android/src/main/java/com/brentvatne/common/api/SubtitleStyle.kt
+++ b/android/src/main/java/com/brentvatne/common/api/SubtitleStyle.kt
@@ -6,7 +6,7 @@ import com.facebook.react.bridge.ReadableMap
/**
* Helper file to parse SubtitleStyle prop and build a dedicated class
*/
-class SubtitleStyle private constructor() {
+class SubtitleStyle public constructor() {
var fontSize = -1
private set
var paddingLeft = 0
@@ -19,6 +19,8 @@ class SubtitleStyle private constructor() {
private set
var opacity = 1f
private set
+ var subtitlesFollowVideo = true
+ private set
companion object {
private const val PROP_FONT_SIZE_TRACK = "fontSize"
@@ -27,6 +29,7 @@ class SubtitleStyle private constructor() {
private const val PROP_PADDING_LEFT = "paddingLeft"
private const val PROP_PADDING_RIGHT = "paddingRight"
private const val PROP_OPACITY = "opacity"
+ private const val PROP_SUBTITLES_FOLLOW_VIDEO = "subtitlesFollowVideo"
@JvmStatic
fun parse(src: ReadableMap?): SubtitleStyle {
@@ -37,6 +40,7 @@ class SubtitleStyle private constructor() {
subtitleStyle.paddingLeft = ReactBridgeUtils.safeGetInt(src, PROP_PADDING_LEFT, 0)
subtitleStyle.paddingRight = ReactBridgeUtils.safeGetInt(src, PROP_PADDING_RIGHT, 0)
subtitleStyle.opacity = ReactBridgeUtils.safeGetFloat(src, PROP_OPACITY, 1f)
+ subtitleStyle.subtitlesFollowVideo = ReactBridgeUtils.safeGetBool(src, PROP_SUBTITLES_FOLLOW_VIDEO, true)
return subtitleStyle
}
}
diff --git a/android/src/main/java/com/brentvatne/exoplayer/ExoPlayerView.java b/android/src/main/java/com/brentvatne/exoplayer/ExoPlayerView.java
index dd18dbfd5b..45624d6fa6 100644
--- a/android/src/main/java/com/brentvatne/exoplayer/ExoPlayerView.java
+++ b/android/src/main/java/com/brentvatne/exoplayer/ExoPlayerView.java
@@ -48,6 +48,8 @@ public final class ExoPlayerView extends FrameLayout implements AdViewProvider {
private @ViewType.ViewType int viewType = ViewType.VIEW_TYPE_SURFACE;
private boolean hideShutterView = false;
+ private SubtitleStyle localStyle = new SubtitleStyle();
+
public ExoPlayerView(Context context) {
super(context, null, 0);
@@ -80,10 +82,15 @@ public ExoPlayerView(Context context) {
adOverlayFrameLayout = new FrameLayout(context);
layout.addView(shutterView, 1, layoutParams);
- layout.addView(adOverlayFrameLayout, 2, layoutParams);
+ if (localStyle.getSubtitlesFollowVideo()) {
+ layout.addView(subtitleLayout, layoutParams);
+ layout.addView(adOverlayFrameLayout, layoutParams);
+ }
addViewInLayout(layout, 0, aspectRatioParams);
- addViewInLayout(subtitleLayout, 1, layoutParams);
+ if (!localStyle.getSubtitlesFollowVideo()) {
+ addViewInLayout(subtitleLayout, 1, layoutParams);
+ }
}
private void clearVideoView() {
@@ -107,7 +114,7 @@ public boolean isPlaying() {
}
public void setSubtitleStyle(SubtitleStyle style) {
- // ensure we reset subtile style before reapplying it
+ // ensure we reset subtitle style before reapplying it
subtitleLayout.setUserDefaultStyle();
subtitleLayout.setUserDefaultTextSize();
@@ -121,7 +128,18 @@ public void setSubtitleStyle(SubtitleStyle style) {
} else {
subtitleLayout.setVisibility(View.GONE);
}
-
+ if (localStyle.getSubtitlesFollowVideo() != style.getSubtitlesFollowVideo()) {
+ // No need to manipulate layout if value didn't change
+ if (style.getSubtitlesFollowVideo()) {
+ removeViewInLayout(subtitleLayout);
+ layout.addView(subtitleLayout, layoutParams);
+ } else {
+ layout.removeViewInLayout(subtitleLayout);
+ addViewInLayout(subtitleLayout, 1, layoutParams, false);
+ }
+ requestLayout();
+ }
+ localStyle = style;
}
public void setShutterColor(Integer color) {
diff --git a/docs/pages/component/props.mdx b/docs/pages/component/props.mdx
index e32865969e..47971ba83e 100644
--- a/docs/pages/component/props.mdx
+++ b/docs/pages/component/props.mdx
@@ -846,14 +846,18 @@ source={{
### `subtitleStyle`
-| Property | Description | Platforms |
-| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| fontSize | Adjust the font size of the subtitles. Default: font size of the device | Android |
-| paddingTop | Adjust the top padding of the subtitles. Default: 0 | Android |
-| paddingBottom | Adjust the bottom padding of the subtitles. Default: 0 | Android |
-| paddingLeft | Adjust the left padding of the subtitles. Default: 0 | Android |
-| paddingRight | Adjust the right padding of the subtitles. Default: 0 | Android |
-| opacity | Adjust the visibility of subtitles with 0 hiding and 1 fully showing them. Android supports float values between 0 and 1 for varying opacity levels, whereas iOS supports only 0 or 1. Default: 1. | Android, iOS |
+
+
+| Property | Platform | Description | Platforms |
+| ------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| fontSize | Android | Adjust the font size of the subtitles. Default: font size of the device | Android |
+| paddingTop | Android | Adjust the top padding of the subtitles. Default: 0 | Android |
+| paddingBottom | Android | Adjust the bottom padding of the subtitles. Default: 0 | Android |
+| paddingLeft | Android | Adjust the left padding of the subtitles. Default: 0 | Android |
+| paddingRight | Android | Adjust the right padding of the subtitles. Default: 0 | Android |
+| opacity | Android, iOS | Adjust the visibility of subtitles with 0 hiding and 1 fully showing them. Android supports float values between 0 and 1 for varying opacity levels, whereas iOS supports only 0 or 1. Default: 1. | Android, iOS |
+| subtitlesFollowVideo | Android | Boolean to adjust position of subtitles. Default: true |
+
Example:
@@ -861,6 +865,27 @@ Example:
subtitleStyle={{ paddingBottom: 50, fontSize: 20, opacity: 0 }}
```
+Note for `subtitlesFollowVideo`
+
+`subtitlesFollowVideo` helps to determine how the subtitles are positionned.
+To understand this prop you need to understand how views management works.
+The main View style passed to react native video is the position reserved to display the video component.
+It may not match exactly the real video size.
+For exemple, you can pass a 4:3 video view and render a 16:9 video inside.
+So there is a second view, the video view.
+
+Subtitles are managed in a third view.
+
+First react-native-video resize the video to keep aspect ratio (depending on `resizeMode` property) and put it in main view.
+
+* When putting subtitlesFollowVideo to true, the subtitle view will be adapt to the video view.
+It means that if the video is displayed out of screen, the subtitles may also be displayed out of screen.
+
+* When putting subtitlesFollowVideo to false, the subtitle view will keep adapting to the main view.
+It means that if the video is displayed out of screen, the subtitles may also be displayed out of screen.
+
+This prop can be changed on runtime.
+
### `textTracks`
diff --git a/examples/basic/src/VideoPlayer.tsx b/examples/basic/src/VideoPlayer.tsx
index 243d2fa8f5..b77f97c9da 100644
--- a/examples/basic/src/VideoPlayer.tsx
+++ b/examples/basic/src/VideoPlayer.tsx
@@ -268,6 +268,7 @@ const VideoPlayer: FC = ({}) => {
onPlaybackStateChanged={onPlaybackStateChanged}
bufferingStrategy={BufferingStrategyType.DEFAULT}
debug={{enable: true, thread: true}}
+ subtitleStyle={{subtitlesFollowVideo: true}}
/>
)}
diff --git a/src/specs/VideoNativeComponent.ts b/src/specs/VideoNativeComponent.ts
index a5eba10c38..82b92745a8 100644
--- a/src/specs/VideoNativeComponent.ts
+++ b/src/specs/VideoNativeComponent.ts
@@ -131,6 +131,7 @@ type SubtitleStyle = Readonly<{
paddingLeft?: WithDefault;
paddingRight?: WithDefault;
opacity?: WithDefault;
+ subtitlesFollowVideo?: WithDefault;
}>;
type OnLoadData = Readonly<{
diff --git a/src/types/video.ts b/src/types/video.ts
index d29d0108a9..b34becb5e0 100644
--- a/src/types/video.ts
+++ b/src/types/video.ts
@@ -168,6 +168,7 @@ export type SubtitleStyle = {
paddingLeft?: number;
paddingRight?: number;
opacity?: number;
+ subtitlesFollowVideo?: boolean;
};
export enum TextTrackType {
From fbe570d62fbb5852fb3696addd6a789b8f8922a3 Mon Sep 17 00:00:00 2001
From: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
Date: Mon, 2 Sep 2024 17:01:39 +0200
Subject: [PATCH 05/17] Fix/allow text track selection by index (#4124)
* fix(ios): ensure behavior is correct with empty text track list
* fix(ios): add index to text tracks reported
---
examples/basic/ios/Podfile.lock | 480 ++++++++++++++++----------------
ios/Video/RCTVideo.swift | 18 +-
2 files changed, 256 insertions(+), 242 deletions(-)
diff --git a/examples/basic/ios/Podfile.lock b/examples/basic/ios/Podfile.lock
index fc0fa2ade8..5d670dfb15 100644
--- a/examples/basic/ios/Podfile.lock
+++ b/examples/basic/ios/Podfile.lock
@@ -3,15 +3,15 @@ PODS:
- DoubleConversion (1.1.6)
- EXConstants (16.0.2):
- ExpoModulesCore
- - Expo (51.0.17):
+ - Expo (51.0.31):
- ExpoModulesCore
- ExpoAsset (10.0.10):
- ExpoModulesCore
- ExpoFileSystem (17.0.1):
- ExpoModulesCore
- - ExpoFont (12.0.7):
+ - ExpoFont (12.0.9):
- ExpoModulesCore
- - ExpoImage (1.12.12):
+ - ExpoImage (1.12.15):
- ExpoModulesCore
- libavif/libdav1d
- SDWebImage (~> 5.19.1)
@@ -20,7 +20,7 @@ PODS:
- SDWebImageWebPCoder (~> 0.14.6)
- ExpoKeepAwake (13.0.2):
- ExpoModulesCore
- - ExpoModulesCore (1.12.18):
+ - ExpoModulesCore (1.12.23):
- DoubleConversion
- glog
- hermes-engine
@@ -43,7 +43,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- - FBLazyVector (0.74.3)
+ - FBLazyVector (0.74.5)
- fmt (9.1.0)
- glog (0.3.5)
- hermes-engine (0.74.3):
@@ -82,27 +82,27 @@ PODS:
- DoubleConversion
- fmt (= 9.1.0)
- glog
- - RCTDeprecation (0.74.3)
- - RCTRequired (0.74.3)
- - RCTTypeSafety (0.74.3):
- - FBLazyVector (= 0.74.3)
- - RCTRequired (= 0.74.3)
- - React-Core (= 0.74.3)
- - React (0.74.3):
- - React-Core (= 0.74.3)
- - React-Core/DevSupport (= 0.74.3)
- - React-Core/RCTWebSocket (= 0.74.3)
- - React-RCTActionSheet (= 0.74.3)
- - React-RCTAnimation (= 0.74.3)
- - React-RCTBlob (= 0.74.3)
- - React-RCTImage (= 0.74.3)
- - React-RCTLinking (= 0.74.3)
- - React-RCTNetwork (= 0.74.3)
- - React-RCTSettings (= 0.74.3)
- - React-RCTText (= 0.74.3)
- - React-RCTVibration (= 0.74.3)
- - React-callinvoker (0.74.3)
- - React-Codegen (0.74.3):
+ - RCTDeprecation (0.74.5)
+ - RCTRequired (0.74.5)
+ - RCTTypeSafety (0.74.5):
+ - FBLazyVector (= 0.74.5)
+ - RCTRequired (= 0.74.5)
+ - React-Core (= 0.74.5)
+ - React (0.74.5):
+ - React-Core (= 0.74.5)
+ - React-Core/DevSupport (= 0.74.5)
+ - React-Core/RCTWebSocket (= 0.74.5)
+ - React-RCTActionSheet (= 0.74.5)
+ - React-RCTAnimation (= 0.74.5)
+ - React-RCTBlob (= 0.74.5)
+ - React-RCTImage (= 0.74.5)
+ - React-RCTLinking (= 0.74.5)
+ - React-RCTNetwork (= 0.74.5)
+ - React-RCTSettings (= 0.74.5)
+ - React-RCTText (= 0.74.5)
+ - React-RCTVibration (= 0.74.5)
+ - React-callinvoker (0.74.5)
+ - React-Codegen (0.74.5):
- DoubleConversion
- glog
- hermes-engine
@@ -122,12 +122,12 @@ PODS:
- React-utils
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- - React-Core (0.74.3):
+ - React-Core (0.74.5):
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
- RCTDeprecation
- - React-Core/Default (= 0.74.3)
+ - React-Core/Default (= 0.74.5)
- React-cxxreact
- React-featureflags
- React-hermes
@@ -139,7 +139,7 @@ PODS:
- React-utils
- SocketRocket (= 0.7.0)
- Yoga
- - React-Core/CoreModulesHeaders (0.74.3):
+ - React-Core/CoreModulesHeaders (0.74.5):
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
@@ -156,7 +156,7 @@ PODS:
- React-utils
- SocketRocket (= 0.7.0)
- Yoga
- - React-Core/Default (0.74.3):
+ - React-Core/Default (0.74.5):
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
@@ -172,13 +172,13 @@ PODS:
- React-utils
- SocketRocket (= 0.7.0)
- Yoga
- - React-Core/DevSupport (0.74.3):
+ - React-Core/DevSupport (0.74.5):
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
- RCTDeprecation
- - React-Core/Default (= 0.74.3)
- - React-Core/RCTWebSocket (= 0.74.3)
+ - React-Core/Default (= 0.74.5)
+ - React-Core/RCTWebSocket (= 0.74.5)
- React-cxxreact
- React-featureflags
- React-hermes
@@ -190,7 +190,7 @@ PODS:
- React-utils
- SocketRocket (= 0.7.0)
- Yoga
- - React-Core/RCTActionSheetHeaders (0.74.3):
+ - React-Core/RCTActionSheetHeaders (0.74.5):
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
@@ -207,7 +207,7 @@ PODS:
- React-utils
- SocketRocket (= 0.7.0)
- Yoga
- - React-Core/RCTAnimationHeaders (0.74.3):
+ - React-Core/RCTAnimationHeaders (0.74.5):
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
@@ -224,7 +224,7 @@ PODS:
- React-utils
- SocketRocket (= 0.7.0)
- Yoga
- - React-Core/RCTBlobHeaders (0.74.3):
+ - React-Core/RCTBlobHeaders (0.74.5):
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
@@ -241,7 +241,7 @@ PODS:
- React-utils
- SocketRocket (= 0.7.0)
- Yoga
- - React-Core/RCTImageHeaders (0.74.3):
+ - React-Core/RCTImageHeaders (0.74.5):
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
@@ -258,7 +258,7 @@ PODS:
- React-utils
- SocketRocket (= 0.7.0)
- Yoga
- - React-Core/RCTLinkingHeaders (0.74.3):
+ - React-Core/RCTLinkingHeaders (0.74.5):
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
@@ -275,7 +275,7 @@ PODS:
- React-utils
- SocketRocket (= 0.7.0)
- Yoga
- - React-Core/RCTNetworkHeaders (0.74.3):
+ - React-Core/RCTNetworkHeaders (0.74.5):
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
@@ -292,7 +292,7 @@ PODS:
- React-utils
- SocketRocket (= 0.7.0)
- Yoga
- - React-Core/RCTSettingsHeaders (0.74.3):
+ - React-Core/RCTSettingsHeaders (0.74.5):
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
@@ -309,7 +309,7 @@ PODS:
- React-utils
- SocketRocket (= 0.7.0)
- Yoga
- - React-Core/RCTTextHeaders (0.74.3):
+ - React-Core/RCTTextHeaders (0.74.5):
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
@@ -326,7 +326,7 @@ PODS:
- React-utils
- SocketRocket (= 0.7.0)
- Yoga
- - React-Core/RCTVibrationHeaders (0.74.3):
+ - React-Core/RCTVibrationHeaders (0.74.5):
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
@@ -343,12 +343,12 @@ PODS:
- React-utils
- SocketRocket (= 0.7.0)
- Yoga
- - React-Core/RCTWebSocket (0.74.3):
+ - React-Core/RCTWebSocket (0.74.5):
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
- RCTDeprecation
- - React-Core/Default (= 0.74.3)
+ - React-Core/Default (= 0.74.5)
- React-cxxreact
- React-featureflags
- React-hermes
@@ -360,36 +360,36 @@ PODS:
- React-utils
- SocketRocket (= 0.7.0)
- Yoga
- - React-CoreModules (0.74.3):
+ - React-CoreModules (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- RCT-Folly (= 2024.01.01.00)
- - RCTTypeSafety (= 0.74.3)
+ - RCTTypeSafety (= 0.74.5)
- React-Codegen
- - React-Core/CoreModulesHeaders (= 0.74.3)
- - React-jsi (= 0.74.3)
+ - React-Core/CoreModulesHeaders (= 0.74.5)
+ - React-jsi (= 0.74.5)
- React-jsinspector
- React-NativeModulesApple
- React-RCTBlob
- - React-RCTImage (= 0.74.3)
+ - React-RCTImage (= 0.74.5)
- ReactCommon
- SocketRocket (= 0.7.0)
- - React-cxxreact (0.74.3):
+ - React-cxxreact (0.74.5):
- boost (= 1.83.0)
- DoubleConversion
- fmt (= 9.1.0)
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
- - React-callinvoker (= 0.74.3)
- - React-debug (= 0.74.3)
- - React-jsi (= 0.74.3)
+ - React-callinvoker (= 0.74.5)
+ - React-debug (= 0.74.5)
+ - React-jsi (= 0.74.5)
- React-jsinspector
- - React-logger (= 0.74.3)
- - React-perflogger (= 0.74.3)
- - React-runtimeexecutor (= 0.74.3)
- - React-debug (0.74.3)
- - React-Fabric (0.74.3):
+ - React-logger (= 0.74.5)
+ - React-perflogger (= 0.74.5)
+ - React-runtimeexecutor (= 0.74.5)
+ - React-debug (0.74.5)
+ - React-Fabric (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -400,20 +400,20 @@ PODS:
- React-Core
- React-cxxreact
- React-debug
- - React-Fabric/animations (= 0.74.3)
- - React-Fabric/attributedstring (= 0.74.3)
- - React-Fabric/componentregistry (= 0.74.3)
- - React-Fabric/componentregistrynative (= 0.74.3)
- - React-Fabric/components (= 0.74.3)
- - React-Fabric/core (= 0.74.3)
- - React-Fabric/imagemanager (= 0.74.3)
- - React-Fabric/leakchecker (= 0.74.3)
- - React-Fabric/mounting (= 0.74.3)
- - React-Fabric/scheduler (= 0.74.3)
- - React-Fabric/telemetry (= 0.74.3)
- - React-Fabric/templateprocessor (= 0.74.3)
- - React-Fabric/textlayoutmanager (= 0.74.3)
- - React-Fabric/uimanager (= 0.74.3)
+ - React-Fabric/animations (= 0.74.5)
+ - React-Fabric/attributedstring (= 0.74.5)
+ - React-Fabric/componentregistry (= 0.74.5)
+ - React-Fabric/componentregistrynative (= 0.74.5)
+ - React-Fabric/components (= 0.74.5)
+ - React-Fabric/core (= 0.74.5)
+ - React-Fabric/imagemanager (= 0.74.5)
+ - React-Fabric/leakchecker (= 0.74.5)
+ - React-Fabric/mounting (= 0.74.5)
+ - React-Fabric/scheduler (= 0.74.5)
+ - React-Fabric/telemetry (= 0.74.5)
+ - React-Fabric/templateprocessor (= 0.74.5)
+ - React-Fabric/textlayoutmanager (= 0.74.5)
+ - React-Fabric/uimanager (= 0.74.5)
- React-graphics
- React-jsi
- React-jsiexecutor
@@ -422,7 +422,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/animations (0.74.3):
+ - React-Fabric/animations (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -441,7 +441,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/attributedstring (0.74.3):
+ - React-Fabric/attributedstring (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -460,7 +460,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/componentregistry (0.74.3):
+ - React-Fabric/componentregistry (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -479,7 +479,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/componentregistrynative (0.74.3):
+ - React-Fabric/componentregistrynative (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -498,7 +498,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/components (0.74.3):
+ - React-Fabric/components (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -509,17 +509,17 @@ PODS:
- React-Core
- React-cxxreact
- React-debug
- - React-Fabric/components/inputaccessory (= 0.74.3)
- - React-Fabric/components/legacyviewmanagerinterop (= 0.74.3)
- - React-Fabric/components/modal (= 0.74.3)
- - React-Fabric/components/rncore (= 0.74.3)
- - React-Fabric/components/root (= 0.74.3)
- - React-Fabric/components/safeareaview (= 0.74.3)
- - React-Fabric/components/scrollview (= 0.74.3)
- - React-Fabric/components/text (= 0.74.3)
- - React-Fabric/components/textinput (= 0.74.3)
- - React-Fabric/components/unimplementedview (= 0.74.3)
- - React-Fabric/components/view (= 0.74.3)
+ - React-Fabric/components/inputaccessory (= 0.74.5)
+ - React-Fabric/components/legacyviewmanagerinterop (= 0.74.5)
+ - React-Fabric/components/modal (= 0.74.5)
+ - React-Fabric/components/rncore (= 0.74.5)
+ - React-Fabric/components/root (= 0.74.5)
+ - React-Fabric/components/safeareaview (= 0.74.5)
+ - React-Fabric/components/scrollview (= 0.74.5)
+ - React-Fabric/components/text (= 0.74.5)
+ - React-Fabric/components/textinput (= 0.74.5)
+ - React-Fabric/components/unimplementedview (= 0.74.5)
+ - React-Fabric/components/view (= 0.74.5)
- React-graphics
- React-jsi
- React-jsiexecutor
@@ -528,7 +528,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/components/inputaccessory (0.74.3):
+ - React-Fabric/components/inputaccessory (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -547,7 +547,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/components/legacyviewmanagerinterop (0.74.3):
+ - React-Fabric/components/legacyviewmanagerinterop (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -566,7 +566,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/components/modal (0.74.3):
+ - React-Fabric/components/modal (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -585,7 +585,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/components/rncore (0.74.3):
+ - React-Fabric/components/rncore (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -604,7 +604,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/components/root (0.74.3):
+ - React-Fabric/components/root (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -623,7 +623,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/components/safeareaview (0.74.3):
+ - React-Fabric/components/safeareaview (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -642,7 +642,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/components/scrollview (0.74.3):
+ - React-Fabric/components/scrollview (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -661,7 +661,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/components/text (0.74.3):
+ - React-Fabric/components/text (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -680,7 +680,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/components/textinput (0.74.3):
+ - React-Fabric/components/textinput (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -699,7 +699,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/components/unimplementedview (0.74.3):
+ - React-Fabric/components/unimplementedview (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -718,7 +718,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/components/view (0.74.3):
+ - React-Fabric/components/view (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -738,7 +738,7 @@ PODS:
- React-utils
- ReactCommon/turbomodule/core
- Yoga
- - React-Fabric/core (0.74.3):
+ - React-Fabric/core (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -757,7 +757,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/imagemanager (0.74.3):
+ - React-Fabric/imagemanager (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -776,7 +776,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/leakchecker (0.74.3):
+ - React-Fabric/leakchecker (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -795,7 +795,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/mounting (0.74.3):
+ - React-Fabric/mounting (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -814,7 +814,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/scheduler (0.74.3):
+ - React-Fabric/scheduler (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -833,7 +833,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/telemetry (0.74.3):
+ - React-Fabric/telemetry (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -852,7 +852,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/templateprocessor (0.74.3):
+ - React-Fabric/templateprocessor (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -871,7 +871,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/textlayoutmanager (0.74.3):
+ - React-Fabric/textlayoutmanager (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -891,7 +891,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-Fabric/uimanager (0.74.3):
+ - React-Fabric/uimanager (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
@@ -910,45 +910,45 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon/turbomodule/core
- - React-FabricImage (0.74.3):
+ - React-FabricImage (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
- hermes-engine
- RCT-Folly/Fabric (= 2024.01.01.00)
- - RCTRequired (= 0.74.3)
- - RCTTypeSafety (= 0.74.3)
+ - RCTRequired (= 0.74.5)
+ - RCTTypeSafety (= 0.74.5)
- React-Fabric
- React-graphics
- React-ImageManager
- React-jsi
- - React-jsiexecutor (= 0.74.3)
+ - React-jsiexecutor (= 0.74.5)
- React-logger
- React-rendererdebug
- React-utils
- ReactCommon
- Yoga
- - React-featureflags (0.74.3)
- - React-graphics (0.74.3):
+ - React-featureflags (0.74.5)
+ - React-graphics (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
- RCT-Folly/Fabric (= 2024.01.01.00)
- - React-Core/Default (= 0.74.3)
+ - React-Core/Default (= 0.74.5)
- React-utils
- - React-hermes (0.74.3):
+ - React-hermes (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
- - React-cxxreact (= 0.74.3)
+ - React-cxxreact (= 0.74.5)
- React-jsi
- - React-jsiexecutor (= 0.74.3)
+ - React-jsiexecutor (= 0.74.5)
- React-jsinspector
- - React-perflogger (= 0.74.3)
+ - React-perflogger (= 0.74.5)
- React-runtimeexecutor
- - React-ImageManager (0.74.3):
+ - React-ImageManager (0.74.5):
- glog
- RCT-Folly/Fabric
- React-Core/Default
@@ -957,44 +957,44 @@ PODS:
- React-graphics
- React-rendererdebug
- React-utils
- - React-jserrorhandler (0.74.3):
+ - React-jserrorhandler (0.74.5):
- RCT-Folly/Fabric (= 2024.01.01.00)
- React-debug
- React-jsi
- React-Mapbuffer
- - React-jsi (0.74.3):
+ - React-jsi (0.74.5):
- boost (= 1.83.0)
- DoubleConversion
- fmt (= 9.1.0)
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
- - React-jsiexecutor (0.74.3):
+ - React-jsiexecutor (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
- - React-cxxreact (= 0.74.3)
- - React-jsi (= 0.74.3)
+ - React-cxxreact (= 0.74.5)
+ - React-jsi (= 0.74.5)
- React-jsinspector
- - React-perflogger (= 0.74.3)
- - React-jsinspector (0.74.3):
+ - React-perflogger (= 0.74.5)
+ - React-jsinspector (0.74.5):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
- React-featureflags
- React-jsi
- - React-runtimeexecutor (= 0.74.3)
- - React-jsitracing (0.74.3):
+ - React-runtimeexecutor (= 0.74.5)
+ - React-jsitracing (0.74.5):
- React-jsi
- - React-logger (0.74.3):
+ - React-logger (0.74.5):
- glog
- - React-Mapbuffer (0.74.3):
+ - React-Mapbuffer (0.74.5):
- glog
- React-debug
- - react-native-video (6.4.4):
+ - react-native-video (6.4.5):
- DoubleConversion
- glog
- hermes-engine
@@ -1008,7 +1008,7 @@ PODS:
- React-featureflags
- React-graphics
- React-ImageManager
- - react-native-video/Video (= 6.4.4)
+ - react-native-video/Video (= 6.4.5)
- React-NativeModulesApple
- React-RCTFabric
- React-rendererdebug
@@ -1038,7 +1038,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- - react-native-video/Video (6.4.4):
+ - react-native-video/Video (6.4.5):
- DoubleConversion
- glog
- hermes-engine
@@ -1059,8 +1059,8 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- - React-nativeconfig (0.74.3)
- - React-NativeModulesApple (0.74.3):
+ - React-nativeconfig (0.74.5)
+ - React-NativeModulesApple (0.74.5):
- glog
- hermes-engine
- React-callinvoker
@@ -1071,10 +1071,10 @@ PODS:
- React-runtimeexecutor
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- - React-perflogger (0.74.3)
- - React-RCTActionSheet (0.74.3):
- - React-Core/RCTActionSheetHeaders (= 0.74.3)
- - React-RCTAnimation (0.74.3):
+ - React-perflogger (0.74.5)
+ - React-RCTActionSheet (0.74.5):
+ - React-Core/RCTActionSheetHeaders (= 0.74.5)
+ - React-RCTAnimation (0.74.5):
- RCT-Folly (= 2024.01.01.00)
- RCTTypeSafety
- React-Codegen
@@ -1082,7 +1082,7 @@ PODS:
- React-jsi
- React-NativeModulesApple
- ReactCommon
- - React-RCTAppDelegate (0.74.3):
+ - React-RCTAppDelegate (0.74.5):
- RCT-Folly (= 2024.01.01.00)
- RCTRequired
- RCTTypeSafety
@@ -1106,7 +1106,7 @@ PODS:
- React-runtimescheduler
- React-utils
- ReactCommon
- - React-RCTBlob (0.74.3):
+ - React-RCTBlob (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- hermes-engine
@@ -1119,7 +1119,7 @@ PODS:
- React-NativeModulesApple
- React-RCTNetwork
- ReactCommon
- - React-RCTFabric (0.74.3):
+ - React-RCTFabric (0.74.5):
- glog
- hermes-engine
- RCT-Folly/Fabric (= 2024.01.01.00)
@@ -1139,7 +1139,7 @@ PODS:
- React-runtimescheduler
- React-utils
- Yoga
- - React-RCTImage (0.74.3):
+ - React-RCTImage (0.74.5):
- RCT-Folly (= 2024.01.01.00)
- RCTTypeSafety
- React-Codegen
@@ -1148,14 +1148,14 @@ PODS:
- React-NativeModulesApple
- React-RCTNetwork
- ReactCommon
- - React-RCTLinking (0.74.3):
+ - React-RCTLinking (0.74.5):
- React-Codegen
- - React-Core/RCTLinkingHeaders (= 0.74.3)
- - React-jsi (= 0.74.3)
+ - React-Core/RCTLinkingHeaders (= 0.74.5)
+ - React-jsi (= 0.74.5)
- React-NativeModulesApple
- ReactCommon
- - ReactCommon/turbomodule/core (= 0.74.3)
- - React-RCTNetwork (0.74.3):
+ - ReactCommon/turbomodule/core (= 0.74.5)
+ - React-RCTNetwork (0.74.5):
- RCT-Folly (= 2024.01.01.00)
- RCTTypeSafety
- React-Codegen
@@ -1163,7 +1163,7 @@ PODS:
- React-jsi
- React-NativeModulesApple
- ReactCommon
- - React-RCTSettings (0.74.3):
+ - React-RCTSettings (0.74.5):
- RCT-Folly (= 2024.01.01.00)
- RCTTypeSafety
- React-Codegen
@@ -1171,23 +1171,23 @@ PODS:
- React-jsi
- React-NativeModulesApple
- ReactCommon
- - React-RCTText (0.74.3):
- - React-Core/RCTTextHeaders (= 0.74.3)
+ - React-RCTText (0.74.5):
+ - React-Core/RCTTextHeaders (= 0.74.5)
- Yoga
- - React-RCTVibration (0.74.3):
+ - React-RCTVibration (0.74.5):
- RCT-Folly (= 2024.01.01.00)
- React-Codegen
- React-Core/RCTVibrationHeaders
- React-jsi
- React-NativeModulesApple
- ReactCommon
- - React-rendererdebug (0.74.3):
+ - React-rendererdebug (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- RCT-Folly (= 2024.01.01.00)
- React-debug
- - React-rncore (0.74.3)
- - React-RuntimeApple (0.74.3):
+ - React-rncore (0.74.5)
+ - React-RuntimeApple (0.74.5):
- hermes-engine
- RCT-Folly/Fabric (= 2024.01.01.00)
- React-callinvoker
@@ -1205,7 +1205,7 @@ PODS:
- React-runtimeexecutor
- React-RuntimeHermes
- React-utils
- - React-RuntimeCore (0.74.3):
+ - React-RuntimeCore (0.74.5):
- glog
- hermes-engine
- RCT-Folly/Fabric (= 2024.01.01.00)
@@ -1218,9 +1218,9 @@ PODS:
- React-runtimeexecutor
- React-runtimescheduler
- React-utils
- - React-runtimeexecutor (0.74.3):
- - React-jsi (= 0.74.3)
- - React-RuntimeHermes (0.74.3):
+ - React-runtimeexecutor (0.74.5):
+ - React-jsi (= 0.74.5)
+ - React-RuntimeHermes (0.74.5):
- hermes-engine
- RCT-Folly/Fabric (= 2024.01.01.00)
- React-featureflags
@@ -1231,7 +1231,7 @@ PODS:
- React-nativeconfig
- React-RuntimeCore
- React-utils
- - React-runtimescheduler (0.74.3):
+ - React-runtimescheduler (0.74.5):
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
@@ -1243,51 +1243,51 @@ PODS:
- React-rendererdebug
- React-runtimeexecutor
- React-utils
- - React-utils (0.74.3):
+ - React-utils (0.74.5):
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
- React-debug
- - React-jsi (= 0.74.3)
- - ReactCommon (0.74.3):
- - ReactCommon/turbomodule (= 0.74.3)
- - ReactCommon/turbomodule (0.74.3):
+ - React-jsi (= 0.74.5)
+ - ReactCommon (0.74.5):
+ - ReactCommon/turbomodule (= 0.74.5)
+ - ReactCommon/turbomodule (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
- - React-callinvoker (= 0.74.3)
- - React-cxxreact (= 0.74.3)
- - React-jsi (= 0.74.3)
- - React-logger (= 0.74.3)
- - React-perflogger (= 0.74.3)
- - ReactCommon/turbomodule/bridging (= 0.74.3)
- - ReactCommon/turbomodule/core (= 0.74.3)
- - ReactCommon/turbomodule/bridging (0.74.3):
+ - React-callinvoker (= 0.74.5)
+ - React-cxxreact (= 0.74.5)
+ - React-jsi (= 0.74.5)
+ - React-logger (= 0.74.5)
+ - React-perflogger (= 0.74.5)
+ - ReactCommon/turbomodule/bridging (= 0.74.5)
+ - ReactCommon/turbomodule/core (= 0.74.5)
+ - ReactCommon/turbomodule/bridging (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
- - React-callinvoker (= 0.74.3)
- - React-cxxreact (= 0.74.3)
- - React-jsi (= 0.74.3)
- - React-logger (= 0.74.3)
- - React-perflogger (= 0.74.3)
- - ReactCommon/turbomodule/core (0.74.3):
+ - React-callinvoker (= 0.74.5)
+ - React-cxxreact (= 0.74.5)
+ - React-jsi (= 0.74.5)
+ - React-logger (= 0.74.5)
+ - React-perflogger (= 0.74.5)
+ - ReactCommon/turbomodule/core (0.74.5):
- DoubleConversion
- fmt (= 9.1.0)
- glog
- hermes-engine
- RCT-Folly (= 2024.01.01.00)
- - React-callinvoker (= 0.74.3)
- - React-cxxreact (= 0.74.3)
- - React-debug (= 0.74.3)
- - React-jsi (= 0.74.3)
- - React-logger (= 0.74.3)
- - React-perflogger (= 0.74.3)
- - React-utils (= 0.74.3)
+ - React-callinvoker (= 0.74.5)
+ - React-cxxreact (= 0.74.5)
+ - React-debug (= 0.74.5)
+ - React-jsi (= 0.74.5)
+ - React-logger (= 0.74.5)
+ - React-perflogger (= 0.74.5)
+ - React-utils (= 0.74.5)
- RNCPicker (2.7.5):
- React-Core
- SDWebImage (5.19.2):
@@ -1521,14 +1521,14 @@ SPEC CHECKSUMS:
boost: d3f49c53809116a5d38da093a8aa78bf551aed09
DoubleConversion: 76ab83afb40bddeeee456813d9c04f67f78771b5
EXConstants: 409690fbfd5afea964e5e9d6c4eb2c2b59222c59
- Expo: 675a5642b5860771507237259da50b921c03a9f3
+ Expo: 4773e11951abd0f666f67023f0cb1d48c3e8a32b
ExpoAsset: 323700f291684f110fb55f0d4022a3362ea9f875
ExpoFileSystem: 80bfe850b1f9922c16905822ecbf97acd711dc51
- ExpoFont: 43b69559cef3d773db57c7ae7edd3cb0aa0dc610
- ExpoImage: 2ccccff1219ebc765e344f3338f2430af2df4824
+ ExpoFont: e7f2275c10ca8573c991e007329ad6bf98086485
+ ExpoImage: f77df382153d716f332f974438a803c4527f60b0
ExpoKeepAwake: 3b8815d9dd1d419ee474df004021c69fdd316d08
- ExpoModulesCore: b2fa8cc3c12f0ba45a9ae125c0e3bcad04f3fb7b
- FBLazyVector: 7e977dd099937dc5458851233141583abba49ff2
+ ExpoModulesCore: e3c518e094990b3ad960edbd19c291f2a1b56b0a
+ FBLazyVector: ac12dc084d1c8ec4cc4d7b3cf1b0ebda6dab85af
fmt: 4c2741a687cc09f0634a2e2c72a838b99f1ff120
glog: fdfdfe5479092de0c4bdbebedd9056951f092c4f
hermes-engine: 1f547997900dd0752dc0cc0ae6dd16173c49e09b
@@ -1536,61 +1536,61 @@ SPEC CHECKSUMS:
libdav1d: 23581a4d8ec811ff171ed5e2e05cd27bad64c39f
libwebp: 1786c9f4ff8a279e4dac1e8f385004d5fc253009
RCT-Folly: 02617c592a293bd6d418e0a88ff4ee1f88329b47
- RCTDeprecation: 4c7eeb42be0b2e95195563c49be08d0b839d22b4
- RCTRequired: d530a0f489699c8500e944fde963102c42dcd0c2
- RCTTypeSafety: b20878506b094fa3d9007d7b9e4be0faa3562499
- React: 2f9da0177233f60fa3462d83fcccde245759f81a
- React-callinvoker: d0205f0dcebf72ec27263ab41e3a5ad827ed503f
- React-Codegen: 27212e14727ad7d6d9fd1b1967fbf21929e4ce29
- React-Core: 690ebbbf8f8dcfba6686ce8927731d3f025c3114
- React-CoreModules: 185da31f5eb2e6043c3d19b10c64c4661322ed6a
- React-cxxreact: c53d2ac9246235351086b8c588feaf775b4ec7f7
- React-debug: 40caf8ab4c0fd3afe831912e3d4d0e7303eecc5d
- React-Fabric: 51ccb4f7e45df5837e796f339d602737063c463e
- React-FabricImage: 376b7a81bfe64102e7da5fc85cd1775638584c92
- React-featureflags: 0d0576ae8306801a8a660b36afcdbda04dd7cc12
- React-graphics: e0e6b8fbb1c5968c70d3584dccec42544b769b60
- React-hermes: 917b7ab4c3cb9204c2ad020d74f313830097148b
- React-ImageManager: 5cebcc0136f3b309c7f5189b96e6c0ebd0ec8192
- React-jserrorhandler: 5dc7e036cba3b7d167380c02afabf818ad0b2f98
- React-jsi: 024b933267079f80c30a5cae97bf5ce521217505
- React-jsiexecutor: 45cb079c87db3f514da3acfc686387a0e01de5c5
- React-jsinspector: c9551971f1298163c93e2bfb082c2b4245618fc6
- React-jsitracing: 1aa5681c353b41573b03e0e480a5adf5fa1c56d8
- React-logger: fa92ba4d3a5d39ac450f59be2a3cec7b099f0304
- React-Mapbuffer: 70da5955150a58732e9336a0c7e71cd49e909f25
- react-native-video: f57ea9a2df4675386f57f48494853a54bdba0d9f
+ RCTDeprecation: 3afceddffa65aee666dafd6f0116f1d975db1584
+ RCTRequired: ec1239bc9d8bf63e10fb92bd8b26171a9258e0c1
+ RCTTypeSafety: f5ecbc86c5c5fa163c05acb7a1c5012e15b5f994
+ React: fc9fa7258eff606f44d58c5b233a82dc9cf09018
+ React-callinvoker: e3fab14d69607fb7e8e3a57e5a415aed863d3599
+ React-Codegen: bd1a15f54af401efee5f439aa6fd420b10550125
+ React-Core: 3a5fd9e781cecf87803e5b091496a606a3df774a
+ React-CoreModules: cbf4707dafab8f9f826ac0c63a07d0bf5d01e256
+ React-cxxreact: 7b188556271e3c7fdf22a04819f6a6225045b9dd
+ React-debug: 2d6f912c0c4c91a9fde617d8425088af7315c10b
+ React-Fabric: 47ff62e0c7f017606585327f6016190625295c5e
+ React-FabricImage: 823627aa521b4ecc896334f0dbf2bc8376edbf1e
+ React-featureflags: 2a4555681de0d4b683d98d7e9fd7bdf9e9ce1aa2
+ React-graphics: edbd2a6c018b2e2d541ab8cb886cc31babf14646
+ React-hermes: a7054fbcbda3957e3c5eaad06ef9bf79998d535a
+ React-ImageManager: 314824c4bb6f152699724dc9eb3ce544b87048bd
+ React-jserrorhandler: fffe10523886a352161ef492af2063651721c8ee
+ React-jsi: f3ce1dd2e950b6ad12b65ea3ef89168f1b94c584
+ React-jsiexecutor: b4df3a27973d82f9abf3c4bd0f88e042cda25f16
+ React-jsinspector: 2ea90b8e53970a1fea1449fb8e6419e21ca79867
+ React-jsitracing: c83efb63c8e9e1dff72a3c56e88ae1c530a87795
+ React-logger: 257858bd55f3a4e1bc0cf07ddc8fb9faba6f8c7c
+ React-Mapbuffer: dce508662b995ffefd29e278a16b78217039d43d
+ react-native-video: c5cd8b71116762c5a4ceee7f7961587d99aae8e3
react-native-video-plugin-sample: d3a93b7ad777cad7fa2c30473de75a2635ce5feb
- React-nativeconfig: 84806b820491db30175afbf027e99e8415dc63f0
- React-NativeModulesApple: 7b79212f8cf496ab554e0b7b09acbd4aa4690260
- React-perflogger: 7bb9ba49435ff66b666e7966ee10082508a203e8
- React-RCTActionSheet: a2816ae2b5c8523c2bc18a8f874a724a096e6d97
- React-RCTAnimation: e78f52d7422bac13e1213e25e9bcbf99be872e1a
- React-RCTAppDelegate: 24f46de486cfa3a9f46e4b0786eaf17d92e1e0c6
- React-RCTBlob: 9f9d6599d1b00690704dadc4a4bc33a7e76938be
- React-RCTFabric: 416d20a24b117a7ec7d32088fc8f359b5e558fa7
- React-RCTImage: 39dd5aee6b92213845e1e7a7c41865801dc33493
- React-RCTLinking: 35d742a982f901f9ea416d772763e2da65c2dc7d
- React-RCTNetwork: b078576c0c896c71905f841716b9f9f5922111dc
- React-RCTSettings: 900aab52b5b1212f247c2944d88f4defbf6146f2
- React-RCTText: a3895ab4e5df4a5fd41b6f059eed484a0c7016d1
- React-RCTVibration: ab4912e1427d8de00ef89e9e6582094c4c25dc05
- React-rendererdebug: 8ea55aebb8cba804db2a8449a2f0c80ccfe0ce5a
- React-rncore: 1f725aee4e00c317e51cb4d37aca7f6a47da9a11
- React-RuntimeApple: c1833d8e82f7c5314c001d61d289849c75217944
- React-RuntimeCore: 0a5b37b50737af3505b5801376ae5788532c013e
- React-runtimeexecutor: 69cab8ddf409de6d6a855a71c8af9e7290c4e55b
- React-RuntimeHermes: 44847ba3e8a9394b9829d9a9abde7590624f32d0
- React-runtimescheduler: e4ad653e1d2f5ff40ba047446cacde009694f0ed
- React-utils: 6f7ac39d9a0de447d4334bb25d144a28c0c5d8c9
- ReactCommon: 4a09c7d8a06e93c1e2e988a3b9f3db3d2449f2fc
+ React-nativeconfig: f326487bc61eba3f0e328da6efb2711533dcac46
+ React-NativeModulesApple: d89733f5baed8b9249ca5a8e497d63c550097312
+ React-perflogger: ed4e0c65781521e0424f2e5e40b40cc7879d737e
+ React-RCTActionSheet: 49d53ff03bb5688ca4606c55859053a0cd129ea5
+ React-RCTAnimation: 07b4923885c52c397c4ec103924bf6e53b42c73e
+ React-RCTAppDelegate: 316e295076734baf9bdf1bfac7d92ab647aed930
+ React-RCTBlob: 85c57b0d5e667ff8a472163ba3af0628171a64bb
+ React-RCTFabric: 62695e345da7c451b05a131f0c6ba80367dbd5c3
+ React-RCTImage: b965c85bec820e2a9c154b1fb00a2ecdd59a9c92
+ React-RCTLinking: 75f04a5f27c26c4e73a39c50df470820d219df79
+ React-RCTNetwork: c1a9143f4d5778efc92da40d83969d03912ccc24
+ React-RCTSettings: c6800f91c0ecd48868cd5db754b0b0a7f5ffe039
+ React-RCTText: b923e24f9b7250bc4f7ab154c4168ad9f8d8fc9d
+ React-RCTVibration: 08c4f0c917c435b3619386c25a94ee5d64c250f0
+ React-rendererdebug: fac75dc155e1202cfc187485a6e4f6e842fcc5c7
+ React-rncore: 12dc32f08f195e573e9d969a348b976a3d057bbc
+ React-RuntimeApple: 5c7591dd19de1c7fefe8e61cf934d8f8f9fc0409
+ React-RuntimeCore: ec3c8be706ca2e4607eb8c675d32512352501f9e
+ React-runtimeexecutor: 0e688aefc14c6bc8601f4968d8d01c3fb6446844
+ React-RuntimeHermes: df243bd7c8d4ba3bd237ce6ded22031e02d37908
+ React-runtimescheduler: db7189185a2e5912b0d17194302e501f801a381e
+ React-utils: 3f1fcffc14893afb9a7e5b7c736353873cc5fc95
+ ReactCommon: f79ae672224dc1e6c2d932062176883c98eebd57
RNCPicker: 3e2c37a8328f368ce14da050cdc8231deb5fc9f9
SDWebImage: dfe95b2466a9823cf9f0c6d01217c06550d7b29a
SDWebImageAVIFCoder: 00310d246aab3232ce77f1d8f0076f8c4b021d90
SDWebImageSVGCoder: 15a300a97ec1c8ac958f009c02220ac0402e936c
SDWebImageWebPCoder: e38c0a70396191361d60c092933e22c20d5b1380
SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d
- Yoga: eed50599a85bd9f6882a9938d118aed6a397db9c
+ Yoga: 1ab23c1835475da69cf14e211a560e73aab24cb0
PODFILE CHECKSUM: a73d485df51877001f2b04a5a4379cfa5a3ba8fa
diff --git a/ios/Video/RCTVideo.swift b/ios/Video/RCTVideo.swift
index 5acc616f14..2e405c76a8 100644
--- a/ios/Video/RCTVideo.swift
+++ b/ios/Video/RCTVideo.swift
@@ -1394,6 +1394,20 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
}
}
+ func extractJsonWithIndex(from tracks: [TextTrack]) -> [NSDictionary]? {
+ if tracks.isEmpty {
+ // No tracks, need to return nil to handle
+ return nil
+ }
+ // Map each enumerated pair to include the index in the json dictionary
+ let mappedTracks = tracks.enumerated().compactMap { index, track -> NSDictionary? in
+ guard let json = track.json?.mutableCopy() as? NSMutableDictionary else { return nil }
+ json["index"] = index // Insert the index into the json dictionary
+ return json
+ }
+ return mappedTracks
+ }
+
func handleReadyToPlay() {
guard let _playerItem else { return }
@@ -1452,7 +1466,7 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
"orientation": orientation,
],
"audioTracks": audioTracks,
- "textTracks": self._textTracks.compactMap { $0.json } ?? textTracks.map(\.json),
+ "textTracks": extractJsonWithIndex(from: _textTracks) ?? textTracks.map(\.json),
"target": self.reactTag as Any])
}
@@ -1650,7 +1664,7 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
if onTextTracks != nil {
Task {
let textTracks = await RCTVideoUtils.getTextTrackInfo(self._player)
- self.onTextTracks?(["textTracks": self._textTracks.compactMap { $0.json } ?? textTracks.compactMap(\.json)])
+ self.onTextTracks?(["textTracks": extractJsonWithIndex(from: _textTracks) ?? textTracks.compactMap(\.json)])
}
}
From 89df9d69ff96f7d6ff3d493bf1a3eb9c3da51c3c Mon Sep 17 00:00:00 2001
From: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
Date: Mon, 2 Sep 2024 19:08:27 +0200
Subject: [PATCH 06/17] fix(ios): ensure we don't disable tracks when not
necessary (causes black screen) (#4130)
---
ios/Video/Features/RCTPlayerOperations.swift | 6 +++++-
ios/Video/RCTVideo.swift | 4 ++++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/ios/Video/Features/RCTPlayerOperations.swift b/ios/Video/Features/RCTPlayerOperations.swift
index 9c80c85f3e..d1ca88a9e4 100644
--- a/ios/Video/Features/RCTPlayerOperations.swift
+++ b/ios/Video/Features/RCTPlayerOperations.swift
@@ -15,11 +15,15 @@ enum RCTPlayerOperations {
let trackCount: Int! = player?.currentItem?.tracks.count ?? 0
// The first few tracks will be audio & video track
- var firstTextIndex = 0
+ var firstTextIndex = -1
for i in 0 ..< trackCount where player?.currentItem?.tracks[i].assetTrack?.hasMediaCharacteristic(.legible) ?? false {
firstTextIndex = i
break
}
+ if firstTextIndex == -1 {
+ // no sideLoaded text track available (can happen with invalid vtt url)
+ return
+ }
var selectedTrackIndex: Int = RCTVideoUnset
diff --git a/ios/Video/RCTVideo.swift b/ios/Video/RCTVideo.swift
index 2e405c76a8..3aaf532c8a 100644
--- a/ios/Video/RCTVideo.swift
+++ b/ios/Video/RCTVideo.swift
@@ -613,6 +613,10 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
textTracks: self._textTracks
)
+ if validTextTracks.isEmpty {
+ DebugLog("Strange state, not valid textTrack")
+ }
+
if validTextTracks.count != self._textTracks.count {
self.setTextTracks(validTextTracks)
}
From 308447a5ba1d5a8fbc025520ec43521ef967bd98 Mon Sep 17 00:00:00 2001
From: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
Date: Mon, 2 Sep 2024 19:10:39 +0200
Subject: [PATCH 07/17] Fix/track selection by title (#4129)
* chore(sample): make track selection by title possible
* fix(android): fix test for track selection by title
---
.../exoplayer/ReactExoplayerView.java | 2 +-
examples/basic/src/VideoPlayer.tsx | 21 ++++++-------
examples/basic/src/components/Overlay.tsx | 6 +---
.../src/components/TextTracksSelector.tsx | 30 ++++++++-----------
examples/basic/src/constants/general.ts | 7 ++++-
5 files changed, 32 insertions(+), 34 deletions(-)
diff --git a/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java b/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
index dacae93748..37b68f486d 100644
--- a/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
+++ b/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
@@ -1940,7 +1940,7 @@ public void setSelectedTrack(int trackType, String type, String value) {
} else if ("title".equals(type)) {
for (int i = 0; i < groups.length; ++i) {
Format format = groups.get(i).getFormat(0);
- if (format.id != null && format.id.equals(value)) {
+ if (format.label != null && format.label.equals(value)) {
groupIndex = i;
break;
}
diff --git a/examples/basic/src/VideoPlayer.tsx b/examples/basic/src/VideoPlayer.tsx
index b77f97c9da..5784a4e31b 100644
--- a/examples/basic/src/VideoPlayer.tsx
+++ b/examples/basic/src/VideoPlayer.tsx
@@ -130,17 +130,18 @@ const VideoPlayer: FC = ({}) => {
if (selectedTrack?.language) {
setTextTracks(data.textTracks);
- if (textTracksSelectionBy === 'index') {
- setSelectedTextTrack({
- type: SelectedTrackType.INDEX,
- value: selectedTrack?.index,
- });
- } else {
- setSelectedTextTrack({
- type: SelectedTrackType.LANGUAGE,
- value: selectedTrack?.language,
- });
+ let value;
+ if (textTracksSelectionBy === SelectedTrackType.INDEX) {
+ value = selectedTrack?.index;
+ } else if (textTracksSelectionBy === SelectedTrackType.LANGUAGE) {
+ value = selectedTrack?.language;
+ } else if (textTracksSelectionBy === SelectedTrackType.TITLE) {
+ value = selectedTrack?.title;
}
+ setSelectedTextTrack({
+ type: textTracksSelectionBy,
+ value: value,
+ });
} else {
setTextTracks(data.textTracks);
}
diff --git a/examples/basic/src/components/Overlay.tsx b/examples/basic/src/components/Overlay.tsx
index ba964b2f49..3c9c487b31 100644
--- a/examples/basic/src/components/Overlay.tsx
+++ b/examples/basic/src/components/Overlay.tsx
@@ -164,11 +164,7 @@ const _Overlay = forwardRef((props, ref) => {
const onSelectedTextTrackChange = (itemValue: string) => {
console.log('on value change ' + itemValue);
- const type =
- textTracksSelectionBy === 'index'
- ? SelectedTrackType.INDEX
- : SelectedTrackType.LANGUAGE;
- setSelectedTextTrack({type, value: itemValue});
+ setSelectedTextTrack({type: textTracksSelectionBy, value: itemValue});
};
const onSelectedVideoTrackChange = (itemValue: string) => {
diff --git a/examples/basic/src/components/TextTracksSelector.tsx b/examples/basic/src/components/TextTracksSelector.tsx
index ad4c1bffeb..b1fb04ff61 100644
--- a/examples/basic/src/components/TextTracksSelector.tsx
+++ b/examples/basic/src/components/TextTracksSelector.tsx
@@ -1,6 +1,10 @@
import {Picker} from '@react-native-picker/picker';
import {Text} from 'react-native';
-import type {TextTrack, SelectedTrack} from 'react-native-video';
+import {
+ type TextTrack,
+ type SelectedTrack,
+ SelectedTrackType,
+} from 'react-native-video';
import styles from '../styles';
import React from 'react';
@@ -38,23 +42,15 @@ export const TextTrackSelector = ({
if (!track) {
return;
}
- if (textTracksSelectionBy === 'index') {
- return (
-
- );
- } else {
- return (
-
- );
+ let value;
+ if (textTracksSelectionBy === SelectedTrackType.INDEX) {
+ value = track.index;
+ } else if (textTracksSelectionBy === SelectedTrackType.LANGUAGE) {
+ value = track.language;
+ } else if (textTracksSelectionBy === SelectedTrackType.TITLE) {
+ value = track.title;
}
+ return ;
})}
>
diff --git a/examples/basic/src/constants/general.ts b/examples/basic/src/constants/general.ts
index e0d1218548..6325877d23 100644
--- a/examples/basic/src/constants/general.ts
+++ b/examples/basic/src/constants/general.ts
@@ -2,13 +2,18 @@ import {
BufferConfig,
DRMType,
ISO639_1,
+ SelectedTrackType,
TextTrackType,
} from 'react-native-video';
import {SampleVideoSource} from '../types';
import {localeVideo} from '../assets';
import {Platform} from 'react-native';
-export const textTracksSelectionBy = 'index';
+// This constant allows to change how the sample behaves regarding to texts selection.
+// You can change it to change how selector will use tracks information.
+// by default, index will be displayed and index will be applied to selected tracks.
+// You can also use LANGUAGE or TITLE
+export const textTracksSelectionBy = SelectedTrackType.INDEX;
export const isIos = Platform.OS === 'ios';
From 8b8ebe9410e95085e5602393c2ce3de814df4a96 Mon Sep 17 00:00:00 2001
From: Seyed Mostafa Hasani
Date: Tue, 3 Sep 2024 10:29:24 +0330
Subject: [PATCH 08/17] fix(android): show the status bar and navigation bar
after exiting full-screen mode (#4112)
* fix(android): show the status bar and navigation bar after exiting full-screen mode
---
.../java/com/brentvatne/exoplayer/ReactExoplayerView.java | 6 ------
1 file changed, 6 deletions(-)
diff --git a/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java b/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
index 37b68f486d..3ef807c3fb 100644
--- a/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
+++ b/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
@@ -2277,10 +2277,6 @@ public void setFullscreen(boolean fullscreen) {
fullScreenPlayerView.show();
}
UiThreadUtil.runOnUiThread(() -> {
- originalFitsSystemWindows = window.getDecorView().getFitsSystemWindows();
- WindowCompat.setDecorFitsSystemWindows(window, false);
- controller.hide(WindowInsetsCompat.Type.systemBars());
- controller.setSystemBarsBehavior(WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE);
eventEmitter.onVideoFullscreenPlayerDidPresent.invoke();
});
} else {
@@ -2291,8 +2287,6 @@ public void setFullscreen(boolean fullscreen) {
setControls(controls);
}
UiThreadUtil.runOnUiThread(() -> {
- WindowCompat.setDecorFitsSystemWindows(window, originalFitsSystemWindows);
- controller.show(WindowInsetsCompat.Type.systemBars());
eventEmitter.onVideoFullscreenPlayerDidDismiss.invoke();
});
}
From c51c061f435cf7a5e348e628c93d320d509de54f Mon Sep 17 00:00:00 2001
From: Seyed Mostafa Hasani
Date: Tue, 3 Sep 2024 12:46:20 +0330
Subject: [PATCH 09/17] chore(android): clean up ReactExoplayerView class
(#4141)
---
.../exoplayer/ReactExoplayerView.java | 21 +++++--------------
1 file changed, 5 insertions(+), 16 deletions(-)
diff --git a/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java b/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
index 3ef807c3fb..c3933ef896 100644
--- a/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
+++ b/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
@@ -7,7 +7,6 @@
import static androidx.media3.common.C.CONTENT_TYPE_SS;
import static androidx.media3.common.C.TIME_END_OF_SOURCE;
-
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.ActivityManager;
@@ -24,7 +23,6 @@
import android.os.Message;
import android.text.TextUtils;
import android.view.View;
-import android.view.Window;
import android.view.accessibility.CaptioningManager;
import android.widget.FrameLayout;
import android.widget.ImageButton;
@@ -34,9 +32,6 @@
import androidx.activity.OnBackPressedCallback;
import androidx.annotation.NonNull;
import androidx.annotation.WorkerThread;
-import androidx.core.view.WindowCompat;
-import androidx.core.view.WindowInsetsCompat;
-import androidx.core.view.WindowInsetsControllerCompat;
import androidx.media3.common.AudioAttributes;
import androidx.media3.common.C;
import androidx.media3.common.Format;
@@ -131,18 +126,17 @@
import com.facebook.react.bridge.UiThreadUtil;
import com.facebook.react.uimanager.ThemedReactContext;
import com.google.ads.interactivemedia.v3.api.AdError;
-import com.google.ads.interactivemedia.v3.api.AdEvent;
import com.google.ads.interactivemedia.v3.api.AdErrorEvent;
-import com.google.ads.interactivemedia.v3.api.ImaSdkSettings;
+import com.google.ads.interactivemedia.v3.api.AdEvent;
import com.google.ads.interactivemedia.v3.api.ImaSdkFactory;
+import com.google.ads.interactivemedia.v3.api.ImaSdkSettings;
import com.google.common.collect.ImmutableList;
import java.net.CookieHandler;
import java.net.CookieManager;
import java.net.CookiePolicy;
-import java.lang.Math;
-import java.util.List;
import java.util.ArrayList;
+import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
@@ -191,8 +185,6 @@ public class ReactExoplayerView extends FrameLayout implements
private ExoPlayer player;
private DefaultTrackSelector trackSelector;
private boolean playerNeedsSource;
- private MediaMetadata customMetadata;
-
private ServiceConnection playbackServiceConnection;
private PlaybackServiceBinder playbackServiceBinder;
@@ -205,7 +197,6 @@ public class ReactExoplayerView extends FrameLayout implements
private long resumePosition;
private boolean loadVideoStarted;
private boolean isFullscreen;
- private boolean originalFitsSystemWindows;
private boolean isInBackground;
private boolean isPaused;
private boolean isBuffering;
@@ -271,7 +262,7 @@ public class ReactExoplayerView extends FrameLayout implements
private boolean viewHasDropped = false;
- private String instanceId = String.valueOf(UUID.randomUUID());
+ private final String instanceId = String.valueOf(UUID.randomUUID());
private CmcdConfiguration.Factory cmcdConfigurationFactory;
@@ -1028,7 +1019,7 @@ private MediaSource buildMediaSource(Uri uri, String overrideExtension, DrmSessi
.setUri(uri);
// refresh custom Metadata
- customMetadata = ConfigurationUtils.buildCustomMetadata(source.getMetadata());
+ MediaMetadata customMetadata = ConfigurationUtils.buildCustomMetadata(source.getMetadata());
if (customMetadata != null) {
mediaItemBuilder.setMediaMetadata(customMetadata);
}
@@ -2269,8 +2260,6 @@ public void setFullscreen(boolean fullscreen) {
return;
}
- Window window = activity.getWindow();
- WindowInsetsControllerCompat controller = new WindowInsetsControllerCompat(window, window.getDecorView());
if (isFullscreen) {
eventEmitter.onVideoFullscreenPlayerWillPresent.invoke();
if (fullScreenPlayerView != null) {
From d6bae3cd076018f07556ab27af2779479bc7ff7d Mon Sep 17 00:00:00 2001
From: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
Date: Tue, 3 Sep 2024 15:33:43 +0200
Subject: [PATCH 10/17] fix(ios): fix onBandwidth update event (old ios api is
deprecated and doens't work) (#4140)
---
examples/basic/src/VideoPlayer.tsx | 6 ++++++
ios/Video/Features/RCTPlayerObserver.swift | 4 ++--
ios/Video/RCTVideo.swift | 2 +-
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/examples/basic/src/VideoPlayer.tsx b/examples/basic/src/VideoPlayer.tsx
index 5784a4e31b..83e66db762 100644
--- a/examples/basic/src/VideoPlayer.tsx
+++ b/examples/basic/src/VideoPlayer.tsx
@@ -30,6 +30,7 @@ import Video, {
type SelectedTrack,
type SelectedVideoTrack,
type EnumValues,
+ OnBandwidthUpdateData,
} from 'react-native-video';
import styles from './styles';
import {type AdditionalSourceInfo} from './types';
@@ -214,6 +215,10 @@ const VideoPlayer: FC = ({}) => {
console.log('onPlaybackStateChanged', data);
};
+ const onVideoBandwidthUpdate = (data: OnBandwidthUpdateData) => {
+ console.log('onVideoBandwidthUpdate', data);
+ }
+
const onFullScreenExit = () => {
// iOS pauses video on exit from full screen
Platform.OS === 'ios' && setPaused(true);
@@ -253,6 +258,7 @@ const VideoPlayer: FC = ({}) => {
onAspectRatio={onAspectRatio}
onReadyForDisplay={onReadyForDisplay}
onBuffer={onVideoBuffer}
+ onBandwidthUpdate={onVideoBandwidthUpdate}
onSeek={onSeek}
repeat={repeat}
selectedTextTrack={selectedTextTrack}
diff --git a/ios/Video/Features/RCTPlayerObserver.swift b/ios/Video/Features/RCTPlayerObserver.swift
index 4f88b23d87..198a51f5c8 100644
--- a/ios/Video/Features/RCTPlayerObserver.swift
+++ b/ios/Video/Features/RCTPlayerObserver.swift
@@ -284,11 +284,11 @@ class RCTPlayerObserver: NSObject, AVPlayerItemMetadataOutputPushDelegate, AVPla
name: NSNotification.Name.AVPlayerItemFailedToPlayToEndTime,
object: nil)
- NotificationCenter.default.removeObserver(_handlers, name: NSNotification.Name.AVPlayerItemNewAccessLogEntry, object: player?.currentItem)
+ NotificationCenter.default.removeObserver(_handlers, name: AVPlayerItem.newAccessLogEntryNotification, object: player?.currentItem)
NotificationCenter.default.addObserver(_handlers,
selector: #selector(RCTPlayerObserverHandlerObjc.handleAVPlayerAccess(notification:)),
- name: NSNotification.Name.AVPlayerItemNewAccessLogEntry,
+ name: AVPlayerItem.newAccessLogEntryNotification,
object: player?.currentItem)
}
diff --git a/ios/Video/RCTVideo.swift b/ios/Video/RCTVideo.swift
index 3aaf532c8a..7ff1a7e7de 100644
--- a/ios/Video/RCTVideo.swift
+++ b/ios/Video/RCTVideo.swift
@@ -1661,7 +1661,7 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
}
guard let lastEvent = accessLog.events.last else { return }
- onVideoBandwidthUpdate?(["bitrate": lastEvent.observedBitrate, "target": reactTag])
+ onVideoBandwidthUpdate?(["bitrate": lastEvent.indicatedBitrate, "target": reactTag])
}
func handleTracksChange(playerItem _: AVPlayerItem, change _: NSKeyValueObservedChange<[AVPlayerItemTrack]>) {
From 9707081ab90a305c89fb8d68e6751ad0747f2e51 Mon Sep 17 00:00:00 2001
From: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
Date: Wed, 4 Sep 2024 09:53:30 +0200
Subject: [PATCH 11/17] Chore/rework fullscreen configuration (#4142)
* feat(android): handle navigation bar status in full-screen mode
* chore: update default value of prop
* chore(android): rework fullscreen configuration
---------
Co-authored-by: mostafahasani
---
.../brentvatne/common/api/ControlsConfig.kt | 5 +-
.../exoplayer/FullScreenPlayerView.kt | 97 ++++++++++++++++++-
.../exoplayer/ReactExoplayerView.java | 17 ++--
docs/pages/component/props.mdx | 16 +--
examples/basic/package.json | 1 +
examples/basic/src/VideoPlayer.tsx | 12 ++-
examples/basic/yarn.lock | 8 ++
src/specs/VideoNativeComponent.ts | 6 +-
src/types/video.ts | 2 +
9 files changed, 141 insertions(+), 23 deletions(-)
diff --git a/android/src/main/java/com/brentvatne/common/api/ControlsConfig.kt b/android/src/main/java/com/brentvatne/common/api/ControlsConfig.kt
index 52736db2f3..a50482c658 100644
--- a/android/src/main/java/com/brentvatne/common/api/ControlsConfig.kt
+++ b/android/src/main/java/com/brentvatne/common/api/ControlsConfig.kt
@@ -7,6 +7,8 @@ class ControlsConfig {
var hideSeekBar: Boolean = false
var seekIncrementMS: Int = 10000
var hideDuration: Boolean = false
+ var hideNavigationBarOnFullScreenMode: Boolean = true
+ var hideNotificationBarOnFullScreenMode: Boolean = true
companion object {
@JvmStatic
@@ -17,8 +19,9 @@ class ControlsConfig {
config.hideSeekBar = ReactBridgeUtils.safeGetBool(src, "hideSeekBar", false)
config.seekIncrementMS = ReactBridgeUtils.safeGetInt(src, "seekIncrementMS", 10000)
config.hideDuration = ReactBridgeUtils.safeGetBool(src, "hideDuration", false)
+ config.hideNavigationBarOnFullScreenMode = ReactBridgeUtils.safeGetBool(src, "hideNavigationBarOnFullScreenMode", true)
+ config.hideNotificationBarOnFullScreenMode = ReactBridgeUtils.safeGetBool(src, "hideNotificationBarOnFullScreenMode", true)
}
-
return config
}
}
diff --git a/android/src/main/java/com/brentvatne/exoplayer/FullScreenPlayerView.kt b/android/src/main/java/com/brentvatne/exoplayer/FullScreenPlayerView.kt
index 00f9397524..1b9b1ce30c 100644
--- a/android/src/main/java/com/brentvatne/exoplayer/FullScreenPlayerView.kt
+++ b/android/src/main/java/com/brentvatne/exoplayer/FullScreenPlayerView.kt
@@ -6,11 +6,16 @@ import android.content.Context
import android.os.Handler
import android.os.Looper
import android.view.ViewGroup
+import android.view.Window
import android.view.WindowManager
import android.widget.FrameLayout
import android.widget.ImageButton
import androidx.activity.OnBackPressedCallback
+import androidx.core.view.ViewCompat
+import androidx.core.view.WindowInsetsCompat
+import androidx.core.view.WindowInsetsControllerCompat
import androidx.media3.ui.LegacyPlayerControlView
+import com.brentvatne.common.api.ControlsConfig
import com.brentvatne.common.toolbox.DebugLog
import java.lang.ref.WeakReference
@@ -20,14 +25,22 @@ class FullScreenPlayerView(
private val exoPlayerView: ExoPlayerView,
private val reactExoplayerView: ReactExoplayerView,
private val playerControlView: LegacyPlayerControlView?,
- private val onBackPressedCallback: OnBackPressedCallback
-) : Dialog(context, android.R.style.Theme_Black_NoTitleBar_Fullscreen) {
+ private val onBackPressedCallback: OnBackPressedCallback,
+ private val controlsConfig: ControlsConfig
+) : Dialog(context, android.R.style.Theme_Black_NoTitleBar) {
private var parent: ViewGroup? = null
private val containerView = FrameLayout(context)
private val mKeepScreenOnHandler = Handler(Looper.getMainLooper())
private val mKeepScreenOnUpdater = KeepScreenOnUpdater(this)
+ // As this view is fullscreen we need to save initial state and restore it afterward
+ // Following variables save UI state when open the view
+ // restoreUIState, will reapply these values
+ private var initialSystemBarsBehavior: Int? = null
+ private var initialNavigationBarIsVisible: Boolean? = null
+ private var initialNotificationBarIsVisible: Boolean? = null
+
private class KeepScreenOnUpdater(fullScreenPlayerView: FullScreenPlayerView) : Runnable {
private val mFullscreenPlayer = WeakReference(fullScreenPlayerView)
@@ -59,6 +72,15 @@ class FullScreenPlayerView(
init {
setContentView(containerView, generateDefaultLayoutParams())
+
+ window?.let {
+ val inset = WindowInsetsControllerCompat(it, it.decorView)
+ initialSystemBarsBehavior = inset.systemBarsBehavior
+ initialNavigationBarIsVisible = ViewCompat.getRootWindowInsets(it.decorView)
+ ?.isVisible(WindowInsetsCompat.Type.navigationBars()) == true
+ initialNotificationBarIsVisible = ViewCompat.getRootWindowInsets(it.decorView)
+ ?.isVisible(WindowInsetsCompat.Type.statusBars()) == true
+ }
}
override fun onBackPressed() {
super.onBackPressed()
@@ -75,6 +97,7 @@ class FullScreenPlayerView(
parent?.removeView(it)
containerView.addView(it, generateDefaultLayoutParams())
}
+ updateNavigationBarVisibility()
}
override fun onStop() {
@@ -89,6 +112,19 @@ class FullScreenPlayerView(
}
parent?.requestLayout()
parent = null
+ restoreSystemUI()
+ }
+
+ // restore system UI state
+ private fun restoreSystemUI() {
+ window?.let {
+ updateNavigationBarVisibility(
+ it,
+ initialNavigationBarIsVisible,
+ initialNotificationBarIsVisible,
+ initialSystemBarsBehavior
+ )
+ }
}
private fun getFullscreenIconResource(isFullscreen: Boolean): Int =
@@ -127,4 +163,61 @@ class FullScreenPlayerView(
layoutParams.setMargins(0, 0, 0, 0)
return layoutParams
}
+
+ private fun updateBarVisibility(
+ inset: WindowInsetsControllerCompat,
+ type: Int,
+ shouldHide: Boolean?,
+ initialVisibility: Boolean?,
+ systemBarsBehavior: Int? = null
+ ) {
+ shouldHide?.takeIf { it != initialVisibility }?.let {
+ if (it) {
+ inset.hide(type)
+ systemBarsBehavior?.let { behavior -> inset.systemBarsBehavior = behavior }
+ } else {
+ inset.show(type)
+ }
+ }
+ }
+
+ // Move the UI to fullscreen.
+ // if you change this code, remember to check that the UI is well restored in restoreUIState
+ private fun updateNavigationBarVisibility(
+ window: Window,
+ hideNavigationBarOnFullScreenMode: Boolean?,
+ hideNotificationBarOnFullScreenMode: Boolean?,
+ systemBarsBehavior: Int?
+ ) {
+ // Configure the behavior of the hidden system bars.
+ val inset = WindowInsetsControllerCompat(window, window.decorView)
+
+ // Update navigation bar visibility and apply systemBarsBehavior if hiding
+ updateBarVisibility(
+ inset,
+ WindowInsetsCompat.Type.navigationBars(),
+ hideNavigationBarOnFullScreenMode,
+ initialNavigationBarIsVisible,
+ systemBarsBehavior
+ )
+
+ // Update notification bar visibility (no need for systemBarsBehavior here)
+ updateBarVisibility(
+ inset,
+ WindowInsetsCompat.Type.statusBars(),
+ hideNotificationBarOnFullScreenMode,
+ initialNotificationBarIsVisible
+ )
+ }
+
+ private fun updateNavigationBarVisibility() {
+ window?.let {
+ updateNavigationBarVisibility(
+ it,
+ controlsConfig.hideNavigationBarOnFullScreenMode,
+ controlsConfig.hideNotificationBarOnFullScreenMode,
+ WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
+ )
+ }
+ }
}
diff --git a/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java b/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
index c3933ef896..01d6a223b1 100644
--- a/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
+++ b/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
@@ -427,15 +427,6 @@ public void onVisibilityChange(int visibility) {
});
}
- if (fullScreenPlayerView == null) {
- fullScreenPlayerView = new FullScreenPlayerView(getContext(), exoPlayerView, this, playerControlView, new OnBackPressedCallback(true) {
- @Override
- public void handleOnBackPressed() {
- setFullscreen(false);
- }
- });
- }
-
// Setting the player for the playerControlView
playerControlView.setPlayer(player);
playPauseControlContainer = playerControlView.findViewById(R.id.exo_play_pause_container);
@@ -2261,6 +2252,12 @@ public void setFullscreen(boolean fullscreen) {
}
if (isFullscreen) {
+ fullScreenPlayerView = new FullScreenPlayerView(getContext(), exoPlayerView, this, playerControlView, new OnBackPressedCallback(true) {
+ @Override
+ public void handleOnBackPressed() {
+ setFullscreen(false);
+ }
+ }, controlsConfig);
eventEmitter.onVideoFullscreenPlayerWillPresent.invoke();
if (fullScreenPlayerView != null) {
fullScreenPlayerView.show();
@@ -2383,4 +2380,4 @@ public void setControlsStyles(ControlsConfig controlsStyles) {
controlsConfig = controlsStyles;
refreshProgressBarVisibility();
}
-}
+}
\ No newline at end of file
diff --git a/docs/pages/component/props.mdx b/docs/pages/component/props.mdx
index 47971ba83e..655161cde5 100644
--- a/docs/pages/component/props.mdx
+++ b/docs/pages/component/props.mdx
@@ -144,11 +144,13 @@ If needed, you can also add your controls or use a package like [react-native-vi
Adjust the control styles. This prop is need only if `controls={true}` and is an object. See the list of prop supported below.
-| Property | Type | Description |
-|-----------------|---------|-----------------------------------------------------------------------------------------|
-| hideSeekBar | boolean | The default value is `false`, allowing you to hide the seek bar for live broadcasts. |
-| hideDuration | boolean | The default value is `false`, allowing you to hide the duration. |
-| seekIncrementMS | number | The default value is `10000`. You can change the value to increment forward and rewind. |
+| Property | Type | Description |
+|-----------------------------------|---------|--------------------------------------------------------------------------------------------|
+| hideSeekBar | boolean | The default value is `false`, allowing you to hide the seek bar for live broadcasts. |
+| hideDuration | boolean | The default value is `false`, allowing you to hide the duration. |
+| seekIncrementMS | number | The default value is `10000`. You can change the value to increment forward and rewind. |
+| hideNavigationBarOnFullScreenMode | boolean | The default value is `true`, allowing you to hide the navigation bar on full-screen mode. |
+| hideNotificationBarOnFullScreenMode | boolean | The default value is `true`, allowing you to hide the notification bar on full-screen mode. |
Example with default values:
@@ -157,6 +159,8 @@ controlsStyles={{
hideSeekBar: false,
hideDuration: false,
seekIncrementMS: 10000,
+ hideNavigationBarOnFullScreenMode: true,
+ hideNotificationBarOnFullScreenMode: true,
}}
```
@@ -1089,4 +1093,4 @@ Example:
}}
// or other video props
/>
-```
\ No newline at end of file
+```
diff --git a/examples/basic/package.json b/examples/basic/package.json
index 5e0665bcb5..a0fcc35671 100644
--- a/examples/basic/package.json
+++ b/examples/basic/package.json
@@ -17,6 +17,7 @@
"expo": "^51.0.31",
"expo-asset": "~10.0.10",
"expo-image": "^1.12.15",
+ "expo-navigation-bar": "~3.0.7",
"react": "18.2.0",
"react-native": "0.74.5",
"react-native-windows": "0.74.19"
diff --git a/examples/basic/src/VideoPlayer.tsx b/examples/basic/src/VideoPlayer.tsx
index 83e66db762..53e36e2ddf 100644
--- a/examples/basic/src/VideoPlayer.tsx
+++ b/examples/basic/src/VideoPlayer.tsx
@@ -1,8 +1,8 @@
'use strict';
-import React, {type FC, useCallback, useRef, useState} from 'react';
+import React, {type FC, useCallback, useRef, useState, useEffect} from 'react';
-import {Platform, TouchableOpacity, View} from 'react-native';
+import {Platform, TouchableOpacity, View, StatusBar} from 'react-native';
import Video, {
VideoRef,
@@ -36,6 +36,7 @@ import styles from './styles';
import {type AdditionalSourceInfo} from './types';
import {bufferConfig, srcList, textTracksSelectionBy} from './constants';
import {Overlay, toast, VideoLoader} from './components';
+import * as NavigationBar from 'expo-navigation-bar';
type Props = NonNullable;
@@ -104,6 +105,10 @@ const VideoPlayer: FC = ({}) => {
goToChannel((srcListId + srcList.length - 1) % srcList.length);
}, [goToChannel, srcListId]);
+ useEffect(() => {
+ NavigationBar.setVisibilityAsync('visible');
+ }, []);
+
const onAudioTracks = (data: OnAudioTracksData) => {
const selectedTrack = data.audioTracks?.find((x: AudioTrack) => {
return x.selected;
@@ -226,6 +231,8 @@ const VideoPlayer: FC = ({}) => {
return (
+
+
{(srcList[srcListId] as AdditionalSourceInfo)?.noView ? null : (
)}
diff --git a/examples/basic/yarn.lock b/examples/basic/yarn.lock
index a1cfcd486f..53ab63b8ef 100644
--- a/examples/basic/yarn.lock
+++ b/examples/basic/yarn.lock
@@ -4893,6 +4893,14 @@ expo-modules-core@1.12.23:
dependencies:
invariant "^2.2.4"
+expo-navigation-bar@~3.0.7:
+ version "3.0.7"
+ resolved "https://registry.yarnpkg.com/expo-navigation-bar/-/expo-navigation-bar-3.0.7.tgz#1830a302a89fa5c26cb27ce4cf6ac6c1d22907ff"
+ integrity sha512-KCNHyZ58zoN4xdy7D1lUdJvveCYNVQHGSX4M6xO/SZypvI6GZbLzKSN6Lx4GDGEFxG6Kb+EAckZl48tSiNeGYQ==
+ dependencies:
+ "@react-native/normalize-colors" "0.74.85"
+ debug "^4.3.2"
+
expo@^51.0.31:
version "51.0.31"
resolved "https://registry.yarnpkg.com/expo/-/expo-51.0.31.tgz#edd623e718705d88681406e72869076dfeb485ff"
diff --git a/src/specs/VideoNativeComponent.ts b/src/specs/VideoNativeComponent.ts
index 82b92745a8..ce722fb336 100644
--- a/src/specs/VideoNativeComponent.ts
+++ b/src/specs/VideoNativeComponent.ts
@@ -294,9 +294,11 @@ export type OnAudioFocusChangedData = Readonly<{
}>;
type ControlsStyles = Readonly<{
- hideSeekBar?: boolean;
- hideDuration?: boolean;
+ hideSeekBar?: WithDefault;
+ hideDuration?: WithDefault;
seekIncrementMS?: Int32;
+ hideNavigationBarOnFullScreenMode?: WithDefault;
+ hideNotificationBarOnFullScreenMode?: WithDefault;
}>;
export type OnControlsVisibilityChange = Readonly<{
diff --git a/src/types/video.ts b/src/types/video.ts
index b34becb5e0..0fbc9b72b8 100644
--- a/src/types/video.ts
+++ b/src/types/video.ts
@@ -248,6 +248,8 @@ export type ControlsStyles = {
hideSeekBar?: boolean;
hideDuration?: boolean;
seekIncrementMS?: number;
+ hideNavigationBarOnFullScreenMode?: boolean;
+ hideNotificationBarOnFullScreenMode?: boolean;
};
export interface ReactVideoProps extends ReactVideoEvents, ViewProps {
From 22c21ad249879fe4ff8fb119384ebc82766106c3 Mon Sep 17 00:00:00 2001
From: whdudtod1273 <52160645+whdudtod1273@users.noreply.github.com>
Date: Wed, 4 Sep 2024 16:54:08 +0900
Subject: [PATCH 12/17] feat: Correct isBehindLiveWindow Error Handling (#4143)
* feat: Correct isBehindLiveWindow Error Handling
---------
Co-authored-by: young
---
.../java/com/brentvatne/exoplayer/ReactExoplayerView.java | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java b/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
index 01d6a223b1..8c2e2e146b 100644
--- a/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
+++ b/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
@@ -1733,7 +1733,10 @@ public void onPlayerError(@NonNull PlaybackException e) {
playerNeedsSource = true;
if (isBehindLiveWindow(e)) {
clearResumePosition();
- initializePlayer();
+ if (player != null) {
+ player.seekToDefaultPosition();
+ player.prepare();
+ }
} else {
updateResumePosition();
}
From b66d2fe146d7d2a3a01f0c6e1e6d4c912f0fc36b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kamil=20Moska=C5=82a?=
<91079590+moskalakamil@users.noreply.github.com>
Date: Wed, 4 Sep 2024 11:08:49 +0200
Subject: [PATCH 13/17] docs: add ios platform for `onBandwidthUpdate` callback
(#4145)
---
docs/pages/component/events.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/pages/component/events.mdx b/docs/pages/component/events.mdx
index 8326c5e6c6..3552d4b403 100644
--- a/docs/pages/component/events.mdx
+++ b/docs/pages/component/events.mdx
@@ -67,7 +67,7 @@ Example:
### `onBandwidthUpdate`
-
+
Callback function that is called when the available bandwidth changes.
From b871d937a35a48e69f7999f91e414bf86f987208 Mon Sep 17 00:00:00 2001
From: Olivier Bouillet
Date: Wed, 4 Sep 2024 11:47:49 +0200
Subject: [PATCH 14/17] chore: release v6.5.0
---
CHANGELOG.md | 27 +++++++++++++++++++++++++++
package.json | 2 +-
2 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a9970c14fe..8b15ee6b05 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,32 @@
+# [6.5.0](https://github.com/TheWidlarzGroup/react-native-video/compare/v6.4.5...v6.5.0) (2024-09-04)
+
+
+### Bug Fixes
+
+* **android:** show the status bar and navigation bar after exiting full-screen mode ([#4112](https://github.com/TheWidlarzGroup/react-native-video/issues/4112)) ([8b8ebe9](https://github.com/TheWidlarzGroup/react-native-video/commit/8b8ebe9410e95085e5602393c2ce3de814df4a96))
+* **android:** add subtitleStyle.subtitlesFollowVideo prop to control subtitles positionning ([#4133](https://github.com/TheWidlarzGroup/react-native-video/issues/4133)) ([2fa6c43](https://github.com/TheWidlarzGroup/react-native-video/commit/2fa6c43615c1bc0a3bbcb5f472ffaeb8ae16a1af))
+* **android:** hide surfaceView for loading time when shutter is hidden ([#4060](https://github.com/TheWidlarzGroup/react-native-video/issues/4060)) ([65faba3](https://github.com/TheWidlarzGroup/react-native-video/commit/65faba312d23de981972d2b6ffecefbc87ecac61))
+* **expo-plugin:** adding bg mode if none exist yet ([#4126](https://github.com/TheWidlarzGroup/react-native-video/issues/4126)) ([451806c](https://github.com/TheWidlarzGroup/react-native-video/commit/451806c547591fbe5714b133e704ffac9efb05d8))
+* **ios:** Add handler for Earpods play/pause command ([#4116](https://github.com/TheWidlarzGroup/react-native-video/issues/4116)) ([9c38d9f](https://github.com/TheWidlarzGroup/react-native-video/commit/9c38d9f4ef42c3e275ee39a08aa227e6b976fdb2))
+* **ios:** build fail due to an unwrapped value ([#4101](https://github.com/TheWidlarzGroup/react-native-video/issues/4101)) ([0a1085c](https://github.com/TheWidlarzGroup/react-native-video/commit/0a1085ce03152d58d98da408dbe79e76fa5ebc1a))
+* **ios:** ensure behavior is correct with empty text track list ([#4123](https://github.com/TheWidlarzGroup/react-native-video/issues/4123)) ([3a32d67](https://github.com/TheWidlarzGroup/react-native-video/commit/3a32d67087c39bcf7904043d15a2fdba65307f4e))
+* **ios:** ensure we don't disable tracks when not necessary (causes black screen) ([#4130](https://github.com/TheWidlarzGroup/react-native-video/issues/4130)) ([89df9d6](https://github.com/TheWidlarzGroup/react-native-video/commit/89df9d69ff96f7d6ff3d493bf1a3eb9c3da51c3c))
+* **ios:** fix onBandwidth update event (old ios api is deprecated and doens't work) ([#4140](https://github.com/TheWidlarzGroup/react-native-video/issues/4140)) ([d6bae3c](https://github.com/TheWidlarzGroup/react-native-video/commit/d6bae3cd076018f07556ab27af2779479bc7ff7d))
+* **sample:** update dependencies to fix local asset playback ([#4121](https://github.com/TheWidlarzGroup/react-native-video/issues/4121)) ([7a2b401](https://github.com/TheWidlarzGroup/react-native-video/commit/7a2b4014f40758a025fcd6b388448d3559ec6a4a))
+* set does not have `find` method ([#4110](https://github.com/TheWidlarzGroup/react-native-video/issues/4110)) ([7db7024](https://github.com/TheWidlarzGroup/react-native-video/commit/7db7024cb36ea34289fddf5c7f66e7b4d7827146))
+* **tvos:** fix build (and update sample) ([#4134](https://github.com/TheWidlarzGroup/react-native-video/issues/4134)) ([688d98d](https://github.com/TheWidlarzGroup/react-native-video/commit/688d98d68f888a59bde1ee33aa844ac63c9026a5))
+* **VisionOS:** do not access to isExternalPlaybackActive on VisionOS ([#4109](https://github.com/TheWidlarzGroup/react-native-video/issues/4109)) ([0576eac](https://github.com/TheWidlarzGroup/react-native-video/commit/0576eacfddb32c4dcc072b6fd3cbf74cf25946a4))
+
+
+### Features
+
+* add ads localize ([#4113](https://github.com/TheWidlarzGroup/react-native-video/issues/4113)) ([703ed43](https://github.com/TheWidlarzGroup/react-native-video/commit/703ed4399667e0142704d19686563dd62fb4883d))
+* **android:** Support Common Media Client Data (CMCD) ([#4034](https://github.com/TheWidlarzGroup/react-native-video/issues/4034)) ([ca795f2](https://github.com/TheWidlarzGroup/react-native-video/commit/ca795f298a99a183b81561ef7e09d8d1e8addaf5))
+* **android:** support hiding Exoplayer video duration on android ([#4090](https://github.com/TheWidlarzGroup/react-native-video/issues/4090)) ([41e2bed](https://github.com/TheWidlarzGroup/react-native-video/commit/41e2bed6b36f74a28d7dd640414c6d5ccbec0399))
+* Correct isBehindLiveWindow Error Handling ([#4143](https://github.com/TheWidlarzGroup/react-native-video/issues/4143)) ([22c21ad](https://github.com/TheWidlarzGroup/react-native-video/commit/22c21ad249879fe4ff8fb119384ebc82766106c3))
+
## [6.4.5](https://github.com/TheWidlarzGroup/react-native-video/compare/v6.4.4...v6.4.5) (2024-08-17)
diff --git a/package.json b/package.json
index 6049f8cd8f..02cbbfd1c2 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "react-native-video",
- "version": "6.4.5",
+ "version": "6.5.0",
"description": "A element for react-native",
"main": "lib/index",
"source": "src/index",
From bee4123402f4bc08dd2eb19ab0011ffdc795d0e3 Mon Sep 17 00:00:00 2001
From: Gunnar Carlson
Date: Thu, 5 Sep 2024 03:41:27 -0500
Subject: [PATCH 15/17] fix(ios): losing subtitle selection on foreground
(#3707)
---
ios/Video/RCTVideo.swift | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/ios/Video/RCTVideo.swift b/ios/Video/RCTVideo.swift
index 7ff1a7e7de..a26f760155 100644
--- a/ios/Video/RCTVideo.swift
+++ b/ios/Video/RCTVideo.swift
@@ -933,9 +933,12 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
setMaxBitRate(_maxBitRate)
}
+ if _selectedTextTrackCriteria != nil {
+ setSelectedTextTrack(_selectedTextTrackCriteria)
+ }
+
setAudioOutput(_audioOutput)
setSelectedAudioTrack(_selectedAudioTrackCriteria)
- setSelectedTextTrack(_selectedTextTrackCriteria)
setResizeMode(_resizeMode)
setRepeat(_repeat)
setControls(_controls)
From 4a2beaa147d8d60898f42ece6c6bd43ded9694ad Mon Sep 17 00:00:00 2001
From: Seyed Mostafa Hasani
Date: Fri, 6 Sep 2024 01:42:22 +0330
Subject: [PATCH 16/17] chore(android): remove onBackPressed function in
FullScreenPlayerView (#4049)
Co-authored-by: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
---
.../java/com/brentvatne/exoplayer/FullScreenPlayerView.kt | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/android/src/main/java/com/brentvatne/exoplayer/FullScreenPlayerView.kt b/android/src/main/java/com/brentvatne/exoplayer/FullScreenPlayerView.kt
index 1b9b1ce30c..e6bad1b0a9 100644
--- a/android/src/main/java/com/brentvatne/exoplayer/FullScreenPlayerView.kt
+++ b/android/src/main/java/com/brentvatne/exoplayer/FullScreenPlayerView.kt
@@ -82,10 +82,6 @@ class FullScreenPlayerView(
?.isVisible(WindowInsetsCompat.Type.statusBars()) == true
}
}
- override fun onBackPressed() {
- super.onBackPressed()
- onBackPressedCallback.handleOnBackPressed()
- }
override fun onStart() {
super.onStart()
@@ -112,6 +108,7 @@ class FullScreenPlayerView(
}
parent?.requestLayout()
parent = null
+ onBackPressedCallback.handleOnBackPressed()
restoreSystemUI()
}
From e18769ab3a6a7f4ebc459ab550f105f4d18f8201 Mon Sep 17 00:00:00 2001
From: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
Date: Fri, 6 Sep 2024 09:45:24 +0200
Subject: [PATCH 17/17] fix(sample): remove warning on ios with NavigationBar
(#4148)
* fix(sample): remove warning on ios with NavigationBar
---
examples/basic/src/VideoPlayer.tsx | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/examples/basic/src/VideoPlayer.tsx b/examples/basic/src/VideoPlayer.tsx
index 53e36e2ddf..18d557ae33 100644
--- a/examples/basic/src/VideoPlayer.tsx
+++ b/examples/basic/src/VideoPlayer.tsx
@@ -34,7 +34,7 @@ import Video, {
} from 'react-native-video';
import styles from './styles';
import {type AdditionalSourceInfo} from './types';
-import {bufferConfig, srcList, textTracksSelectionBy} from './constants';
+import {bufferConfig, isAndroid, srcList, textTracksSelectionBy} from './constants';
import {Overlay, toast, VideoLoader} from './components';
import * as NavigationBar from 'expo-navigation-bar';
@@ -106,7 +106,9 @@ const VideoPlayer: FC = ({}) => {
}, [goToChannel, srcListId]);
useEffect(() => {
- NavigationBar.setVisibilityAsync('visible');
+ if (isAndroid) {
+ NavigationBar.setVisibilityAsync('visible');
+ }
}, []);
const onAudioTracks = (data: OnAudioTracksData) => {