Skip to content

Preserve complete records in iOS artifact parsers - #911

Open
besendorf wants to merge 2 commits into
mainfrom
fix/ios-parser-field-coverage
Open

Preserve complete records in iOS artifact parsers#911
besendorf wants to merge 2 commits into
mainfrom
fix/ios-parser-field-coverage

Conversation

@besendorf

Copy link
Copy Markdown
Collaborator

Summary

  • Preserve complete source rows in Calendar, Calls, Contacts, DataUsage, InteractionC, Safari history, TCC, and WebKit resource statistics while retaining their established top-level fields.
  • Preserve binary and date values in JSON-compatible form instead of dropping columns.
  • Keep Safari tabs that do not have a matching session row and retain complete tab metadata.
  • Retain contacts without multivalue entries.

Compatibility

Existing serialized fields and timeline behavior remain available; complete source data is added under nested record fields.

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Coverage

Coverage Report •
FileStmtsMissCoverMissing
src/mvt/common
   utils.py1253870%36, 53–55, 68, 100–101, 115, 128–129, 168–185, 198, 223–224, 237–238, 245–254, 275, 303
src/mvt/ios/modules/mixed
   calendar.py53198%81
   calls.py33197%57
   contacts.py36489%51, 60, 92–93
   interactionc.py1933084%63–64, 70, 321, 340, 346, 348, 355, 400, 413, 462, 464–466, 471, 479, 481, 509, 516–529
   safari_browserstate.py822866%85, 88–91, 113–120, 128–141, 188, 195–202
   safari_history.py821285%80, 84–85, 97–98, 105–117
   tcc.py661085%73, 90, 109–111, 130–132, 140–141
   webkit_resource_load_statistics.py681085%71, 89–90, 100, 154–161
TOTAL9584227276% 

Tests Skipped Failures Errors Time
454 1 💤 0 ❌ 0 🔥 13.853s ⏱️

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