iOS: Add poll support, fix contact name resolution, fix typos

- Add poll message decoding for iOS (ZMESSAGETYPE 46) using raw protobuf
  parsing of ZWAMESSAGEINFO.ZRECEIPTINFO blobs (no external dependency).
  Polls render with vote tallies and voter names in the HTML export.
- Fix iOS contact name resolution: pull ZFULLNAME from address book,
  resolve LID-based group members, fall back to ZWAPROFILEPUSHNAME,
  and avoid overwriting real names with phone numbers.
- Fix typo: 'expoter' -> 'exporter' in android_crypt.py and __main__.py.
- Add poll field to Message data model and update test fixtures.
This commit is contained in:
Ingolf Becker
2026-02-09 10:34:38 +00:00
committed by KnugiHK
parent ea396f0885
commit 99474e65cc
7 changed files with 473 additions and 12 deletions

View File

@@ -107,7 +107,8 @@ chat_data_merged = {
"sticker": False,
"message_type": None,
"received_timestamp": None,
"read_timestamp": None
"read_timestamp": None,
"poll": None
},
"24691": {
"from_me": False,
@@ -128,7 +129,8 @@ chat_data_merged = {
"sticker": False,
"message_type": None,
"received_timestamp": None,
"read_timestamp": None
"read_timestamp": None,
"poll": None
},
"24692": {
"from_me": False,
@@ -149,7 +151,8 @@ chat_data_merged = {
"sticker": False,
"message_type": None,
"received_timestamp": None,
"read_timestamp": None
"read_timestamp": None,
"poll": None
},
}
}