Skip to content

Android class 2 batch 2: directions + views for Google Messages, TikTok, Google Chat, Discord#927

Merged
abrignoni merged 1 commit into
mainfrom
android-class2-batch2
Jul 3, 2026
Merged

Android class 2 batch 2: directions + views for Google Messages, TikTok, Google Chat, Discord#927
abrignoni merged 1 commit into
mainfrom
android-class2-batch2

Conversation

@abrignoni

Copy link
Copy Markdown
Owner

Summary

Final four of the Android class-2 backlog — evidence-derived Direction columns and LAVA conversation views, each validated read-only against the Android test-image set before implementation.

Artifact Owner/direction source Thread added Validation
Google Messages (bugle_db) sender participant's sub_id != -2 (documented Bugle self-participant convention; device's own number confirmed in test data) parts.conversation_id → Conversation ID 94 msgs: 53/41 across 11 conversations; spam-only image correctly all-Incoming
TikTok account uid = db filename prefix (<uid>_im.db, incl. biz_* variants via trailing-number match) msg.conversation_id → Conversation ID 31 msgs: 9 Out / 22 In
Google Chat (dynamite) account email from the db path (user_accounts/<email>/) resolved to gaia id via the same db's users table group_id → Group ID Two accounts: 19/20 and 8/10 splits, owner rows matched by email
Discord (kv-storage) @account.<id> path segment (same derivation as iLEAPP #1648) Channel ID (existed) 47 msgs: 18 Out / 29 In on the public image

Blank direction whenever the owner can't be established — never defaulted to a side.

Deliberately deferred (documented)

  • Teams — owner only derivable via a fragile tenantId↔cid format assumption, and current test data is 32 rows of mostly call logs; needs richer data first.
  • GroupMe — own user id lives in shared-prefs XML the artifact doesn't collect; needs a paths addition + test data with the prefs file present.

Testing

pylint 10.00/10 (4 files); byte-compile; PluginLoader 4/4 views registered; new SQL/derivations executed read-only against the real copied databases with the splits above.

Evidence-derived directions + conversation views, all validated against the
Android test set:

- Google Messages (bugle_db): direction from the sender participant's
  sub_id (self participants have sub_id != -2, the documented Bugle
  convention); adds Conversation ID. Validated 53/41 split over 11
  conversations on one image.
- TikTok: local account uid is the database filename prefix (<uid>_im.db);
  direction = sender uid == filename uid; adds Conversation ID from msg.
  Validated 9 Outgoing / 22 Incoming.
- Google Chat (dynamite.db): account email is in the db path
  (user_accounts/<email>/); resolved to the gaia id via the users table of
  the same db; adds Group ID. Validated on two accounts (19/20 and 8/10
  splits, owner rows matched by email).
- Discord (kv-storage): account id from the @account.<id> path (same
  derivation as the iLEAPP artifact); emits Sender ID / Account ID /
  Direction. Validated 18/29 split on the public image.

New columns appended; existing column order unchanged. Blank direction when
the owner cannot be established.
@abrignoni abrignoni merged commit 08e303e into main Jul 3, 2026
2 checks passed
@abrignoni abrignoni deleted the android-class2-batch2 branch July 3, 2026 05:23
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