Commit graph

1415 commits

Author SHA1 Message Date
Michael Mayer 424c0ce616 Indexer: Automatically rename related sidecar files 2020-12-11 19:17:07 +01:00
Michael Mayer 04c17fb77b Indexer: Improve stacking settings and merging 2020-12-11 17:21:13 +01:00
Michael Mayer 8f80026b3e Database: Add restore command 2020-12-11 13:52:34 +01:00
Michael Mayer 20feb6f0a0 Database: Add backup command and make config more compatible #460 2020-12-11 12:46:28 +01:00
Michael Mayer d82a0ab525 Indexer: Don't optimize merged photos
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-09 22:15:10 +01:00
Michael Mayer fe9884331f make fmt
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-09 21:49:41 +01:00
Michael Mayer 0d16e31154 Albums: Disable date update queries on SQLite #692 2020-12-09 21:44:39 +01:00
Michael Mayer c0fb3deb06 Indexer: Stack photos while optimizing 2020-12-09 21:44:04 +01:00
Michael Mayer 382e001053 Albums: Improve update queries 2020-12-09 13:36:01 +01:00
Michael Mayer 004400b118 Albums: Improve folder indexing 2020-12-09 13:10:21 +01:00
Michael Mayer b7cd2facb9 Indexing: Use fallback for MySQL to improve performance on MariaDB #599 2020-12-09 13:08:55 +01:00
Michael Mayer 5645cb1d0e Albums: Update folder album slug when path changes
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-09 00:44:33 +01:00
Michael Mayer 5096e6201d Indexer: Show folder names while indexing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-09 00:07:11 +01:00
Michael Mayer ee49073cf2 Albums: Improve UX and indexing 2020-12-08 22:40:13 +01:00
Michael Mayer 466a1bc3dd Albums: Hide empty folder albums after re-indexing #684 2020-12-08 19:47:27 +01:00
Michael Mayer a43f8be231 Stacks: Repair merge query #681 #667 #593 2020-12-07 17:51:35 +01:00
Michael Mayer 63a8dbf4ce Stacks: Improve advanced indexing options #681 #667 #593 2020-12-07 17:03:06 +01:00
Michael Mayer c466291405 SQLite: Reduce worker limit to 4 to prevent locking #680 #558 #392 2020-12-07 16:20:35 +01:00
Michael Mayer ae0af699c6 Stacks: Add advanced indexing options #681 #667 #593 2020-12-07 16:19:03 +01:00
Michael Mayer 5acc02e248 Config: Initialize storage folder with serial
To detect non-permanent storage and configuration issues.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-05 06:21:16 +01:00
Michael Mayer 846c635f22 Video: Transcoding to AVC1 #636 #513 #624 #603 #533 $440 2020-12-05 04:24:10 +01:00
Michael Mayer 0b16a67c90 WebDAV: Sync video files #504 2020-12-05 02:18:45 +01:00
Michael Mayer 56851f4892 WebDAV: Add timeout for fetching directories #664 2020-12-05 01:24:33 +01:00
Michael Mayer 604f110277 Metadata: Add test case for bad Exif rotation #637 2020-12-05 00:46:54 +01:00
Michael Mayer d0f8c577b3 Indexer: Add optimize command & automatically fix location data #546 2020-12-05 00:13:44 +01:00
Michael Mayer 6d791f8a59 Indexer: Improve logging #546 2020-12-04 23:16:22 +01:00
Michael Mayer c4a94f8135 Indexer: Update changed Exif metadata #563 2020-12-04 22:06:23 +01:00
Michael Mayer e77fefd78f Indexer: Improve stacking SQL #576 2020-12-04 20:33:17 +01:00
Michael Mayer 902aacece9 Indexer: Merge identical photos (stack files) #576 2020-12-04 19:51:51 +01:00
Michael Mayer 390dc7f7e5 Refactor backend api package 2020-12-04 13:10:32 +01:00
Michael Mayer b3abe6840a Config: Create settings.yml if it doesn't exist 2020-12-04 12:15:59 +01:00
Michael Mayer b7876711ad Fallback to backup path if storage path is not defined or writable 2020-12-04 11:37:31 +01:00
Michael Mayer 3464bf35ed Config: Add backup path parameter 2020-12-04 11:02:19 +01:00
Michael Mayer 8ea5a882b4 Backend: Add filename search filter
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-03 21:07:38 +01:00
Michael Mayer 3992785095 Backend: Update location test 2020-12-02 07:53:44 +01:00
Michael Mayer 7134266794 Backend: Update geolocation api url and tests 2020-12-02 00:18:56 +01:00
Simon Waldherr f10459c447
Backend: Add comments (#562) 2020-11-22 10:38:45 +01:00
Michael Mayer dfd9cb53ac Update link entity test #621
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-11-22 03:22:21 +01:00
Michael Mayer 49a299b3b0 Fix links with expiration #621
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-11-22 03:12:31 +01:00
Michael Mayer cfa369cf17 Backend: Clear folder cache after indexing #623
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-11-22 01:30:48 +01:00
Michael Mayer 25e88bb1fc Use mutex when extracting Exif metadata #600
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-11-21 23:43:53 +01:00
Michael Mayer 59a806c685 Indexer: Fix purge and restore of RAW files #568 #614
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-11-21 23:28:03 +01:00
Michael Mayer 590350a6dd Backend: Fix logging in File.Rename() #568 2020-11-21 18:33:19 +01:00
Michael Mayer 8516c749b7 Fix search for folders with special characters in their name #581 #587
This will remove the ability to search for multiple folders.
2020-11-21 18:32:04 +01:00
Michael Mayer 5daa689975 Backend: Format go imports 2020-11-21 18:08:41 +01:00
Michael Mayer 668025c050 Fix album cover after update #575 2020-11-21 18:05:20 +01:00
Michael Mayer ef316c98b7 Implement batch approve #489 2020-11-21 17:36:41 +01:00
Michael Mayer 1ad2d53e16 Indexer: Recover all missing files #568 2020-11-21 15:43:13 +01:00
Michael Mayer a45aca5da9 Indexer: Improve log messages for purge #568 2020-11-20 17:41:44 +01:00
Michael Mayer 7d87062436 Indexer: Fix handling of renamed and previously missing files #568 2020-11-20 17:25:46 +01:00
Michael Mayer edb52b85a4 Backend: Use version 0.0.0 for all tests 2020-11-16 19:39:40 +01:00
Michael Mayer df3b125f27 Import: Create thumbs for related JPEG files #602 2020-11-15 15:55:02 +01:00
Michael Mayer 28f59947df Indexer: Update index when files were renamed #568 2020-11-15 15:15:56 +01:00
Michael Mayer 068d38820f Indexer: Reset file lookup table if count changes #568 2020-11-15 13:40:21 +01:00
Michael Mayer 2bad5b3cdd Backend: Wrap SQL select for MySQL 8 #599
In MySQL, you can't modify the same table which you use in the
SELECT part (DELETE and UPDATE with subquery):
https://dev.mysql.com/doc/refman/8.0/en/update.html

We need to verify how this affects large photo libraries
as it probably "breaks" the query optimizer. So might lead to
bad performance as well as high CPU and/or memory usage.
2020-11-15 12:15:14 +01:00
Michael Mayer e22e6c6d37 Indexer: Improve duplicate detection #568
Only non-sidecar files in the originals folder will be added to the
duplicates table to avoid side effects.
In addition, the duplicates table is cleaned before and after indexing.
2020-11-15 10:31:46 +01:00
Theresa Gresch 67287a2d57 Backend: Add testdata 2020-10-27 09:30:20 +01:00
Michael Mayer 0a5b460295 Backend: Label minivans as car
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-25 16:54:45 +01:00
Michael Mayer c048a71716 Improve comments for MediaFile.RelatedFiles() #560
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-21 07:39:25 +02:00
Michael Mayer 28ec2df70f Limit number of default workers when using SQLite #558
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-21 07:33:24 +02:00
Michael Mayer 458dfcefdc Strict matching for related files when stripSequence is false #560
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-21 07:25:19 +02:00
Theresa Gresch ce4960e2b8 Backend: Add unit tests 2020-10-20 12:06:16 +02:00
Theresa Gresch f38434dfb0 Backend: Add unit tests 2020-10-20 11:05:02 +02:00
Theresa Gresch c72ddbedcb Backend: Add unit tests 2020-10-20 10:07:27 +02:00
Theresa Gresch 7b9f21207e Backend: Add tests for entity 2020-10-20 09:25:19 +02:00
Theresa Gresch b19e01396a Backend: Add tests for entity 2020-10-19 17:06:09 +02:00
Theresa Gresch 1cd2dfbd22 Backend: Add tests for api 2020-10-19 16:11:42 +02:00
Michael Mayer 5bafb17c4b Metadata: Sanitize keywords, subject & artist #490
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-19 11:50:54 +02:00
Michael Mayer 45f1a34018 Backend: Use constants for home dir and path separator
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-19 09:52:52 +02:00
Michael Mayer c288dc37a9 Backend: Fix test logging
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-13 23:13:18 +02:00
Michael Mayer fc9e3d1c58 Config: Improve docker-compose.yml examples
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-09 15:25:46 +02:00
Michael Mayer 3b02449903 Backend: Fix config tests
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-09 11:35:05 +02:00
Michael Mayer bd44d9cb77 Backend: Fix typo
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-08 09:02:38 +02:00
Michael Mayer 5fa47652ee Backend: Refactor config initialization
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-08 08:52:03 +02:00
Michael Mayer 95e51a9754 Config: Refresh expired sessions on startup
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-07 12:47:12 +02:00
Michael Mayer 13383ac701 Config: Don't error if settings path does not exist #535
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-07 12:22:45 +02:00
Michael Mayer 4e172c450a Improve feedback form
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-05 07:40:11 +02:00
Michael Mayer b87e860444 Add feedback form
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-04 22:22:53 +02:00
Michael Mayer 4fc693fb0b Permanently delete non-primary files #435
This is a fix for unstacking issues in certain situations. More general
photo delete functionality will be added later, see #167.

Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-04 14:21:40 +02:00
Michael Mayer 2e51e84605 Backend: Index camera make & model for video files #506 2020-10-04 12:47:53 +02:00
Michael Mayer 9826e57149 Docker: Refactor images to be more compatible with prod environments #411 #468
You should now be able to provide UMASK, UID and GID as environment variables
when using our production images. Work in progress.
2020-10-04 11:23:01 +02:00
Michael Mayer 78f2470421 Backend: Refresh api keys and send to frontend
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-10-04 04:47:54 +02:00
Michael Mayer 46b9239026 Backend: Refactor user entity and add pro package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-10-03 13:50:30 +02:00
Phil Davis c90f19ec21
Fix minor typos 2020-10-01 16:00:43 +05:45
Theresa Gresch c5b657ba05
Merge pull request #503 from nvllsvm/optimize
Optimize images
2020-09-30 10:48:40 +02:00
Theresa Gresch f8e2b5800f Backend: Add testdata for json files belonging to videos with information about camera 2020-09-23 16:36:55 +02:00
Andrew Rabert 443789a7e0 Optimize images
Used:
- `oxipng --zopfli --opt max`
- `jpegoptim --all-progressive`
2020-09-21 17:40:58 -04:00
Michael Mayer 226f218f80 Backend: Count login attempts and localize error messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-21 09:40:35 +02:00
Michael Mayer 6d58b76394 Backend: Remove GlobalUID from Address entity
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-21 08:55:33 +02:00
Michael Mayer b81b8e62cd Backend: Add "qrf" to unwanted descriptions
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-21 03:54:40 +02:00
Michael Mayer d38c84bbfb Update trademark
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-21 02:48:22 +02:00
Michael Mayer 02c3cdc8b9 Backend: Code clean-up in album download API
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-20 19:14:50 +02:00
Michael Mayer dc8640ca2b Person: Revert previous commit
EulaSigned might cause confusion as it's commonly used for proprietary software.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-17 19:20:12 +02:00
Michael Mayer 48ec25bcba Person: Add EulaSigned date field
Users might need to accept terms & conditions when using external services / APIs.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-16 18:14:09 +02:00
Michael Mayer 9950bc9975 Person: Rename UserActive to IsActive #98 #144
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-16 16:44:20 +02:00
Michael Mayer a44351f332 Person: Refactor / rename entity fields #98 #144
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-16 16:24:03 +02:00
Michael Mayer d18414e468 Person: Rename optional UserUUID to GlobalUID #98 #144
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-16 15:35:35 +02:00
Michael Mayer 3af6e9b83e Frontend: Update user model #98 #144
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-13 18:10:31 +02:00
Michael Mayer 84b17194af Backend: Refactor person entity #98 #144
Database column types are now UPPERCASE so that developers can easily recognize them. After upgrading to GORM 2.0, we can use generic types instead.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-13 17:51:43 +02:00
Michael Mayer a071642629 Backend: Refactor person entity fields #144
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-07 17:10:43 +02:00