Conversation
## Why Follow-up to #45974 as requested by @vonovak. `packages/expo-task-manager/android/build.gradle` ships a `proguard-rules.pro` containing `-keep class expo.modules.taskManager.** {*;}`, but never declares `consumerProguardFiles 'proguard-rules.pro'` — so the rule is never applied to consumer apps' R8 pass. This is the same omission #45974 fixed in `expo-notifications`. The visible symptom: in a signed release build with R8 enabled, classes used by the task manager get obfuscated. After an app upgrade that shifts R8's mapping, persisted task data deserializes against a class name that no longer exists, `ClassNotFoundException` is silently swallowed by the consuming code path, and APIs like `Notifications.registerTaskAsync` fail silently — which is the `expo-notifications + expo-task-manager` interaction reported by @arkadiusztw in [#35551 (comment)](#35551 (comment)): ``` -keep class expo.modules.notifications.** {*;} # done in #45974 -keep class expo.modules.taskManager.** {*;} # this PR -keep class expo.modules.backgroundfetch.** {*;} # already wired in expo-background-fetch ``` ## How One-line addition inside the existing `defaultConfig` block, mirroring `expo-modules-core/android/build.gradle`, `expo-background-fetch/android/build.gradle`, and the change from #45974: ```diff defaultConfig { versionCode 23 versionName "56.0.10" + consumerProguardFiles 'proguard-rules.pro' } ``` The `proguard-rules.pro` file already exists in the package; only the directive that wires it up was missing. ## Test plan Same verification pattern that was used for #45974 (in `apps/notification-tester`): - [ ] Build `apps/notification-tester` (or a similar in-repo app) against this branch with R8 enabled. - [ ] Confirm `app/build/outputs/mapping/release/configuration.txt` includes the rule via the expected path: ``` # The proguard configuration file for the following section is # packages/expo-task-manager/android/build/intermediates/consumer_proguard_dir/ # release/exportReleaseConsumerProguardFiles/lib0/proguard.txt -keep class expo.modules.taskManager.** {*;} ``` - [ ] Confirm `mapping.txt` keeps the fully-qualified `expo.modules.taskManager.*` class names (no obfuscation to short names). --- cc @vonovak — follow-up to #45974 covering the `expo-task-manager` half of the keep rules from #35551. --------- Co-authored-by: Vojtech Novak <vonovak@gmail.com>
# Why Document EAS Workflows job hooks more completely on the per-job docs page, and add concrete Maestro examples that show how to use hooks in practice. # How - added `hooks` to the applicable syntax blocks on the `pre-packaged-jobs` page (`submit`, `maestro`, and `maestro-cloud`) - added Maestro examples for generating flows before tests and reporting artifacts after tests - kept the pre-test hook example under the `maestro` job docs so it matches the hook being demonstrated # Test Plan - reviewed `docs/pages/eas/workflows/pre-packaged-jobs.mdx` to confirm every job on the page that documents hooks also includes them in its syntax block - verified the Maestro examples use the correct job type and hook names <img width="1151" height="636" alt="Zrzut ekranu 2026-04-16 o 17 31 34" src="https://github.com/user-attachments/assets/c2a59094-85b4-4350-9a38-b8629bc4fda9" /> # Checklist - [x] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
# Why <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How <!-- How did you build this feature or fix this bug and why? --> # Test Plan <!-- Please describe how you tested this change and how a reviewer could reproduce your test, especially if this PR does not include automated tests! If possible, please also provide terminal output and/or screenshots demonstrating your test/reproduction. --> # Checklist <!-- Please check the appropriate items below if they apply to your diff. --> - [ ] I added a `changelog.md` entry and rebuilt the package sources according to [this short guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) --------- Co-authored-by: Kadi Kraman <hellokadi@gmail.com> Co-authored-by: Aman Mittal <amandeepmittal@live.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@expo/ui@56.0.12 expo-task-manager@56.0.13 expo-widgets@56.0.13 expo-background-task@56.0.13 expo-background-fetch@56.0.13
# Why correct my mistakes after bad commit 🙈 7d096ff the changelog entry is already in 56.0.12 — 2026-05-21 <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How <!-- How did you build this feature or fix this bug and why? --> # Test Plan <!-- Please describe how you tested this change and how a reviewer could reproduce your test, especially if this PR does not include automated tests! If possible, please also provide terminal output and/or screenshots demonstrating your test/reproduction. --> # Checklist <!-- Please check the appropriate items below if they apply to your diff. --> - [ ] I added a `changelog.md` entry and rebuilt the package sources according to [this short guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
# Why
`expo-observe` previously only reported navigation metrics for apps
using `expo-router`. Apps using `@react-navigation/native` directly had
no way to emit TTR.
# How
1. Add `react-navigation` integration under
`expo-observe/integrations/react-navigation`
2. Expose `ObserveNavigationContainer` — a drop-in `NavigationContainer`
replacement that wires state-change and action listeners
3. Add `useObserveForReactNavigation` hook for per-screen metrics
4. Enable via `ExpoObserve.configure({ integrations: {
'react-navigation': true } })`
5. Use it in `bare-expo` to validate the integration end-to-end
# Test Plan
1. Bare-expo
2. CI
# Checklist
<!--
Please check the appropriate items below if they apply to your diff.
-->
- [ ] I added a `changelog.md` entry and rebuilt the package sources
according to [this short
guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
…archParams matcher (#45919)
# Why Observe is an EAS product and in the EAS section. It is confusing for it to not be called "EAS Observe". <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How Rename the product "Expo Observe" -> "EAS Observe". ~in the sidebar. Use "Expo Observe" -> "Observe" inline.~ <!-- How did you build this feature or fix this bug and why? --> # Test Plan 👀 <!-- Please describe how you tested this change and how a reviewer could reproduce your test, especially if this PR does not include automated tests! If possible, please also provide terminal output and/or screenshots demonstrating your test/reproduction. --> # Checklist <!-- Please check the appropriate items below if they apply to your diff. --> - [ ] I added a `changelog.md` entry and rebuilt the package sources according to [this short guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )