Skip to content

Add opt-in local Apple crash and hang evidence - #43

Merged
mikecerisano merged 1 commit into
mainfrom
feature/local-crash-evidence-20261017
Oct 17, 2026
Merged

mikecerisano merged 1 commit into
mainfrom
feature/local-crash-evidence-20261017

Conversation

@mikecerisano

Copy link
Copy Markdown
Collaborator

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:

  • Engine XCTest: 143 executed, 17 skipped, 0 failed.
  • Engine Swift Testing: 179 passed, 0 failed.
  • Mac app build: succeeded. Serialized full Mac suite: 1,156 passed, 13 skipped, 0 failed.
  • Generic iPad/iPhone simulator build: succeeded. iPad Air (M4), iOS 26.5: 65 passed, 9 skipped, 0 failed.
  • An earlier parallel Mac suite had an Xcode test-host crash at 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.

@mikecerisano
mikecerisano marked this pull request as ready for review October 17, 2026 14:44
@mikecerisano
mikecerisano merged commit 155ef4b into main Oct 17, 2026
4 of 8 checks passed
@mikecerisano
mikecerisano deleted the feature/local-crash-evidence-20261017 branch October 17, 2026 14:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant