Knugi
0056204d87
Merge pull request #206 from tang-vu/contribai/improve/quality/crash-in-timestamp-formatting-when-timez
...
✨ Quality: Crash in timestamp formatting when timezone_offset is None
2026-03-26 21:56:43 +08:00
KnugiHK
abf4f3c814
Implement tests for classes TimeZone and Timing
2026-03-26 21:53:44 +08:00
KnugiHK
9e138d3a1f
Cache TimeZone object in Timing class
2026-03-26 21:31:52 +08:00
KnugiHK
18a0d822b3
Timezone offset should also accepts float
2026-03-26 21:30:10 +08:00
KnugiHK
bb860533d5
Add a default value for timezone_offset in Timing.__init__
2026-03-26 21:23:59 +08:00
Tang Vu
a2bcc39e63
refactor: crash in timestamp formatting when timezone_offset is none
...
In `Timing.format_timestamp`, if `self.timezone_offset` is `None` (which is explicitly allowed by the `Optional[int]` type hint), it instantiates `TimeZone(None)`.
When `datetime.fromtimestamp()` calls the `utcoffset()` method on this timezone object, it executes `timedelta(hours=self.offset)`, which evaluates to `timedelta(hours=None)`. This raises a `TypeError: unsupported type for timedelta hours component: NoneType`, causing the application to crash during export.
Affected files: data_model.py
Signed-off-by: Tang Vu <vuminhtang2212@gmail.com >
2026-03-26 03:25:44 +07:00
KnugiHK
cf1f37db38
Update compile-binary.yml
2026-03-21 18:04:16 +08:00
KnugiHK
8781459547
Update actions
2026-03-21 18:00:50 +08:00
Knugi
2b54225689
Merge pull request #194 from SoLoHK525/features/exif-support
...
Add support for exif timestamp export
2026-03-21 17:32:16 +08:00
KnugiHK
a161993ab9
Normalize media path handling in handlers
2026-03-21 17:22:47 +08:00
KnugiHK
8dfced9d94
Avoid self-copy when no timestamp
2026-03-21 17:16:32 +08:00
KnugiHK
517fd2d3ac
Add back missing comma
2026-03-21 16:42:25 +08:00
SoLoHK525
37a52c0d7d
Add support for exif timestamp export
2026-03-21 16:25:19 +08:00
Knugi
bad813eb73
Merge pull request #199 from watercrossing/fix/ios-polls-contacts-typo
...
iOS: Add poll support, fix contact name resolution, fix typos
2026-03-21 16:02:40 +08:00
KnugiHK
014f830fa0
Update test_incremental_merge.py
2026-03-21 15:53:20 +08:00
KnugiHK
a4d79c3892
Add backward compatibility to contact database processing
...
Because ZLID does not exist in the old schema
2026-03-21 15:46:00 +08:00
KnugiHK
daf6375966
Implement aliases for chat. For LID mapping
2026-03-21 15:36:32 +08:00
KnugiHK
b1886fd737
Better parse metadata message in iOS
2026-02-22 18:35:04 +08:00
KnugiHK
09a26dbe04
Add placeholder for Android on polls
2026-02-22 18:00:20 +08:00
Ingolf Becker
99474e65cc
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.
2026-02-22 17:44:22 +08:00
KnugiHK
ea396f0885
Update README.md
2026-02-22 17:44:22 +08:00
KnugiHK
5fa0a613b0
Fix legacy call query
...
This add back the backward compatibility for the legacy schema, which is broken in 0.13.0
2026-02-22 16:52:04 +08:00
KnugiHK
a0719bc2bf
Update README.md
2026-01-24 23:05:00 +08:00
KnugiHK
bac2efe15a
Revert "Update README.md"
...
This reverts commit 1c7d6f7912 .
0.13.0
2026-01-24 18:33:10 +08:00
KnugiHK
9a6ee3ce5f
Revert "Add iphone_backup_decrypt as an optional dependency ( #123 )"
...
This reverts commit 94960e4a23 .
2026-01-24 18:31:59 +08:00
KnugiHK
823a89e677
Merge branch 'dev'
2026-01-24 18:21:36 +08:00
KnugiHK
945b422f71
Update ci.yml
2026-01-24 18:21:25 +08:00
KnugiHK
19008a80bc
Merge branch 'dev'
2026-01-24 18:09:15 +08:00
KnugiHK
4e877987fb
Bump version & update readme
2026-01-24 18:08:43 +08:00
KnugiHK
322b12a5a4
Fix a crash in message counting if chat filter is in use
2026-01-24 18:02:30 +08:00
KnugiHK
1560c49644
Update ci.yml
2026-01-24 17:42:02 +08:00
KnugiHK
28ba97d72f
Fix CI on Windows
2026-01-24 17:38:22 +08:00
KnugiHK
eab98ba0d6
Fix crash on pre-release versions and enable update checks for pre-releases
2026-01-24 17:20:07 +08:00
KnugiHK
f920ca82b4
Refactor the logging facility a bit
2026-01-24 17:05:14 +08:00
KnugiHK
4eed3ca321
Refactor CLEAR_LINE in a more pythonic way
...
So it is easier for contributor to write a logging line for this project.
2026-01-24 16:48:07 +08:00
KnugiHK
746e4e1ac5
Fix and improve the logging facility for incremental merge
2026-01-24 16:24:10 +08:00
KnugiHK
1694ae7dd9
Update utility.py
2026-01-24 01:47:45 +08:00
KnugiHK
f05e0d3451
Refactor incremental_merge
2026-01-24 01:33:18 +08:00
KnugiHK
0c5f2b7f13
Add a comment on SQLi in get_chat_condition
2026-01-24 01:19:55 +08:00
KnugiHK
db01d05263
Refactor get_chat_condition to increase maintainability
2026-01-24 00:50:06 +08:00
KnugiHK
2e7953f4ca
Add unit test for get_chat_condition
2026-01-24 00:03:21 +08:00
KnugiHK
95a52231be
Fix the returning string for empty filter list
2026-01-24 00:03:08 +08:00
Knugi
e0aab06192
Update LICENSE
2026-01-21 16:06:12 +00:00
Knugi
43b00d8b48
Update README.md
2026-01-21 14:28:41 +00:00
KnugiHK
bf230db595
Gracefully handle bytes that can't be decoded from db ( #44 )
2026-01-20 23:35:05 +08:00
KnugiHK
242e8ee43a
Fix regressions introduced in 194ed29 (default template swap)
...
This commit restores the logic originally introduced in:
* 265afc1
* 8cf1071
* 177b936
2026-01-20 01:42:30 +08:00
lifnej
c32096b26b
Show sql errors if DEBUG flag is set.
2026-01-20 00:07:04 +08:00
lifnej
4aa1c26232
Missing newline in vcard info log.
2026-01-20 00:06:38 +08:00
KnugiHK
feca9ae8e0
Fix error on database without jid_map table
...
I realized the `jid_map` table might be missing after reviewing @lifnej's work in ee7db80 . This fix adds use the preflight check result for the table before querying it.
I plan to apply this same pattern to other sections where `jid_map` is used.
2026-01-19 22:59:19 +08:00
KnugiHK
92c325294c
Add preflight check to see if the jid_map table exists
2026-01-19 22:53:29 +08:00