Skip to content

feat: add Destination Caller ID column to SMS artifact - #1983

Open
vikrosj wants to merge 1 commit into
abrignoni:mainfrom
vikrosj:feat/sms-destination-caller-id
Open

feat: add Destination Caller ID column to SMS artifact#1983
vikrosj wants to merge 1 commit into
abrignoni:mainfrom
vikrosj:feat/sms-destination-caller-id

Conversation

@vikrosj

@vikrosj vikrosj commented Aug 17, 2026

Copy link
Copy Markdown

message.destination_caller_id records the local phone number the device used for a given message transaction (e.g. useful on dual-SIM or multi-identity devices). Account/Account Login fields is still kept. Uses destination_caller_id to label sent messages in the threaded conversation view, replacing the existing message.account value.

For reference to destination_caller_id see thebinaryhick

message.destination_caller_id records the local phone number or Apple
ID email the device used for a given message transaction, which is
more precise than the existing Account/Account Login fields (e.g.
useful on dual-SIM or multi-identity devices). Also use it to label
sent messages in the threaded conversation view, replacing the
prefixed message.account value.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@abrignoni

Copy link
Copy Markdown
Owner

Thanks for the contribution!

The changed artifact modules cite public research images in their sample_data, so a maintainer can generate the test fixtures from those images. Nothing is needed from you, though you are welcome to add the fixtures yourself with admin/test/scripts/make_test_data.py.

  • sms.py: cites abe_ios16, ctf2020_ios12, dexter_ios18, felix23_ios16, felix_ios17, hickman_ios13, hickman_ios14, iphone11_ios17, iphone12_ios18, iphone14plus_ios18, magnet_ios16, otto_ios17; a maintainer can generate the fixture.

@abrignoni abrignoni added the fixture-needed Cites a public image; a maintainer can generate the fixture label Aug 25, 2026
@abrignoni

Copy link
Copy Markdown
Owner

Thanks for adding this, the destination caller ID is a good column to surface.

Two things before this can merge.

The DataFrame column list in the chat-view block got reordered when the new column went in, but the data_list tuples kept their original order, so 20 of the 22 positions now carry the wrong label. Running the module against the committed sms test case (josh_ios15_ffs) crashes with KeyError: 'image.000000.jpg' in chat_rendering.py, because the tuple's attachment filename lands under content-type. The report table itself is fine, data_headers and the tuple still agree. The fix is one list: keep the original column order and insert 'Destination Caller ID' at position 15, right after 'Account Login', which is where record[22] sits in the tuple.

Second, the new column changes the recorded output shape, so the sms baseline needs re-recording in the same PR once the fix is in: run python admin/test/scripts/test_module.py sms -a all -c all, commit the new snapshot in admin/test/results/sms/ and delete the superseded one.

The test case data is already in the repo, so the crash reproduces with the command above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fixture-needed Cites a public image; a maintainer can generate the fixture

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants