feat: add Destination Caller ID column to SMS artifact - #1983
Conversation
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>
|
Thanks for the contribution! The changed artifact modules cite public research images in their
|
|
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. |
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