feat: rebuild native crash monitoring as app lifecycle monitors#127
Open
V3RON wants to merge 12 commits into
Open
feat: rebuild native crash monitoring as app lifecycle monitors#127V3RON wants to merge 12 commits into
V3RON wants to merge 12 commits into
Conversation
Add playground crash fixtures, env-driven signing, artifact-window fixes, and focused test cleanup for the improved crash monitor.
Drop the stale crashDetectionInterval option from config, docs, tests, and generated GitHub Action code.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Vitest is provided at the workspace root for tests; other packages already exclude it from @nx/dependency-checks the same way. Co-authored-by: Cursor <cursoragent@cursor.com>
Revert playground rn-harness config changes so CI sees the same target set as main.
Set the default playground iOS simulator runtime to 26.2.
Poll crash report sources for longer while avoiding simctl diagnose on CI, and return as soon as either device logs or host DiagnosticReports yields an artifact.
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Rebuild native crash monitoring around platform-owned app lifecycle monitors so Jest stays platform-neutral while Android and iOS handle their own crash correlation, artifact capture, and lifecycle state.
Context
The branch removes the old Jest-local crash monitor and replaces it with a shared AppLifecycleMonitor contract in @react-native-harness/platforms, with packages/jest driving monitor lifecycle events around app start, restart, readiness, test execution, and teardown.
Android and iOS now use platform-specific monitor implementations that correlate logs, process state, and persisted crash artifacts instead of depending on extra app-side crash-monitor plumbing. The physical-device path is a key part of this rebuild: iOS device monitoring leans on devicectl diagnostics and Android correlation no longer depends on brittle process-disappearance checks, which makes crash reporting more reliable on real hardware.
The branch also adds app-monitor event reporting hooks, refreshes crash-monitor docs through the ADR and website updates, adds playground-native crash fixtures for end-to-end coverage, and includes a version plan for the release.
Fixes #126
Proposed Testing Scenario