diff --git a/p2p-webrtc/video-transform/client/react-native/package.json b/p2p-webrtc/video-transform/client/react-native/package.json index 2c79f15..0e71d2e 100644 --- a/p2p-webrtc/video-transform/client/react-native/package.json +++ b/p2p-webrtc/video-transform/client/react-native/package.json @@ -13,7 +13,7 @@ "@daily-co/react-native-daily-js": "^0.82.0", "@daily-co/react-native-webrtc": "^124.0.6-daily.1", "@pipecat-ai/react-native-daily-media-manager": "^0.0.1", - "@pipecat-ai/react-native-small-webrtc-transport": "^1.4.0", + "@pipecat-ai/react-native-small-webrtc-transport": "^1.4.1", "@react-native-async-storage/async-storage": "1.24.0", "@react-navigation/native": "^7.1.19", "@react-navigation/stack": "^7.6.1", diff --git a/p2p-webrtc/video-transform/client/react-native/src/context/VoiceClientContext.tsx b/p2p-webrtc/video-transform/client/react-native/src/context/VoiceClientContext.tsx index faa7465..c573f0c 100644 --- a/p2p-webrtc/video-transform/client/react-native/src/context/VoiceClientContext.tsx +++ b/p2p-webrtc/video-transform/client/react-native/src/context/VoiceClientContext.tsx @@ -60,8 +60,6 @@ export const VoiceClientProvider: React.FC = ({ childr const [localVideoTrack, setLocalVideoTrack] = useState() const [remoteVideoTrack, setRemoteVideoTrack] = useState() const [localAudioLevel, setLocalAudioLevel] = useState(0) - // For controlling mock audio timer: - const mockAudioTimer = useRef(null) const botSpeakingRef = useRef(false) // Live messages to the chat const [messages, setMessages] = useState([]) @@ -75,23 +73,6 @@ export const VoiceClientProvider: React.FC = ({ childr }) }, []) - // --- mock audio logic while SmallWebRTC does not support audio level --- - const startMockAudioLevel = useCallback(() => { - if (mockAudioTimer.current) return; - mockAudioTimer.current = setInterval(() => { - // Simulate value between 0.1 and 1.0 (e.g. for "speaking" user) - setLocalAudioLevel(Math.random() * 0.8 + 0.2) - }, 100) - }, []) - - const stopMockAudioLevel = useCallback(() => { - if (mockAudioTimer.current) { - clearInterval(mockAudioTimer.current) - mockAudioTimer.current = null - } - setLocalAudioLevel(0) - }, []) - const createVoiceClient = useCallback((): PipecatClient => { const inCallStates = new Set(["authenticating", "authenticated", "connecting", "connected", "ready"]) const options: SmallWebRTCTransportConstructorOptions = { @@ -118,17 +99,14 @@ export const VoiceClientProvider: React.FC = ({ childr setIsMicEnabled(false) setIsCamEnabled(false) }, - // TODO: SmallWebRTC doesn't support this event yet. - /*onLocalAudioLevel: (level: number) => { + onLocalAudioLevel: (level: number) => { setLocalAudioLevel(level) - },*/ + }, onUserStartedSpeaking:() => { createLiveMessage("User started speaking", "system") - startMockAudioLevel() }, onUserStoppedSpeaking:() => { createLiveMessage("User stopped speaking", "system") - stopMockAudioLevel() }, onUserTranscript:(data) => { createLiveMessage(data.text, "user") @@ -173,7 +151,7 @@ export const VoiceClientProvider: React.FC = ({ childr }, }) return client - }, [handleError, startMockAudioLevel, stopMockAudioLevel]) + }, [handleError]) const start = useCallback(async (url: string, authorizationToken:string): Promise => { resetLiveMessages() @@ -272,13 +250,6 @@ export const VoiceClientProvider: React.FC = ({ childr } }, [voiceClient]) - // Cleanup interval when unmounting - useEffect(() => { - return () => { - if (mockAudioTimer.current) clearInterval(mockAudioTimer.current) - } - }, []) - const contextValue = useMemo(() => ({ voiceClient, inCall, diff --git a/p2p-webrtc/video-transform/client/react-native/yarn.lock b/p2p-webrtc/video-transform/client/react-native/yarn.lock index 13fdaba..e6f2055 100644 --- a/p2p-webrtc/video-transform/client/react-native/yarn.lock +++ b/p2p-webrtc/video-transform/client/react-native/yarn.lock @@ -816,10 +816,10 @@ dependencies: "@types/hammerjs" "^2.0.36" -"@expo/cli@54.0.15": - version "54.0.15" - resolved "https://registry.yarnpkg.com/@expo/cli/-/cli-54.0.15.tgz#63ca51d082fe0d683482c320f9b827c1637c01cb" - integrity sha512-tgaKFeYNRjZssPueZMm1+2cRek6mxEsthPoBX6NzQeDlzIzYBBpnAR6xH95UO6A7r0vduBeL2acIAV1Y5aSGJQ== +"@expo/cli@54.0.16": + version "54.0.16" + resolved "https://registry.yarnpkg.com/@expo/cli/-/cli-54.0.16.tgz#62e49a7a2f790cdd412731dab980b38bf69f21db" + integrity sha512-hY/OdRaJMs5WsVPuVSZ+RLH3VObJmL/pv5CGCHEZHN2PxZjSZSdctyKV8UcFBXTF0yIKNAJ9XLs1dlNYXHh4Cw== dependencies: "@0no-co/graphql.web" "^1.0.8" "@expo/code-signing-certificates" "^0.0.5" @@ -831,7 +831,7 @@ "@expo/json-file" "^10.0.7" "@expo/mcp-tunnel" "~0.1.0" "@expo/metro" "~54.1.0" - "@expo/metro-config" "~54.0.8" + "@expo/metro-config" "~54.0.9" "@expo/osascript" "^2.3.7" "@expo/package-manager" "^1.9.8" "@expo/plist" "^0.4.7" @@ -1048,10 +1048,10 @@ zod "^3.25.76" zod-to-json-schema "^3.24.6" -"@expo/metro-config@54.0.8", "@expo/metro-config@~54.0.8": - version "54.0.8" - resolved "https://registry.yarnpkg.com/@expo/metro-config/-/metro-config-54.0.8.tgz#7e5bf551b23e8f4c8ec20504184e0a9988ffa86e" - integrity sha512-rCkDQ8IT6sgcGNy48O2cTE4NlazCAgAIsD5qBsNPJLZSS0XbaILvAgGsFt/4nrx0GMGj6iQcOn5ifwV4NssTmw== +"@expo/metro-config@54.0.9", "@expo/metro-config@~54.0.9": + version "54.0.9" + resolved "https://registry.yarnpkg.com/@expo/metro-config/-/metro-config-54.0.9.tgz#e3d8cecb803d536ee80de0e844a5768773d34b0f" + integrity sha512-CRI4WgFXrQ2Owyr8q0liEBJveUIF9DcYAKadMRsJV7NxGNBdrIIKzKvqreDfsGiRqivbLsw6UoNb3UE7/SvPfg== dependencies: "@babel/code-frame" "^7.20.0" "@babel/core" "^7.20.0" @@ -1357,10 +1357,10 @@ resolved "https://registry.yarnpkg.com/@pipecat-ai/react-native-daily-media-manager/-/react-native-daily-media-manager-0.0.1.tgz#b05dde837dffc4ccd5b41addbfae2ffc43b47dc6" integrity sha512-7QOz+vbjFOxMQJ4D45Q9mvc3KBZJjXDguhDACxWnkJYic92VKMkom9fT6lGNoAPFEbBT5jV0DeIdcGHrLMk0ZA== -"@pipecat-ai/react-native-small-webrtc-transport@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@pipecat-ai/react-native-small-webrtc-transport/-/react-native-small-webrtc-transport-1.4.0.tgz#10051f8c571a166120773574a26ccd6fb9f6ef3e" - integrity sha512-kF/W5xzRstp1XPOArOuKUAtJsPCGWIBnAMiasRYvlRt1t1Ops6kx9Rb7Km/LLF0Lg0bfZCOmSKl/7wzS65x4wg== +"@pipecat-ai/react-native-small-webrtc-transport@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@pipecat-ai/react-native-small-webrtc-transport/-/react-native-small-webrtc-transport-1.4.1.tgz#81771a7fe63ee791b6fa5fb988b5a472df87210b" + integrity sha512-x0yvX6+CI2DXHZt4nN41+FAJHnmKew1emI1WUOz6PvcfVgSnyMUX5w/bUGD+7XpXMudOqiba1ubIerZBw9S0og== dependencies: "@pipecat-ai/client-js" "^1.4.0" lodash "^4.17.21" @@ -1597,10 +1597,10 @@ invariant "^2.2.4" nullthrows "^1.1.1" -"@react-navigation/core@^7.13.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-7.13.0.tgz#71577637cc32626e208fa994fc13e77394b17932" - integrity sha512-Fc/SO23HnlGnkou/z8JQUzwEMvhxuUhr4rdPTIZp/c8q1atq3k632Nfh8fEiGtk+MP1wtIvXdN2a5hBIWpLq3g== +"@react-navigation/core@^7.13.1": + version "7.13.1" + resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-7.13.1.tgz#ad013f2adcd8604e947dc8c6e52e8fbfc97a6582" + integrity sha512-aPf1vjQhMytPC9CmJu28hT5eTaBJuqIf9T6IRICtap5HHgFLrsYizLZrg3D0H2AoPyOoijMPWzwf7VCBzfGvrg== dependencies: "@react-navigation/routers" "^7.5.1" escape-string-regexp "^4.0.0" @@ -1611,21 +1611,21 @@ use-latest-callback "^0.2.4" use-sync-external-store "^1.5.0" -"@react-navigation/elements@^2.8.1": - version "2.8.1" - resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-2.8.1.tgz#4df96e0219a2ed0be20d5452297835e632aaa6f9" - integrity sha512-MLmuS5kPAeAFFOylw89WGjgEFBqGj/KBK6ZrFrAOqLnTqEzk52/SO1olb5GB00k6ZUCDZKJOp1BrLXslxE6TgQ== +"@react-navigation/elements@^2.8.2": + version "2.8.2" + resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-2.8.2.tgz#7aa74ac3870303bc86e12c09c3e821efdc63bf03" + integrity sha512-K5NWIMar81oAoRAgLwrWcLpXzY2K5yG3gNU/56uyC12u+i5SyIVAv+ygP36UXvrNLzDigg8OdRSdEBb8ePqQtA== dependencies: color "^4.2.3" use-latest-callback "^0.2.4" use-sync-external-store "^1.5.0" "@react-navigation/native@^7.1.19": - version "7.1.19" - resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-7.1.19.tgz#f147e412a9f4a5c5eed85b4bde25171d0ce0297b" - integrity sha512-fM7q8di4Q8sp2WUhiUWOe7bEDRyRhbzsKQOd5N2k+lHeCx3UncsRYuw4Q/KN0EovM3wWKqMMmhy/YWuEO04kgw== + version "7.1.20" + resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-7.1.20.tgz#60e83c62482e1203f72e9ad68c84c7bb81cb98c3" + integrity sha512-15luFq+35M2IOMHgbTJ0XDkPY7gm3YlR3yQKTuOTOHs+EeAUX71DlUuqcWMRqB0tt+OT6HimDQR7OboTB0N30g== dependencies: - "@react-navigation/core" "^7.13.0" + "@react-navigation/core" "^7.13.1" escape-string-regexp "^4.0.0" fast-deep-equal "^3.1.3" nanoid "^3.3.11" @@ -1639,12 +1639,13 @@ nanoid "^3.3.11" "@react-navigation/stack@^7.6.1": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@react-navigation/stack/-/stack-7.6.2.tgz#cb1d0d380f11ca619954b0b08988a9069de306d2" - integrity sha512-DVWYYTj5/QXYlFuO8Y232aDcJ4SFABQs9m99BYPs+hepjXzXivva9L4rbmsymFtqEPASx69dzX+nIKzlnxyqpw== + version "7.6.4" + resolved "https://registry.yarnpkg.com/@react-navigation/stack/-/stack-7.6.4.tgz#981f73407769c83cabf6bf74cbe2fa3631b1fe08" + integrity sha512-KweDIIFcSyG8x2ylyC1V+u6T5GpykPra9WoOOH7Ijoumvxuda6UETOoJPX5h/DUZKM5ve7mIfv7oXpbH9Ik/Jg== dependencies: - "@react-navigation/elements" "^2.8.1" + "@react-navigation/elements" "^2.8.2" color "^4.2.3" + use-latest-callback "^0.2.4" "@sentry-internal/browser-utils@8.55.0": version "8.55.0" @@ -1781,9 +1782,9 @@ "@types/istanbul-lib-report" "*" "@types/node@*": - version "24.10.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-24.10.0.tgz#6b79086b0dfc54e775a34ba8114dcc4e0221f31f" - integrity sha512-qzQZRBqkFsYyaSWXuEHc2WR9c0a0CXwiE5FWUvn7ZM+vdy1uZLfCunD38UzhuB7YN/J11ndbDBcTmOdxJo9Q7A== + version "24.10.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-24.10.1.tgz#91e92182c93db8bd6224fca031e2370cef9a8f01" + integrity sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ== dependencies: undici-types "~7.16.0" @@ -1817,9 +1818,9 @@ integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== "@types/yargs@^17.0.8": - version "17.0.34" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.34.tgz#1c2f9635b71d5401827373a01ce2e8a7670ea839" - integrity sha512-KExbHVa92aJpw9WDQvzBaGVE2/Pz+pLZQloT2hjL8IqsZnV62rlPOYvNnLmf/L2dyllfVUOVBj64M0z/46eR2A== + version "17.0.35" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.35.tgz#07013e46aa4d7d7d50a49e15604c1c5340d4eb24" + integrity sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg== dependencies: "@types/yargs-parser" "*" @@ -2087,10 +2088,10 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" -babel-preset-expo@~54.0.6: - version "54.0.6" - resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-54.0.6.tgz#a0158c7a4eb7f52c8830d6e2bfdfa329043eaee2" - integrity sha512-GxJfwnuOPQJbzDe5WASJZdNQiukLw7i9z+Lh6JQWkUHXsShHyQrqgiKE55MD/KaP9VqJ70yZm7bYqOu8zwcWqQ== +babel-preset-expo@~54.0.7: + version "54.0.7" + resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-54.0.7.tgz#451e5860ed13bc2496ad0acd9aa3bd1b8ea5f17b" + integrity sha512-JENWk0bvxW4I1ftveO8GRtX2t2TH6N4Z0TPvIHxroZ/4SswUfyNsUNbbP7Fm4erj3ar/JHGri5kTZ+s3xdjHZw== dependencies: "@babel/helper-module-imports" "^7.25.9" "@babel/plugin-proposal-decorators" "^7.12.9" @@ -2138,10 +2139,10 @@ base64-js@1.5.1, base64-js@^1.2.3, base64-js@^1.3.1, base64-js@^1.5.1: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -baseline-browser-mapping@^2.8.19: - version "2.8.25" - resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.8.25.tgz#947dc6f81778e0fa0424a2ab9ea09a3033e71109" - integrity sha512-2NovHVesVF5TXefsGX1yzx1xgr7+m9JQenvz6FQY3qd+YXkKkYiv+vTCc7OriP9mcDZpTC5mAOYN4ocd29+erA== +baseline-browser-mapping@^2.8.25: + version "2.8.28" + resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.8.28.tgz#9ef511f5a7c19d74a94cafcbf951608398e9bdb3" + integrity sha512-gYjt7OIqdM0PcttNYP2aVrr2G0bMALkBaoehD4BuRGjAOtipg0b6wHg1yNL+s5zSnLZZrGHOw4IrND8CD+3oIQ== better-opn@~3.0.2: version "3.0.2" @@ -2204,14 +2205,14 @@ braces@^3.0.3: fill-range "^7.1.1" browserslist@^4.24.0, browserslist@^4.25.0, browserslist@^4.26.3: - version "4.27.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.27.0.tgz#755654744feae978fbb123718b2f139bc0fa6697" - integrity sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw== - dependencies: - baseline-browser-mapping "^2.8.19" - caniuse-lite "^1.0.30001751" - electron-to-chromium "^1.5.238" - node-releases "^2.0.26" + version "4.28.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.28.0.tgz#9cefece0a386a17a3cd3d22ebf67b9deca1b5929" + integrity sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ== + dependencies: + baseline-browser-mapping "^2.8.25" + caniuse-lite "^1.0.30001754" + electron-to-chromium "^1.5.249" + node-releases "^2.0.27" update-browserslist-db "^1.1.4" bser@2.1.1: @@ -2249,10 +2250,10 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001751: - version "1.0.30001754" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001754.tgz#7758299d9a72cce4e6b038788a15b12b44002759" - integrity sha512-x6OeBXueoAceOmotzx3PO4Zpt4rzpeIFsSr6AAePTZxSkXiYDUmpypEl7e2+8NCd9bD7bXjqyef8CJYPC1jfxg== +caniuse-lite@^1.0.30001754: + version "1.0.30001755" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001755.tgz#c01cfb1c30f5acf1229391666ec03492f4c332ff" + integrity sha512-44V+Jm6ctPj7R52Na4TLi3Zri4dWUljJd+RDm+j8LtNCc/ihLCT+X1TzoOAkRETEWqjuLnh9581Tl80FvK7jVA== chalk@^2.0.1, chalk@^2.4.2: version "2.4.2" @@ -2465,9 +2466,9 @@ crypto-random-string@^2.0.0: integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== csstype@^3.0.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + version "3.2.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.2.3.tgz#ec48c0f3e993e50648c86da559e2610995cf989a" + integrity sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ== debug@2.6.9, debug@^2.6.9: version "2.6.9" @@ -2564,10 +2565,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.5.238: - version "1.5.246" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.246.tgz#5b69ea08d1142f78b71c47440324530c83d25f78" - integrity sha512-CKp2enkTcw94o8p7P+nb3in3yILO7jAIoERSmkIhGazMuK2eLnPSVUH/dxUveGN8ulJJDjYUv0vV7y2e2AZ0nA== +electron-to-chromium@^1.5.249: + version "1.5.254" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.254.tgz#94b84c0a5faff94b334536090a9dec1c74b10130" + integrity sha512-DcUsWpVhv9svsKRxnSCZ86SjD+sp32SGidNB37KpqXJncp1mfUgKbHvBomE89WJDbfVKw1mdv5+ikrvd43r+Bg== emoji-regex@^8.0.0: version "8.0.0" @@ -2697,10 +2698,10 @@ expo-keep-awake@~15.0.7: resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-15.0.7.tgz#4eada556e1cca6c9c2e5aa39478fd01816cd0bc9" integrity sha512-CgBNcWVPnrIVII5G54QDqoE125l+zmqR4HR8q+MQaCfHet+dYpS5vX5zii/RMayzGN4jPgA4XYIQ28ePKFjHoA== -expo-modules-autolinking@3.0.20: - version "3.0.20" - resolved "https://registry.yarnpkg.com/expo-modules-autolinking/-/expo-modules-autolinking-3.0.20.tgz#d29fc6d642d98649ea1f0a2a971d60152986851d" - integrity sha512-W4XFE/A2ijrqvXYrwXug+cUQl6ALYKtsrGnd+xdnoZ+yC7HZag45CJ9mXR0qfLpwXxuBu0HDFh/a+a1MD0Ppdg== +expo-modules-autolinking@3.0.21: + version "3.0.21" + resolved "https://registry.yarnpkg.com/expo-modules-autolinking/-/expo-modules-autolinking-3.0.21.tgz#a516453184c284f94aaec48cd5d9b0123a914701" + integrity sha512-pOtPDLln3Ju8DW1zRW4OwZ702YqZ8g+kM/tEY1sWfv22kWUtxkvK+ytRDRpRdnKEnC28okbhWqeMnmVkSFzP6Q== dependencies: "@expo/spawn-async" "^1.7.2" chalk "^4.1.0" @@ -2708,10 +2709,10 @@ expo-modules-autolinking@3.0.20: require-from-string "^2.0.2" resolve-from "^5.0.0" -expo-modules-core@3.0.24: - version "3.0.24" - resolved "https://registry.yarnpkg.com/expo-modules-core/-/expo-modules-core-3.0.24.tgz#9e078938a9c081c87d827898a723ecf9016e2635" - integrity sha512-wmL0R3WVM2WEs0UJcq/rF1FKXbSrPmXozgzhCUujrb+crkW8p7Y/qKyPBAQwdwcqipuWYaFOgO49AdQ36jmvkA== +expo-modules-core@3.0.25: + version "3.0.25" + resolved "https://registry.yarnpkg.com/expo-modules-core/-/expo-modules-core-3.0.25.tgz#5fc7c748fbba3d21b8b790144987074f89a2ee48" + integrity sha512-0P8PT8UV6c5/+p8zeVM/FXvBgn/ErtGcMaasqUgbzzBUg94ktbkIrij9t9reGCrir03BYt/Bcpv+EQtYC8JOug== dependencies: invariant "^2.2.4" @@ -2728,28 +2729,28 @@ expo-status-bar@~3.0.8: react-native-is-edge-to-edge "^1.2.1" expo@~54.0.21: - version "54.0.22" - resolved "https://registry.yarnpkg.com/expo/-/expo-54.0.22.tgz#1615f35b2b46ca2bc9109482f1bd6e64eab30858" - integrity sha512-w8J89M9BdVwo6urwvPeV4nAUwykv9si1UHUfZvSVWQ/b2aGs0Ci/a5RZ550rdEBgJXZAapIAhdW2M28Ojw+oGg== + version "54.0.23" + resolved "https://registry.yarnpkg.com/expo/-/expo-54.0.23.tgz#6364f0c75221d13a75b83b3fa9cb301ed4a482b0" + integrity sha512-b4uQoiRwQ6nwqsT2709RS15CWYNGF3eJtyr1KyLw9WuMAK7u4jjofkhRiO0+3o1C2NbV+WooyYTOZGubQQMBaQ== dependencies: "@babel/runtime" "^7.20.0" - "@expo/cli" "54.0.15" + "@expo/cli" "54.0.16" "@expo/config" "~12.0.10" "@expo/config-plugins" "~54.0.2" "@expo/devtools" "0.1.7" "@expo/fingerprint" "0.15.3" "@expo/metro" "~54.1.0" - "@expo/metro-config" "54.0.8" + "@expo/metro-config" "54.0.9" "@expo/vector-icons" "^15.0.3" "@ungap/structured-clone" "^1.3.0" - babel-preset-expo "~54.0.6" + babel-preset-expo "~54.0.7" expo-asset "~12.0.9" expo-constants "~18.0.10" expo-file-system "~19.0.17" expo-font "~14.0.9" expo-keep-awake "~15.0.7" - expo-modules-autolinking "3.0.20" - expo-modules-core "3.0.24" + expo-modules-autolinking "3.0.21" + expo-modules-core "3.0.25" pretty-format "^29.7.0" react-refresh "^0.14.2" whatwg-url-without-unicode "8.0.0-3" @@ -3248,17 +3249,17 @@ jimp-compact@0.16.1: integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + version "3.14.2" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.2.tgz#77485ce1dd7f33c061fd1b16ecea23b55fcb04b0" + integrity sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg== dependencies: argparse "^1.0.7" esprima "^4.0.0" js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + version "4.1.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.1.tgz#854c292467705b699476e1a2decc0c8a3458806b" + integrity sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA== dependencies: argparse "^2.0.1" @@ -3979,7 +3980,7 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== -node-releases@^2.0.26: +node-releases@^2.0.27: version "2.0.27" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.27.tgz#eedca519205cf20f650f61d56b070db111231e4e" integrity sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==