diff --git a/.github/workflows/ios-prebuild-external-xcframeworks.yml b/.github/workflows/ios-prebuild-external-xcframeworks.yml index 4c6d0d41c9d68b..b892f6f5f6cb89 100644 --- a/.github/workflows/ios-prebuild-external-xcframeworks.yml +++ b/.github/workflows/ios-prebuild-external-xcframeworks.yml @@ -100,6 +100,24 @@ jobs: manifest="apps/bare-expo/package.json" changed=() + # A React Native bump changes the / segments of + # every external artifact path, so the whole published set must be rebuilt. + # Read the version from `dependencies` only, mirroring the producer's source + # of truth in tools/src/prebuilds/Utils.ts (getVersionsInfoAsync). + # `|| true` keeps a base commit without the manifest falling through to + # build_all; without it `pipefail` aborts the step with git's status. + before_rn="$(git show "$base:$manifest" 2>/dev/null \ + | jq -r '.dependencies["react-native"] // empty' || true)" + after_rn="$(jq -r '.dependencies["react-native"] // empty' "$manifest")" + + if [ -z "$after_rn" ]; then + build_all "Could not read the react-native version from $manifest; building all external packages." + fi + + if [ "$before_rn" != "$after_rn" ]; then + build_all "React Native changed (${before_rn:-unknown} -> $after_rn); every external artifact path is invalidated. Building all external packages." + fi + # Derive the package -> patch-file map from pnpm's own source of truth # (the `patchedDependencies` block in pnpm-workspace.yaml) so adding a # patched package needs no edits here. Keys may carry an `@version` diff --git a/apps/notification-tester/src/app/index.tsx b/apps/notification-tester/src/app/index.tsx index ca0318147fdfc5..4eedaa821e1ae2 100644 --- a/apps/notification-tester/src/app/index.tsx +++ b/apps/notification-tester/src/app/index.tsx @@ -1,31 +1,23 @@ -import { getPermissionsAsync } from 'expo-notifications'; import { useRouter } from 'expo-router'; -import { Alert, Button } from 'react-native'; +import { Button, Text } from 'react-native'; -import { Notifier } from '../Notifier'; import { ScrollView } from '../misc/Themed'; +import { setAppNotificationHandler } from '../registerTaskAsync'; export default function IndexPage() { const router = useRouter(); return (