Skip to content

fix: correctly filter system messages #147

Open
@lucasrodes

Description

@lucasrodes

We are currently working on parsing system messages. However, there seems to be some particularities depending on the OS (Android, iOS), the device (mobile, desktop), etc.

Multiple environments

iOS

System messages are shown the same as the user names, but using the chat name as the user name

Android

System messages are sent without using the field allocated for "username".

See the example from #139:

04/03/2024, 22:29 - Messages and calls are end-to-end encrypted. No one outside of this chat, not even WhatsApp, can read or listen to them. Tap to learn more.
12/12/2023, 10:46 - ~ +1-xx3-yyy4 created group "Group1"
04/03/2024, 22:29 - +1-xx4-yyy3 added you to a group in the community: Community 1
07/03/2024, 12:12 - +1-xx9-yyy5 joined from the community
07/03/2024, 12:12 - +1-xx8-yyy3 joined from the community
07/03/2024, 12:12 - +1-xx4-yyy2 joined from the community
07/03/2024, 12:12 - +1-xx1-yyy3 joined from the community
09/03/2024, 17:32 - +1-xx7-yyy3 joined from the community
11/03/2024, 20:54 - +1-xx6-yyy5 joined using this group's invite link
11/03/2024, 20:54 - +1-xx8-yyy4 joined from the community
11/03/2024, 20:54 - +1-xx1-yyy8 joined using this group's invite link
16/03/2024, 09:10 - +1-xxx-yyy3: Hey everyone! We're looking for volunteers to act as facilitators for a "Event 1"  First Aid Workshop organized by <Message redacted>.

Mobile vs desktop

Also, there are some differences between mobile vs. desktop, where the desktop seems to filter some system messages.

Communities

How the format in community chat history differs from groups' is unclear. We should explore this further (and potentially create a separate tracking issue for that).

Solutions

iOS/Android

We are almost finished with a solution supporting system messages for iOS devices:

We should investigate a similar solution for chats exported from Android devices.

mobile/desktop

My intuition here is to go with full mobile support and skip desktop support for now. We should signal this somewhere in the docs.

Communities

Same as in desktop, do not support this for now.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions