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

@@ -361,6 +361,7 @@ class Message:
self.thumb = None # Android specific
self.sticker = False
self.reactions = {}
self.poll = None
def to_json(self) -> Dict[str, Any]:
"""Convert message to JSON-serializable dict."""