1
0
Fork 0
Commit graph

28 commits

Author SHA1 Message Date
Matthew Holt
59434bdde9
Why can't it just tell me all the lint errors, why leave off the last 2 2025-11-04 16:37:24 -07:00
Matthew Holt
2d9c8db9d7
ci: Fix lingering lint errors 2025-11-04 16:31:56 -07:00
Matthew Holt
962369382a
Hopefully appease new linter 2025-11-04 16:27:09 -07:00
Matthew Holt
19acc6cc11
Create WAL checkpoint after jobs 2025-10-23 13:20:20 -06:00
Matthew Holt
03d126ed68
Use PRAGMA optimize instead of ANALYZE
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.
2025-10-23 11:30:05 -06:00
Matthew Holt
94e963e779
Hopefully fix sqlite DSN for Windows 2025-10-08 11:17:15 -06:00
Matthew Holt
fb3d529228
Refactor thumbnail DB handle as well
Fix error when repo property doesn't exist
2025-09-30 14:04:53 -06:00
Matthew Holt
a4a4cfa370
Actually make exfat fix work
Oops
2025-09-30 13:04:07 -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
c9db392d20
Implement timeline settings stored in DB; toggle semantic features
I don't love that the type has to be stored in the table... it would be great if we could infer it, but I don't know how that would work for strings that look like another type.
2025-09-05 16:27:17 -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
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
1bd7c2a5c8
Fix several bugs related to duplicates, lat/lon tolerances, etc.
Separate altitude out from latlon in unique constraints
2025-05-25 12:36:03 -06:00
Matthew Holt
73196f51ae
Refactor DirEntry, fix some bugs
Remove TopDir* functions, they aren't really relevant with our new import planner.
2025-04-02 21:52:49 -06:00
Matthew Holt
932831db47
Refactor data sources to make them dynamic
Also change the checkbox dropdown to a more interactive tomselect (type-to-search dropdown with chips) with pictures.

This makes it so data sources can be added to a timeline dynamically.

In the future, data sources can be implemented externally and push data to the timeline, so these need to not be rigidly hard-coded into the app and assumed to never change.

This essentially adds all their info (name, title, description, image, etc) into each timeline DB.
2025-02-11 16:49:20 -07:00
Matthew Holt
c20cf838d9
Fix data sources
Currently transitioning to letting them be dynamic
2025-02-07 13:08:55 -07:00
Matt Holt
628ecc1cb3
ci: Update workflows; restore functioning CI jobs (#64)
* ci: Attempt to fix broken CI

It broke out of the blue several months ago. I think ubuntu-latest
updated, but there's no PPA for libheif in that distro I guess

* Try tests next

* More fixing

* Try again

* Yada yada

* Woops

* I don't really know what I'm doing
2025-01-27 22:30:54 -07:00
Matthew Holt
a6da2ee542
applecontacts: Split out this data source; imessage: FIxes & improvements 2025-01-22 22:35:46 -07:00
Matthew Holt
bb9151628f
WIP: new entity page; delete almost all DB indexes
Imports are now 4-5x faster and queries are still just about as fast. New indexes should only be created after proving their usefulness.
2025-01-07 13:42:05 -07:00
Matthew Holt
a4d8bc923d
Data source checkpoints; refine import concurrency
And related improvements and fixes
2024-12-15 22:40:58 -07:00
Matthew Holt
cbaa39b1b9
Implement proper ANALYZE maintenance 2024-12-13 20:55:22 -07:00
Matthew Holt
22628833a7
Refactor obfuscation mode and some processing logic 2024-12-13 07:19:27 -07:00
Matthew Holt
13131aba65
Run ANALYZE after imports and at startup; add NMEA icon 2024-12-08 05:29:17 -07:00
Matthew Holt
447b421a67
Start debugging slow conversation queries 2024-12-07 14:57:11 -07:00
Matthew Holt
53ca6063ab
Several fixes, performance improvements 2024-12-07 12:36:42 -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