Repository navigation
Add opt-in local Apple crash and hang evidence - #43
Merged
Merged
Conversation
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.
BitMatch's transfer diagnostics stop when the process disappears. This adds an optional Settings control to save small Apple MetricKit crash and main-thread hang summaries locally, then include them in History → Export diagnostics if Apple delivers them. Collection is off by default on Mac, iPhone and iPad, and BitMatch never uploads the summaries.
The export keeps only report dates, numeric crash or hang fields, app version/build, and up to eight binary UUID/offset stack frames. It never stores raw MetricKit payloads, messages, paths or footage details. Clear and opt-out delete local records and reject delayed callbacks; failed deletion stays visible in Settings and leaves collection off. Reports whose period began before the latest consent or Clear are excluded, even if that skips an ambiguous first daily report.
Local validation:
XCTWaiter, causing hundreds of zero-duration failures. The serialized rerun passed; a clean-main comparison is still needed before attributing that crash.Release limits: MetricKit delivery for the Developer ID/notarized Mac build has not been demonstrated. A signed Mac pilot, physical iPhone/iPad check, and Settings/export walkthrough remain. Apple may deliver no report, and this does not establish the causes of #10 or #23 or guarantee evidence for an OOM/force quit.