This is a legacy package I wrote in the earlier days of Timeliner (and maybe even photobak?) that made it easier to access cloud services protected by individual OAuth accounts... I am not sure if we will use it in Timelinize but I'm holding onto it for now.
Fix gallery photo prev/next for photos with time zone
When jumping between photos in the gallery with the prev/next button, the buttons were incorrectly enabled/disabled/wouldn't work even if enabled for me. This was caused by the photos having a time zone UTC+1 (time_offset = 3600). The js frontend uses formatted timestamps including the time zone (peekFromItem.timestamp in galleryFilterParams). These are converted to a unix timestamp via UTC().UnixMilli(), so the time zone is already taken care for and adding time_offset is not necessary. For the filtering in the gallery grid itself, a unix timestamp is generated client-side (something like &start=1762124400&end=1762210800) taking the system time zone into account, so this is correct without any extra logic as well.
Allow TLZ_ORIGIN to accept multiple origins separated by commas for more
flexible CORS configuration. Whitespace around each origin is trimmed and
empty values are filtered out.
Example: TLZ_ORIGIN="http://localhost:3000,http://example.com:8080"
Co-authored-by: Dulanic <Dulanic@users.noreply.github.com>
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
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.
This is supposedly a smarter way to do ANALYZE, as it only analyzes what sqlite thinks is needful. Should hopefully address some reports of too-frequent, long-running analyze queries.
There was one time I noticed that the pragma didn't improve query plans, until I ran analyze specifically which did improve it, but that was using the old DB connection model where I had a single pool of mixed readers/writers, so maybe it's possible that the new pooling style (separate r/w pools) also addresses that, I dunno.
- New config parameter "resume_jobs" which can disable auto-resuming jobs at timeline open. (closes#159)
- Renamed "a" to "app" in one method using "Rename symbol" (not "Change all occurrences"), which surprisingly updated the identifier in ALL methods. That must be new. Anyway, that's the huge diff.
- Minor fix to metadata merge that does a more proper nil check to avoid a panic.
- Changed some omitempty to omitzero
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.