Skip to content

Add conversation views to 7 chat artifacts (Tier 1 + WhatsApp, Viber, Kik) - #1645

Merged
abrignoni merged 3 commits into
mainfrom
tier1-conversation-views
Jul 3, 2026
Merged

Add conversation views to 7 chat artifacts (Tier 1 + WhatsApp, Viber, Kik)#1645
abrignoni merged 3 commits into
mainfrom
tier1-conversation-views

Conversation

@abrignoni

Copy link
Copy Markdown
Owner

Summary

Adds the LAVA threaded conversation data_view to the 4 iLEAPP chat artifacts whose existing columns already support it (metadata-only, no parsing changes):

Artifact Thread Direction sent-value Sender
Line Artifacts Username Outgoing (from ZSENDER CASE) Username + static 'Local User'
Oops: Make New Friends User ID Outgoing (from message_direction CASE) Sender Name
Zangi Chats Number SENT (uppercase, from ZISRECEIVED CASE) First Name + static 'Local User'
Query Predictions Conversation ID 1 (raw isSent integer) (none — prediction cache)

Every directionSentValue verified against the literal value each query produces.

Deliberately deferred

  • BeReal Messages — perfect fit, but held until open PR Fix BeReal artifact runtime errors and improve parser robustness #1637 (BeReal rework) lands to avoid conflicts
  • Pinger Text Free — raw ZDIRECTION values not verifiable without test data
  • Vipps — direction comes raw from app JSON with unknown vocabulary
  • Note: ZangiChats.py vs ZangiMessenger.py may be duplicate modules for the same app — possible future consolidation

Testing

pylint 10.00/10 on all 4 files; PluginLoader 4/4 views registered; automated check validates every view column ref against each artifact's actual data_headers.

abrignoni added 2 commits July 2, 2026 21:42
Wire the LAVA conversation data_view onto existing columns for Line
Artifacts, Oops: Make New Friends, Zangi Chats and Query Predictions.
directionSentValue verified against each query's literal output ('Outgoing'
for Line/Oops, 'SENT' for Zangi, integer 1 for queryPredictions' isSent).
Artifacts without a local-sender column use sentMessageStaticLabel.
Metadata-only; no parsing changes; last_update_date bumped.
ZISFROMME was already selected (used for sender/receiver) but never emitted;
add a Direction column from it, plus Chat ID (ZWACHATSESSION.ZCONTACTJID,
one new SELECT column on the existing join) and Chat Name (ZPARTNERNAME) as
a stable thread discriminator/label. Conversation view wired with Sender
Name (already 'Local User' on sent rows) and Attachment File as mediaColumn.
New columns appended at the end so existing column order is unchanged.
@abrignoni abrignoni changed the title Add conversation views to 4 chat artifacts (Tier 1) Add conversation views to 5 chat artifacts (Tier 1 + WhatsApp) Jul 3, 2026
Validation runs across 11 test images showed both artifacts already emit a
usable direction column: Viber's State ('Incoming'/'Outgoing', 3,459 rows
verified) and Kik's Type ('Sent'/'Received'). Metadata-only views: Viber
threads by Chat Participant(s) with Chat Name label, Kik by User Name; both
wire their media-typed Attachment column as mediaColumn and use the static
'Local User' sent label.
@abrignoni abrignoni changed the title Add conversation views to 5 chat artifacts (Tier 1 + WhatsApp) Add conversation views to 7 chat artifacts (Tier 1 + WhatsApp, Viber, Kik) Jul 3, 2026
@abrignoni
abrignoni merged commit 61d6863 into main Jul 3, 2026
1 check passed
@abrignoni
abrignoni deleted the tier1-conversation-views branch July 3, 2026 04:08
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