Skip to content

Read the rest of the WhatsApp call record on iOS - #2163

Merged
abrignoni merged 2 commits into
mainfrom
feat/whatsapp-call-details
Sep 12, 2026
Merged

Read the rest of the WhatsApp call record on iOS#2163
abrignoni merged 2 commits into
mainfrom
feat/whatsapp-call-details

Conversation

@abrignoni

Copy link
Copy Markdown
Owner

CallHistory.sqlite keeps an aggregate row beside each call, and the call row itself carries more than the artifact was reading. Adds to WhatsApp - Call History:

  • Video Call, and the app's own incoming flag, missed flag and missed reason, from the aggregate row.
  • Bytes Sent, Bytes Received, Call ID and Group JID from the call row.
  • Aggregate Event ID, so rows that share an aggregate are visible.

The aggregate is per group of calls rather than per call and the notes say so. The stored incoming flag agrees with the direction the artifact already derived on every row where both are present, and it fills in on the one tested image whose release has no group call creator column. Columns absent from older databases resolve to NULL the same way the existing creator column does, and every column the artifact produced before is unchanged on all eight tested images.

🤖 Generated with Claude Code

abrignoni and others added 2 commits September 11, 2026 22:54
CallHistory.sqlite keeps an aggregate row beside each call, and the call row
itself carries more than the artifact was reading. Adds whether the call was
video, the app's own incoming flag, whether it was missed and the missed
reason, the bytes sent and received, the call id, the group jid and the
aggregate id the row belongs to.

The aggregate is per group of calls rather than per call, so the notes say
which columns describe the group. The stored incoming flag agrees with the
direction the artifact already derived on every row where both are present,
and it fills in on the one tested image whose release has no group call
creator column and so has no derived direction.

Columns absent from older databases are resolved to NULL the same way the
existing group call creator column already is. Every column the artifact
produced before is unchanged on all eight tested images.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The two committed whatsAppCallHistory snapshots still carry the eight
column headers from before the call-detail columns were added, so the
test-case gate fails on the header list.

Re-recorded from the same committed fixtures with the current code.
josh_ios15_ffs stays at 4 rows and mvs_ios_2023 at 0, and every value in
the eight pre-existing columns is unchanged, matched row by row on those
columns. The nine new columns carry the stored call detail. The whatsApp
module now reports PASS on all five units, and the full run is PASS=154,
KNOWN_FAIL=1, FAIL=0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@abrignoni
abrignoni merged commit dc6c794 into main Sep 12, 2026
10 checks passed
@abrignoni
abrignoni deleted the feat/whatsapp-call-details branch September 12, 2026 03:11
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