1
0
Fork 0
Commit graph

21 commits

Author SHA1 Message Date
Matthew Holt
e7650c784a
Some minor changes
- 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
2025-10-22 15:13:32 -06:00
Matthew Holt
e9a7c03c53
Fix ExFAT crashes; refactor sql.DB handling
The crashes on ExFAT are caused by a bug in the MacOS ExFAT driver. It is unclear whether other OSes are affected too.

https://github.com/mattn/go-sqlite3/issues/1355

We now utilize sqlite's concurrency features by creating a write pool (size 1) and a read pool, and can eliminate our own RWMutex, which prevents reads at the same time as writes. Sqlite's WAL mode allows reads concurrent with writes, and our code is much cleaner.

Still need to do similar for the thumbnail DB.

Also could look into using prepared statements for more efficiency gains.
2025-09-30 12:31:41 -06:00
Matthew Holt
039dfe5ba8
Fix and optimize entity processing; faster imports
Some certain rare edge cases were problematic, like when importing a contact list / vcard dataset after importing multiple messaging data sets, and there are entities with multiple phone numbers...

That, and a few other things are handled better. The loadEntities query has been cleaned up and corrected.

I got rid of autolink stuff with entity_attributes in the DB because it was not useful or really correct either. Added complexity causing bugs.

Imports are sometimes about 20-50% faster now.
2025-09-25 22:49:39 -06:00
Matthew Holt
1f73da0527
Fix lint errors 2025-08-21 15:39:36 -06:00
Matthew Holt
b365dbbafc
Fix panics with obfuscation 2025-07-09 13:30:50 -06:00
Matthew Holt
336ff7fae0
Fix new lint warnings
Must have been a change in golang-ci-lint
2025-07-01 15:41:07 -06:00
Matthew Holt
9d75c2895f
Optimize entity loading in hot path of import job
Verified with EXPLAIN QUERY PLAN
2025-06-18 19:09:48 -06:00
Matthew Holt
bf7f0cdf3c
Upgrade python deps; get locale on Windows 2025-06-18 10:33:30 -06:00
Matthew Holt
056f813889
gpx: Mark place entity points as significant
Also still allow clustering significant points, since we do preserve them, the data source can just call ClusterPoints() to get it back...
2025-06-17 21:37:38 -06:00
Matt Holt
def05a6cfa
Revise location processing and improve place entities (#101)
* Revise location processing and place entities

- New, more dynamic, recursive clustering algorithm
- Place entities are globally unique by name
- Higher spatial tolerance for coordinate attributes if entity name is the same (i.e. don't insert new attribute row for coordinate if it's sort of close to another row for that attribute -- but if name is different, then points have to be closer to not insert new attribute row)

There is still a bug where clustering is too aggressive on some data. Looking into it...

* Fix overly aggressive clustering

(...lots of commits that fixed the CI environment which changed things without warning...)
2025-06-17 16:13:44 -06:00
Matthew Holt
fa9ad482b3
Place entities from GPX sources; several other improvements/fixes
Location processing is still being revised (WIP).
2025-06-09 17:18:44 -06:00
Matthew Holt
952057f1b5
Update profile picture in corner when entity 1 gets new picture
Including when entity 1 is merged into
2025-05-17 16:58:03 -06:00
Matthew Holt
ba4635cf7e
Fix data file handling
It wasn't updated properly with the big pipeline refactor
2025-05-04 13:28:20 -06:00
Matthew Holt
f0697d2d6b
Refactor embedding jobs; enhance tooltips; upgrade gofakeit to v7
The gofakeit upgrade uses the new math/rand/v2 package, which uses uint64 more than int64, so we had to change a bunch of row IDs from int64 to uint64.
2025-04-24 16:33:41 -06:00
Matthew Holt
b4f43b662d
Super minor tweaks 2025-04-11 16:31:25 -06:00
Matthew Holt
a749c74747
Fix map size; auto-detect locale 2025-04-11 14:18:04 -06:00
Matthew Holt
a4ec710f9f
Various fixes and improvements (imessage, duplicate rows, etc) 2025-01-21 10:16:38 -07:00
Matthew Holt
ce297389b0
Thumbnail job streaming; WIP: interactive imports 2024-12-19 06:51:06 -07:00
Matt Holt
746e5d6b5c
Refactored import flow, new import UI, thumbnails stored in timeline, etc. (close #3) (#43)
* Schema revisions for new import flow and thumbnails

* WIP settings

* WIP quick schema fix

* gallery: Image search using ML embeddings

Still very rough around the edges, but basically works.

'uv' gets auto-installed, but currently requires restarting Timelinize before it can be used.

Lots of tunings and optimizations are needed. There is much room for improvement.

Still migrating from imports -> jobs, so that part of the code and schema is still a mess.

* Implement search for similar items

* Finish import/planning rewrite; it compiles and tests pass

* Fix some bugs, probably introduce other bugs

* WIP new import planning page

* Fix Google Photos and Twitter recognition

* Finish most of import page UI; start button still WIP

* WIP: Start Import button

* Fixes to jobs, thumbnail job, import job, etc.

* Implement proper checkpointing support; jobs fixes
2024-12-06 11:03:29 -07:00
Matthew Holt
3066ddbeb9
Major linting overhaul
I've addressed most of the "fast" linters errors locally in my editor.

Some linters are broken or buggy.
2024-08-29 16:43:52 -06:00
Matthew Holt
1daf6f4157
Initial open source commit 2024-08-11 08:02:27 -06:00