a6aae2d59a
Dummy data source
2026-02-24 15:22:31 +00:00
91db4a1a6a
Try add 4 new columns
2026-02-24 03:48:13 +00:00
da6c49ba92
Add genericcsv datasource
2026-02-20 03:16:45 +00:00
Matthew Holt
7146add325
contactlist: Fix support for non-comma CSVs
2026-01-28 21:53:14 -07:00
TherionAcribus
6bd8471a93
whatsapp: Manually parse message lines; support more inputs ( #181 )
...
* WhatsApp > change import rules
* better confidence if whatsapp in the file name
* WhatsApp > Inline helper + remove helpers.go
* Replace regex with manual parser
* WhatsApp: tests for splitter
* Datasource > Whatsapp > remove magic numbers in splitter
* Datasource > Whatsapp > satisfy staticcheck in splitter + remove unused LRO helper
* Datasource > Whatsapp > fix unconvert warnings in splitter tests + magic numbers
2026-01-20 10:58:54 -07:00
Matthew Holt
c8cfe5001f
Fix more lint errors
2026-01-16 23:32:10 -07:00
Matthew Holt
8884300d3c
Fix lint errors
...
The false positive got fixed, so now remove nolints
2026-01-16 15:08:48 -07:00
Matthew Holt
ce601d5033
googlephotos: Ignore non-dir subfolders in Takeout albums
...
Also print data source in log messages when processing fails
2025-11-17 09:06:24 -07:00
Matthew Holt
962369382a
Hopefully appease new linter
2025-11-04 16:27:09 -07:00
Matthew Holt
f072765866
Import sidecar profile pictures from contact list, vcard data sources
...
Also fix a bug related to import planning which would divide by zero.
2025-11-04 16:20:31 -07:00
Matthew Holt
3176a94847
contactlist: Add support for name component fields
...
And fix the algorithm used to normalize the field names for mapping
2025-11-03 10:06:34 -07:00
Matthew Holt
0e8e0f8336
Fix XML decoding for non-UTF-8 in more places
2025-10-31 13:34:27 -06:00
Matthew Holt
d33a7a156f
imessage: Support older databases without certain columns
2025-10-29 13:59:14 -06:00
Matthew Holt
bf4ad1a9b6
email: Upgrade to enmime/v2
2025-10-27 15:49:29 -06:00
Michael Cordell
9984737ef5
vcard: fix opening directory of vCard files ( #164 )
...
When attempting an import of a zip containing a directory of vCard files
or simply a directory of vCard files, errors like the following occur:
```
error read /workspaces/timelinize/iCloud Contacts/iCloud Contacts/Groups: is a directory
```
Modifying the walk function to use the passed path and dirEntry File
System resolves this issue.
2025-10-25 21:34:58 -06:00
Matthew Holt
d4bd56e9b0
applephotos: Make recognition more rigorous ( fix #157 )
2025-10-21 22:25:12 -06:00
Matthew Holt
93d205f218
Fix lint error (false positive)
2025-10-16 23:07:53 -06:00
Matthew Holt
26e208aba5
applecontacts: Fix variable columns (!?) and birth dates
...
Apparently the schemas vary and not all ZABCDRECORD tables have ZTHUMBNAILIMAGEDATA for example. (#153 )
So we have to dynamically build the query and the scan targets.
Then the birth date interpretation is complex too. A yearless birthdate is the number of seconds into a year, but the birthdayyear col will have a value of 1604 if it's unknown, instead of null.
2025-10-16 22:54:54 -06:00
Matthew Holt
e9ef6a02ac
facebook: Don't recognize HTML archive variants ( fix #154 )
2025-10-15 23:00:49 -06:00
Matthew Holt
85a0381320
vcard: Set local time zone for birthdays
...
No one records their birth date as UTC midnight, sheesh
2025-10-15 21:54:01 -06:00
Matthew Holt
766a304ec0
macaddrbook: Interpret birthdays with cocoa core data ts ( fix #153 )
2025-10-15 21:43:56 -06:00
Matthew Holt
59161e5e96
vcard: Add YYYY-MM-DD format (issue #153 )
2025-10-15 21:24:14 -06:00
Matthew Holt
1aadee917f
instagram: D'oh, actually make stories optional
2025-10-15 08:37:17 -06:00
Matthew Holt
c9accf2b4a
instagram: Allow stories to not exist ( fix #149 )
2025-10-14 08:22:29 -06:00
Matthew Holt
1b4b95c65c
instagram: Support 2025 export layout ( fix #141 )
2025-10-13 13:40:35 -06:00
Dominik Roszkowski
d0cd6f3ce9
googlelocation: add Polish translation for 'Timeline' when recognizing on-device export ( #143 )
...
Small change to handle Google Location export when using Polish langauge
2025-10-13 10:22:27 -06:00
Matthew Holt
d290f06951
twitter: Finish supporting archives from 2022
...
Apparently it's not only tweets.js that is tweet.js, it's also tweets_media that is tweet_media, sigh.
2025-10-12 23:19:35 -06:00
Matthew Holt
b77238f86d
twitter: Try tweet.js if tweets.js isn't found
...
Thanks for the report. Apparently this occurs in archives made in 2022, possibly earlier.
2025-10-12 14:35:26 -06:00
Matthew Holt
1763b05279
strava: Permit missing activity files ( close #137 )
...
Strava bug causes missing files sometimes, indicated by filename of "#error#"
2025-10-11 16:33:49 -06:00
Matthew Holt
67798d070b
strava: Permit missing activity files ( close #137 )
...
Strava bug causes missing files sometimes, indicated by filename of "#error#"
2025-10-11 12:40:48 -06:00
Matthew Holt
0bf014cac0
kml: More rigorous filetype detection
2025-10-11 12:40:19 -06:00
Matthew Holt
ed21032526
email: Checkpoints
2025-10-09 22:33:09 -06:00
Matthew Holt
6354e9740f
googlelocation: Improve locale support for on-device export names
...
This is far from a complete list, but for now let's try to get most of the user base covered and see how that goes.
Close #111
2025-10-09 17:06:40 -06:00
Matthew Holt
f7f1bcc99c
smsbackuprestore: Fix non-UTF-8 file errors
2025-10-07 13:36:48 -06:00
Matthew Holt
9fc0c3e5c1
Work around Google Photos bug with missing ext on sidecar video files
...
Also fix motion picture transcoding for data files that don't have an extension, by looking up the media type of the image
2025-10-02 18:16:24 -06:00
Matthew Holt
3b9acbb363
googlevoice: Preserve newlines in texts
2025-09-25 22:44:03 -06:00
Matthew Holt
44d199bbb9
googlephotos: Add support for newer 2025 Takeout archives
...
The archive filename format changed slightly
2025-09-23 12:48:11 -06:00
Matthew Holt
3d64fbcfce
Fix iCloud image; reorder data sources in import plan
...
- iCloud logo was just a rasterized SVG, derp. Now it's a true SVG. Much smaller.
- Contact lists and vcards are pretty slow to import due to downloading profile pictures, so move those last
2025-09-22 14:37:35 -06:00
Matthew Holt
06912cf9e6
Add Google Voice data source
...
I love parsing HTML, yay
2025-09-22 14:36:30 -06:00
Matthew Holt
e44daa85df
Refactor location processing options
...
Add clustering strength parameter
2025-09-20 22:18:40 -06:00
Matthew Holt
b386f14ecb
facebook: "They told me they fixed it!"
2025-09-20 15:17:51 -06:00
Matthew Holt
35cecb9601
facebook: A few more fixes based on feedback
2025-09-20 13:25:36 -06:00
Matthew Holt
b5ec76b9a7
Super duper minor fixes
2025-09-18 18:18:35 -06:00
Matthew Holt
68aff57517
facebook: Support missing profile info, require username
2025-09-18 14:17:57 -06:00
Matthew Holt
81050c3237
facebook: Relate attached media; fix Description strings
2025-09-17 06:48:56 -06:00
Matthew Holt
faac1fcb60
facebook: Import check-ins and tagged places; fix post attachments
...
We now import check-ins and tagged places, so, mainly location-related data.
Some of the concepts still need a good mapping to the project, e.g. whether to put the coordinates as the item (i.e. "I was here") or with the entity (i.e. "this place is here").
The code that imported post attachments is some of the oldest code in the base, about 10 years ago. Back then, an item could have both text and file contents, and we just combined all the various attachment data for an attachment into one related item. Now, we properly treat them as separate.
Still need to add posts in groups and FB stories.
2025-09-16 23:26:11 -06:00
Matthew Holt
4a7458d048
facebook: Import photo albums
2025-09-16 16:47:11 -06:00
Matthew Holt
31dd7fd6f5
Try to support multi-archive Facebook exports; fix conversation loading
...
Conversations with more than ~6 participants should now load properly, also faster thanks to a simplified query
2025-09-16 11:26:23 -06:00
Matthew Holt
dd8c6e05cb
Cocoa epoch dates are UTC
...
Also minor fix for map path coloring; should start from end of timespan'ed item, not beginning, otherwise gradient is skewed
2025-09-12 21:48:35 -06:00
Matthew Holt
2b5fd57259
Proper support for mixed timestamps and time zones
...
This will be a long-time WIP, but we now support full timestamps with local time offsets, absolute ones with UTC times only, and wall times only.
Several other fixes/enhancements. Making an effort to display time zone in time displays throughout the app.
Can now try to infer time zones during import, which is the default setting.
This will take a while to fully implement but it's a good start. Just have to be really careful about date crafting/manipulation/parsing.
2025-09-12 11:17:49 -06:00