Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion apps/bare-expo/ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -633,6 +633,8 @@ PODS:
- ExpoModulesCore
- ExpoSQLite (57.0.1):
- ExpoModulesCore
- ExpoSQLite/Tests (57.0.1):
- ExpoModulesCore
- ExpoStoreReview (57.0.1):
- ExpoModulesCore
- ExpoSymbols (57.0.1):
Expand Down Expand Up @@ -3425,6 +3427,7 @@ DEPENDENCIES:
- ExpoSpeech (from `../../../packages/expo-speech/ios`)
- ExpoSplashScreen (from `../../../packages/expo-splash-screen/ios`)
- ExpoSQLite (from `../../../packages/expo-sqlite/ios`)
- ExpoSQLite/Tests (from `../../../packages/expo-sqlite/ios`)
- ExpoStoreReview (from `../../../packages/expo-store-review/ios`)
- ExpoSymbols (from `../../../packages/expo-symbols/ios`)
- ExpoSystemUI (from `../../../packages/expo-system-ui/ios`)
Expand Down Expand Up @@ -4092,7 +4095,7 @@ SPEC CHECKSUMS:
ExpoSMS: ac35f6c85b72ee5b18a7c6bb06550fbd4a683775
ExpoSpeech: 0e90904e2af5d6f166d4d2ffbdab535686597938
ExpoSplashScreen: 247464c0fe484f766892db0d66c3fe54f92a624e
ExpoSQLite: 7ea4f5b0ebd0b6f15927c2349db7624a5abf6beb
ExpoSQLite: 73ec3c3dd0c5e8c6592c341edf00efa6271c51a8
ExpoStoreReview: 2a0f6b8e04112aea2f6e3e1cb84109d78f4d041f
ExpoSymbols: 7c7c7bd3c52f0b6dcbba6e8af4088b0dc1ea7d29
ExpoSystemUI: ff3142b323ae7b4d11dc0b1dc4acfa30d92be7dc
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ export default function AudioControlsScreen(props: any) {
React.useLayoutEffect(() => {
AudioModule.setAudioModeAsync({
shouldPlayInBackground: true,
interruptionMode: 'doNotMix',
interruptionMode: 'doNotMixPersistent',
playsInSilentMode: true,
allowsRecording: false,
}).catch((error: unknown) =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,10 @@ export default function AudioModeSelector() {
title: 'Do not mix',
value: 'doNotMix',
})}
{renderModeSelector({
title: 'Do not mix (persistent)',
value: 'doNotMixPersistent',
})}
{renderModeSelector({
title: 'Duck others',
value: 'duckOthers',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,10 @@ export default function AudioModeSelector() {
title: 'Do not mix',
value: 'doNotMix',
})}
{renderModeSelector({
title: 'Do not mix (persistent)',
value: 'doNotMixPersistent',
})}
{renderModeSelector({
disabled: state.next.playsInSilentMode === false,
title: 'Duck others',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ export default function AudioPlaylistScreen() {
useEffect(() => {
setAudioModeAsync({
shouldPlayInBackground: true,
interruptionMode: 'doNotMix',
interruptionMode: 'doNotMixPersistent',
playsInSilentMode: true,
allowsRecording: false,
}).catch((error: unknown) =>
Expand Down
10 changes: 8 additions & 2 deletions apps/observe-tester/app/(tabs)/examples/expo-image/too-big.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,12 @@ import { useTheme } from '@/utils/theme';
// area against the screen budget (screen point area × pixel ratio² × 1.5) and logs an
// `expo-image.oversized` warning because it is far beyond what any full-screen image needs. Use
// `maxWidth`/`maxHeight` (see the "Correctly sized" page) to avoid this.
// The fake signing params exercise URL sanitization: the logged event reports the URL without the
// query and fragment (with `urlSanitized: true`) unless the integration is configured with
// `includeUrlParams: true`. Picsum ignores the unknown params, so the image still loads.
const SIZE = 220;
const SOURCE = 'https://picsum.photos/seed/expo-image-too-big/4000/4000';
const SOURCE =
'https://picsum.photos/seed/expo-image-too-big/4000/4000?token=super-secret&sig=deadbeef#preview';

export default function TooBigImage() {
const theme = useTheme();
Expand All @@ -27,7 +31,9 @@ export default function TooBigImage() {
A 4000×4000px image loaded with no size constraints. Decoded:{' '}
{image ? `${image.width * image.scale}×${image.height * image.scale}px` : '…'} — far beyond
this device's screen ({Math.round(screen.width)}×{Math.round(screen.height)}pt @
{PixelRatio.get()}x), so an `expo-image.oversized` warning is logged. Check the Sessions
{PixelRatio.get()}x), so an `expo-image.oversized` warning is logged. The source URL
carries fake signing params; the event reports it without them and with `urlSanitized:
true`, unless `includeUrlParams` is enabled in the integration config. Check the Sessions
tab.
</Text>
{failed ? (
Expand Down
1 change: 1 addition & 0 deletions apps/observe-tester/app/_layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ Observe.configure({
'expo-router': { filteredParams: ['accountId', 'firstName'] },
'expo-image': {
oversizeThreshold: 1.5,
includeUrlParams: false,
},
},
});
Expand Down
2 changes: 1 addition & 1 deletion apps/router-e2e/app.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ module.exports = {
package: 'dev.expo.routere2e',
},
// For testing the output bundle
jsEngine: process.env.E2E_ROUTER_JS_ENGINE ?? (process.env.E2E_ROUTER_SRC ? 'jsc' : 'hermes'),
jsEngine: 'hermes',
newArchEnabled: true,
experiments: {
noxcturnalTransformWorker: true,
Expand Down
28 changes: 14 additions & 14 deletions apps/router-e2e/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
"main": "expo-router/entry",
"scripts": {
"prebuild": "TEMPLATE_DIR=\"../../templates/expo-template-bare-minimum\" && (cd \"$TEMPLATE_DIR\" && PACKED_FILE=$(npm pack) && mv \"$PACKED_FILE\" pack.tgz) && npx expo prebuild --clean --template \"$TEMPLATE_DIR/pack.tgz\"",
"start:01-rsc": "E2E_RSC_ENABLED=1 E2E_ROUTER_JS_ENGINE=hermes EXPO_USE_STATIC=server E2E_ROUTER_SRC=01-rsc expo start",
"export:01-rsc": "E2E_RSC_ENABLED=1 E2E_ROUTER_JS_ENGINE=hermes EXPO_USE_STATIC=server E2E_ROUTER_SRC=01-rsc expo export",
"start:02-server-actions": "E2E_SERVER_FUNCTIONS=1 E2E_RSC_ENABLED=1 E2E_ROUTER_JS_ENGINE=hermes EXPO_USE_STATIC=server E2E_ROUTER_SRC=02-server-actions expo start",
"export:02-server-actions": "E2E_SERVER_FUNCTIONS=1 E2E_RSC_ENABLED=1 E2E_ROUTER_JS_ENGINE=hermes EXPO_USE_STATIC=server E2E_ROUTER_SRC=02-server-actions expo export",
"start:03-server-actions-only": "E2E_SERVER_FUNCTIONS=1 E2E_ROUTER_JS_ENGINE=hermes EXPO_USE_STATIC=single E2E_ROUTER_SRC=03-server-actions-only expo start",
"export:03-server-actions-only": "E2E_SERVER_FUNCTIONS=1 E2E_ROUTER_JS_ENGINE=hermes EXPO_USE_STATIC=single E2E_ROUTER_SRC=03-server-actions-only expo export",
"start:04-server-error-boundaries": "E2E_SERVER_FUNCTIONS=1 E2E_ROUTER_JS_ENGINE=hermes EXPO_USE_STATIC=single E2E_ROUTER_SRC=04-server-error-boundaries expo start",
"export:04-server-error-boundaries": "E2E_SERVER_FUNCTIONS=1 E2E_ROUTER_JS_ENGINE=hermes EXPO_USE_STATIC=single E2E_ROUTER_SRC=04-server-error-boundaries expo export",
"start:01-rsc": "E2E_RSC_ENABLED=1 EXPO_USE_STATIC=server E2E_ROUTER_SRC=01-rsc expo start",
"export:01-rsc": "E2E_RSC_ENABLED=1 EXPO_USE_STATIC=server E2E_ROUTER_SRC=01-rsc expo export",
"start:02-server-actions": "E2E_SERVER_FUNCTIONS=1 E2E_RSC_ENABLED=1 EXPO_USE_STATIC=server E2E_ROUTER_SRC=02-server-actions expo start",
"export:02-server-actions": "E2E_SERVER_FUNCTIONS=1 E2E_RSC_ENABLED=1 EXPO_USE_STATIC=server E2E_ROUTER_SRC=02-server-actions expo export",
"start:03-server-actions-only": "E2E_SERVER_FUNCTIONS=1 EXPO_USE_STATIC=single E2E_ROUTER_SRC=03-server-actions-only expo start",
"export:03-server-actions-only": "E2E_SERVER_FUNCTIONS=1 EXPO_USE_STATIC=single E2E_ROUTER_SRC=03-server-actions-only expo export",
"start:04-server-error-boundaries": "E2E_SERVER_FUNCTIONS=1 EXPO_USE_STATIC=single E2E_ROUTER_SRC=04-server-error-boundaries expo start",
"export:04-server-error-boundaries": "E2E_SERVER_FUNCTIONS=1 EXPO_USE_STATIC=single E2E_ROUTER_SRC=04-server-error-boundaries expo export",
"start:05-use-dom": "E2E_ROUTER_SRC=05-use-dom expo start -d",
"export:05-use-dom": "E2E_ROUTER_SRC=05-use-dom expo export -p web",
"ios:05-use-dom": "E2E_ROUTER_SRC=05-use-dom expo run:ios",
Expand All @@ -29,12 +29,12 @@
"start:native-tabs": "E2E_ROUTER_SRC=native-tabs expo start",
"start:native-navigation": "E2E_ROUTER_SRC=native-navigation expo start",
"ios:native-navigation": "E2E_ROUTER_SRC=native-navigation expo run:ios",
"android:native-navigation": "E2E_ROUTER_JS_ENGINE=hermes E2E_ROUTER_SRC=native-navigation expo run:android",
"export:native-navigation": "EXPO_ATLAS=1 E2E_ROUTER_JS_ENGINE=hermes E2E_ROUTER_SRC=native-navigation expo export",
"android:native-navigation": "E2E_ROUTER_SRC=native-navigation expo run:android",
"export:native-navigation": "EXPO_ATLAS=1 E2E_ROUTER_SRC=native-navigation expo export",
"start:headless": "E2E_ROUTER_SRC=headless expo",
"start:web-modal": "E2E_ROUTER_SRC=web-modal E2E_ROUTER_JS_ENGINE=hermes EXPO_WEB_DEV_HYDRATE=1 expo start",
"export:web-modal": "E2E_ROUTER_SRC=web-modal E2E_ROUTER_JS_ENGINE=hermes expo export -p web",
"start:fast-refresh": "E2E_ROUTER_SRC=fast-refresh E2E_ROUTER_JS_ENGINE=hermes expo start -w",
"start:web-modal": "E2E_ROUTER_SRC=web-modal EXPO_WEB_DEV_HYDRATE=1 expo start",
"export:web-modal": "E2E_ROUTER_SRC=web-modal expo export -p web",
"start:fast-refresh": "E2E_ROUTER_SRC=fast-refresh expo start -w",
"start:middleware-async": "E2E_ROUTER_SRC=server-middleware-async EXPO_USE_STATIC=server E2E_ROUTER_SERVER_MIDDLEWARE=true expo start",
"export:middleware-async": "E2E_ROUTER_SRC=server-middleware-async EXPO_USE_STATIC=server E2E_ROUTER_SERVER_MIDDLEWARE=true expo export -p web",
"start:static-loader": "E2E_ROUTER_SRC=server-loader E2E_ROUTER_SERVER_LOADERS=true expo start",
Expand All @@ -56,7 +56,7 @@
"android:stack": "E2E_ROUTER_SRC=stack expo run:android",
"start:toolbar-press": "E2E_ROUTER_SRC=toolbar-press expo start",
"ios:toolbar-press": "E2E_ROUTER_SRC=toolbar-press expo run:ios",
"android:toolbar-press": "E2E_ROUTER_JS_ENGINE=hermes E2E_ROUTER_SRC=toolbar-press expo run:android",
"android:toolbar-press": "E2E_ROUTER_SRC=toolbar-press expo run:android",
"start:helmet": "E2E_ROUTER_SRC=helmet expo start",
"export:helmet": "E2E_ROUTER_SRC=helmet expo export -p web",
"lint": "oxlint --config oxlint.config.mjs .",
Expand Down
Loading
Loading