Things would be so much easier if ubuntu just updated their packages
* ci: Attempt to fix Linux workflows
See if Copilot is worth its snuff
* Revert
* Try downgrading vipsgen instead
* Try again
* Try to install vips from source
* Sigh, ok try building from source
* Sigh
* sighhhh
* Sighhhhhhhhhhhhhhhhhhhh
* Try without cache for a moment
* Try caching again
* Try composite action
* Try again?
* Set shell on composite action steps...
* Update a couple other workflows
* Try to fix test job
* Some cleanup
* Add heif
* Oops
* Pointless comment but let's see if the cache worked
* Fix go builds
* Try installing pkg-config I guess?
* Try more pkg config paths?
* Tweak
* Are we there yet
* One more tweak
* Rename some things
There are many situations to consider:
- Gallery page
- Preview modal on gallery page
- Item mini displays (timeline page, map page)
- Items page
- Item page
And then, for each of those, additionally:
- Demo mode off
- Demo mode on (images don't have the actual content image, only the thumbhash)
-And then, for each of those, additionally:
- Image cached
- Image not cached
(When an image is cached, no thumbhash is needed because it is immediately available.)
It's tricky to get everything looking right everywhere!
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.
This is not ideal... should probably be a blurry video instead, (or animated webp!?) but ain't nobody got time for that right now when there's DB corruption happening
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.
- The return of the accordion button chevrons!
- Hid the Interactive option since it's not yet finished
- Moved a couple options into the advanced settings dialog
I guess the new Google Takeout backend uses a new/upgraded archiver that makes directories implicit within an archive. It exposed a bug in the archives package that did not return a stat entry for implicit directories. That's arguably correct, but not helpful when treating an archive as a file system or, like, a normal directory.