Commit graph

1941 commits

Author SHA1 Message Date
Michael Mayer
cd38e507f9 Additional translations: Workaround for backend & date library #710 2020-12-15 20:41:53 +01:00
Michael Mayer
28880e682d Database: Improve config and SQL queries 2020-12-15 20:14:06 +01:00
Michael Mayer
6b38a06bf5 Logs: Reduce http recover log level to debug 2020-12-15 17:43:05 +01:00
Michael Mayer
0999eca362 Search: Use | as OR separator 2020-12-14 22:57:07 +01:00
Michael Mayer
387452858e Indexer: Use mutex when saving photos to avoid concurrency issues 2020-12-14 20:56:33 +01:00
Michael Mayer
c2e5663da0 Indexer: Add folder albums while indexing 2020-12-14 20:37:54 +01:00
Michael Mayer
430d16bf95 Indexer: Find existing camera via slug, return unknown camera by default 2020-12-14 19:24:08 +01:00
Michael Mayer
5383553cd1 Moments: Update folder search filter when path changes 2020-12-14 14:11:14 +01:00
Michael Mayer
35659f25cf Indexer: Improve logging and locking 2020-12-14 13:31:18 +01:00
Michael Mayer
c6dd1c608d Search: Use quotes for serializing strings containing ":" 2020-12-14 10:35:37 +01:00
Michael Mayer
e3190a9f3f Videos: Don't transcode the same file twice #703 2020-12-14 09:23:07 +01:00
Michael Mayer
1321192eff Search: Ignore escaped ":" in query parser 2020-12-14 09:21:29 +01:00
Michael Mayer
43e324700b Indexer: Avoid adding the same entity simultaneously 2020-12-13 15:43:01 +01:00
Michael Mayer
801dc49dd7 Settings: Add "delete" feature flag and share page title #167 2020-12-13 14:53:26 +01:00
Michael Mayer
ce471de921 Indexer: Refactor photo merge #616 2020-12-12 22:02:14 +01:00
Michael Mayer
7bae7edf50 Videos: Set explicit content type header for MPEG-4 AVC #603 2020-12-12 17:53:19 +01:00
Michael Mayer
473566f404 Videos: Enforce transcoding to MPEG-4 AVC #603 2020-12-12 17:20:31 +01:00
Michael Mayer
fe72a1ab52 Frontend: Improve sharing UX 2020-12-12 15:13:16 +01:00
Michael Mayer
73a00efae8 Workaround for bad image rotation in Exif headers #637 2020-12-12 13:05:58 +01:00
Michael Mayer
03d3dd0f02 Unstack related sidecar files #616 2020-12-12 11:08:53 +01:00
Michael Mayer
6b9d0ce584 Indexer: Don't merge edited photos 2020-12-12 08:14:44 +01:00
Michael Mayer
468e177cd3 Indexer: Ignore sequential names for single photos 2020-12-11 23:45:12 +01:00
Michael Mayer
645df39c33 Fix RenameSidecars test 2020-12-11 23:28:52 +01:00
Michael Mayer
9fe9ca747f Indexer: Improve unstacking of single files 2020-12-11 23:09:06 +01:00
Michael Mayer
9f4066edb6 Indexer: Improve stacking and indexing of moved files 2020-12-11 22:09:11 +01:00
Michael Mayer
8a86fbc60f Indexer: Update index after renaming related sidecar files 2020-12-11 19:39:42 +01:00
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
Michael Mayer
01c4b483dd Backend: Refactor person entity for smaller db row size #144
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-07 12:18:12 +02:00
Andreas Rammhold
2a827739e0
Backend: stream album ZIP files (#492)
ZIP files generated for albums will no longer be written to disk prior
serving them to users. The zip file will be written directly into the
HTTP response.
2020-09-06 14:58:08 +02:00
Michael Mayer
641ffd397d Backend: Add signature to PhotoPrism Places API requests
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-06 14:48:09 +02:00
Michael Mayer
33888fd231 Backend: Add credentials and extend person entity #98 #144
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-06 14:18:40 +02:00
Michael Mayer
53c48cd570 Config: Remove deprecated "sidecar-hidden" flag #488
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-06 12:42:38 +02:00
Michael Mayer
6577d99363 Postgres: Add docker-compose.postgres.yml, see #47
Postgres support additionally requires a GORM upgrade to 2.0 (v1.20) as the current version doesn't support generic column types like "bytes" (VARBINARY in MySQL, different in Postgres and other SQL dialects).

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-06 12:38:23 +02:00
Michael Mayer
7d95a2cd5d Improve sidecar config hints #488
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-06 12:26:25 +02:00
Michael Mayer
b39d660686 Exif: Fallback to SearchFileAndExtractExif for broken JPEG files #469
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-28 09:27:25 +02:00
Michael Mayer
b476916936 Restore initial admin password when running photoprism reset
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-19 15:36:31 +02:00
Michael Mayer
b3bb2883fc Frontend: Disable route when PHOTOPRISM_SETTINGS_HIDDEN is true #474
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-19 12:45:26 +02:00
Michael Mayer
1c0d6cba2c Add photoprism reset command
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-19 11:35:38 +02:00
Michael Mayer
db4749a6f8 Config: Show helpful error message when a path is missing #418
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-18 19:09:46 +02:00
Theresa Gresch
7e7b53590a Backend: Add validation for valid dates in setTakenAt() 2020-08-18 10:42:09 +02:00
Michael Mayer
6e2849fba2 Index: Don't stack files based on XMP InstanceID
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-18 00:45:53 +02:00
Michael Mayer
d43d3a22e0 Backend: Improve country estimate from folder name
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-14 15:36:48 +02:00
Michael Mayer
757cfc4bfb RAW: Index CR3 metadata and use custom RawTherapee profile #445
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-12 20:12:04 +02:00
Theresa Gresch
68d490c975 Backend: Add new stopword 2020-08-12 19:14:01 +02:00
Michael Mayer
ebe5143fc6 RAW: Render CR3 files using Rawtherapee 5.8 #445
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-12 13:16:25 +02:00
Michael Mayer
336ad3e751 Backend: Rename test files #442
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-12 04:39:05 +02:00
Michael Mayer
e0eaa72843 Backend: Fix nil pointer panic in RelatedFiles() #454
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-12 03:36:49 +02:00
Michael Mayer
3ffe74a7d6 Metadata: Revert tests after upgrading go-exif #431
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-07 10:38:40 +02:00
Michael Mayer
d2eccd00c0 Metadata: "Fix" broken tests after upgrading go-exif #431
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-06 15:50:18 +02:00
Michael Mayer
7c18863287 Metadata: Disable additional broken tests #431
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-06 11:06:25 +02:00
Michael Mayer
b232d374ad Metadata: Update Exif tests and dependencies #431
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-06 10:55:15 +02:00
Michael Mayer
28595497b1 Backend: Limit place estimates to 36h time difference
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-24 14:06:26 +02:00
Michael Mayer
91a1a1ca27 Backend: Ignore image unique IDs that are not standard UUIDs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-23 15:34:20 +02:00
Michael Mayer
fc9442b6a3 Index: Don't expose full directory names in logs #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-21 15:01:46 +02:00
Michael Mayer
7d00e68d92 Index: Refactor mime type detection #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-21 14:43:45 +02:00
Michael Mayer
710888c59f Darktable: Disable presets by default
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-21 12:18:53 +02:00
Michael Mayer
d20d9c50dd Metadata: Upgrade go-exif v3
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-21 10:52:39 +02:00
Michael Mayer
ab6228fb9a Index: Skip empty files #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-21 10:44:41 +02:00
Michael Mayer
4cda0fd9a8 Backend: Adjust metadata log levels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-20 23:29:14 +02:00
Michael Mayer
a01e54070d Index: Skip duplicates and handle files with wrong extension #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-20 19:48:31 +02:00
Michael Mayer
5839bc9c79 Metadata: Add test jpeg with "slice bounds out of range" error
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-20 13:53:08 +02:00
Michael Mayer
0da72687e6 Backend: Add Huawei P10 models to camera model lookup table
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-20 13:03:14 +02:00
Michael Mayer
cd7cd064b6 Backend: Add Huawei Mate models to camera model lookup table
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-20 12:43:57 +02:00
Michael Mayer
54c8a25ff8 Index: Also compare camera serial before stacking a file
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-20 12:32:50 +02:00
Michael Mayer
b14bddca9d Backend: Index xmp error messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-20 11:40:55 +02:00
Michael Mayer
8ebb6b85ed Backend: Index file error messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-20 11:39:16 +02:00
Michael Mayer
9a2b75781e Backend: Adjust log levels and messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-20 11:29:38 +02:00
Michael Mayer
5118d3a604 Index: Shorten restore log message #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-20 10:52:28 +02:00
Michael Mayer
334e5ff0d3 Index: Refactor skipping for improved performance #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-20 10:13:04 +02:00
Michael Mayer
3f46f95894 Index: Use automatically detected relative name #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-20 09:31:01 +02:00
Michael Mayer
48407b4526 Tweak indexing of related files #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-19 19:28:41 +02:00
Michael Mayer
f8170e30c7 Index: Remove main files from related files list #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-19 17:43:54 +02:00
Michael Mayer
f0cfe5ff3a Index: Skip with continue, not return nil #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-19 17:33:40 +02:00
Michael Mayer
d3f3b24ba3 Event Hub: Use NonBlockingSubscribe to avoid deadlocks #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-19 16:48:04 +02:00
Michael Mayer
138dabd0c8 Metadata: Use mime type to determine file format and exif parser #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-19 16:39:43 +02:00
Michael Mayer
0023fdb1e2 Fix indexing aborts when encountering broken symlink #414
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-19 14:45:49 +02:00
Michael Mayer
24cfa1aea2 Backend: Refactor file indexing / skipping
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-18 20:58:35 +02:00
Michael Mayer
ee8d9ad919 Show max cached thumbnail size if uncached is disabled #413
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-18 17:33:02 +02:00
Michael Mayer
df0868e3d3 Backend: Adjust log levels and messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-18 16:54:13 +02:00
Michael Mayer
ff56de1ab2 Backend: Adjust log levels and messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-18 15:40:05 +02:00
Michael Mayer
28ff51d5cf Backend: Adjust log levels and messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-18 13:21:43 +02:00
Michael Mayer
9c1518c5ef Backend: Remove unused duplicate filter from photo search
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-18 13:09:22 +02:00
Michael Mayer
812e550d76 Backend: Remove unused duplicate field from file entity
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-18 12:39:04 +02:00
Michael Mayer
66a71d7271 Backend: Reduce YAML backup log level
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-17 17:38:22 +02:00
Michael Mayer
cc946b8ea8 Use int64 for file modification timestamps #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-17 16:09:55 +02:00
Michael Mayer
31647943d9 Add file timestamp map for faster indexing #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-17 12:47:12 +02:00
Michael Mayer
ac0ce0aaf0 Backend: Index symlinks as folders
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-17 10:10:33 +02:00
Michael Mayer
13fe9af2fc Backend: Fix panorama detection #352
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-17 10:10:01 +02:00
Michael Mayer
716aa082d8 Metadata: Upgrade to go-exif v3
See https://github.com/dsoprea/go-exif/issues/43

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-17 09:41:37 +02:00
Michael Mayer
4c72df7610 Metadata: Upgrade go-exif v2
See https://github.com/dsoprea/go-exif/issues/43

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-17 09:28:31 +02:00
Michael Mayer
08d89bfb1d Metadata: Add *.heic parser and upgrade go-exif
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-16 20:32:45 +02:00
Michael Mayer
6847b8b5f9
Complete file browser with symlink support and full folder / file names (#412)
* Backend: Code clean-up

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* File Browser: Show complete, original file and folder names #408

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* File Browser: Follow symlinks #201 #403 #407

Warning: Following symlinks can make folder lists non-deterministic
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-16 15:43:23 +02:00
Michael Mayer
6c13b75562 Backend: Improve places logging #399
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-16 14:00:22 +02:00
Michael Mayer
0e5fe5eb43 Index image projection and add panorama filter
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-16 13:02:48 +02:00
Michael Mayer
db5edb8e4d Add flag for 360° panoramas #352
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-15 20:59:33 +02:00
Michael Mayer
b1b6e438f7 Backend: Improve log messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-15 11:28:54 +02:00
Michael Mayer
36919b69a0 Backend: Improve logging and enforcement of file size limit
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-15 10:13:54 +02:00
Michael Mayer
f484dd004c Add Huawei P20 and P20 Pro #399
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-15 09:18:58 +02:00
Michael Mayer
d6b848c0e9 Backend: Use common log prefix for places and their cells
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-15 08:31:36 +02:00
Michael Mayer
1ad34478de Increase default jpeg-size to 7680 x 4320 px #388
It's easier to decrease this when you've made a mistake than the other way.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-15 08:30:28 +02:00
Michael Mayer
c0f10e2288 Use gettext for backend translations too
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-15 01:26:54 +02:00
Theresa Gresch
a7380357d5 Backend: Add unit tests for internal/api 2020-07-14 18:08:48 +02:00
Theresa Gresch
f47256b49f Backend: Add unit tests for internal/api 2020-07-14 18:08:48 +02:00
Michael Mayer
b62af742ae Backend: Improve log messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-14 18:00:32 +02:00
Theresa Gresch
c027e31304 Backend: Add unit tests for internal/api 2020-07-14 17:02:39 +02:00
Theresa Gresch
2db97ef168 Backend: Add unit tests for internal/api 2020-07-14 15:05:03 +02:00
Theresa Gresch
e6cc639040 Backend: Add unit tests for internal/api 2020-07-14 14:46:27 +02:00
Michael Mayer
6090f875db Rename darktable-size to jpeg-size in config command output #388
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-14 14:41:38 +02:00
Michael Mayer
f4e8b59c3b Rename PHOTOPRISM_CONVERT_SIZE to PHOTOPRISM_JPEG_SIZE #388
Naming more consistent with PHOTOPRISM_JPEG_QUALITY.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-14 14:30:19 +02:00
Theresa Gresch
75ad59cd17 Backend: Add unit tests for internal/api 2020-07-14 14:00:39 +02:00
Michael Mayer
be94ff624c Edit photo type and sort by recently edited #394
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-14 12:42:31 +02:00
Michael Mayer
7a7c5aa190 UX: Reduce some levels to keep logs clean
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-14 12:39:56 +02:00
Theresa Gresch
4cf4c1973d Backend: Add unit tests for internal/api 2020-07-14 12:36:41 +02:00
Theresa Gresch
a5987a0b33 Backend: Add unit tests for internal/api 2020-07-14 11:24:00 +02:00
Michael Mayer
8989c987a2 Unstack all types, except primary and sidecar files #394
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-14 11:00:49 +02:00
Theresa Gresch
0cb609fc87 Backend: Add unit tests for internal/api 2020-07-14 10:31:37 +02:00
Theresa Gresch
f270b67632 Backend: Add unit tests for internal/config 2020-07-14 09:18:47 +02:00
Theresa Gresch
434bbd751c Backend: Add unit tests for internal/config 2020-07-14 09:18:24 +02:00
Theresa Gresch
832715f861 Backend: Improve Dsc regular expression and add test 2020-07-14 08:46:20 +02:00
Michael Mayer
b1eac027f3 Remove database DSN and init call from test config
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 20:41:16 +02:00
Michael Mayer
161b36f8a4 Refactor config and worker tests for better performance
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 20:25:47 +02:00
Michael Mayer
70c6a68169 Use date from file name if no metadata was found #396
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 19:34:21 +02:00
Theresa Gresch
119784ef2c Backend: Add unit tests for internal/config 2020-07-13 19:25:27 +02:00
Michael Mayer
faba5c3195 Backend: Fix worker tests
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 18:54:37 +02:00
Theresa Gresch
6504c7ae74 Backend: Add unit tests for internal/config 2020-07-13 18:48:56 +02:00
Michael Mayer
9f88bacb13 ACL: Add download permission for guests #398
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 18:20:05 +02:00
Michael Mayer
a507f21740 Backend: Remove unused notes field from file entity
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 18:09:44 +02:00
Theresa Gresch
6cea8f0d3b Backend: Add unit tests for internal/config 2020-07-13 18:05:10 +02:00
Theresa Gresch
c827df2c04 Backend: Add unit tests for internal/config 2020-07-13 17:37:43 +02:00
Michael Mayer
4d42222caf Rename "thumbnails" to "thumbs" and group api functions in one file
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 17:25:27 +02:00
Theresa Gresch
dac846ba01 Backend: Add unit tests for internal/workers 2020-07-13 16:44:17 +02:00
Theresa Gresch
579da46f11 Backend: Add unit tests for internal/workers 2020-07-13 16:12:32 +02:00
Michael Mayer
212857318b UX: Rename group(ed) to stack(ed) #394
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 15:59:54 +02:00
Michael Mayer
4a9f992056 Thumbs: Use fit_4096 in favor of fit_3840 and add convert limit #362 #388
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 15:23:54 +02:00
Michael Mayer
c14985095b Backend: Improve description string sanitation and auto add keywords
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 15:16:09 +02:00
Michael Mayer
849225e1ea Backend: Tweak db connection params and add stack to panic logs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 15:16:09 +02:00
Theresa Gresch
0b55a9278e Backend: Add unit tests for internal/query 2020-07-13 13:12:32 +02:00
Theresa Gresch
0144458664 Backend: Add unit tests for internal/query 2020-07-13 12:29:11 +02:00
Theresa Gresch
f71dd8359f Backend: Add unit tests for internal/query 2020-07-13 11:40:49 +02:00
Theresa Gresch
b21433479e Backend: Add unit tests for internal/query 2020-07-13 11:11:52 +02:00
Theresa Gresch
f18ac917ab Backend: Add unit tests for internal/photoprism 2020-07-13 10:20:46 +02:00
Theresa Gresch
2866cb9215 Backend: Add unit tests for internal/photoprism 2020-07-13 10:19:50 +02:00
Michael Mayer
4fb263f8a4 Add location field to album metadata
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-12 16:36:39 +02:00
Theresa Gresch
b6461dca36 Backend: Add unit tests for internal/entity 2020-07-12 15:41:30 +02:00
Theresa Gresch
7c1ef53be6 Backend: Add unit tests for internal/photoprism 2020-07-12 15:21:42 +02:00
Theresa Gresch
edb9bba671 Backend: Add unit tests for internal/photoprism 2020-07-12 14:36:36 +02:00
Michael Mayer
5648c9616e Backend: Refactor location data tables and entities
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-12 08:27:05 +02:00
Michael Mayer
8c53049b4a Backend: Remove deprecated columns from geo and places
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-12 06:54:07 +02:00
Michael Mayer
f08405d96c Backend: Fix location test after updating places server
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-12 06:14:22 +02:00
Michael Mayer
2bef7e7e9d Backend: Reduce location estimate time difference to 3 days
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-12 05:20:16 +02:00
Michael Mayer
8bf6a7b678 Backend: Fix location estimate query
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-12 05:10:00 +02:00
Michael Mayer
00e334657a Photo: Set defaults for PlaceID, GeoID, CameraID and LensID
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-12 04:48:17 +02:00
Michael Mayer
e1c45c4d5f Rename "location" to "geo" to have a short, common prefix for geo data
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-11 23:43:29 +02:00
Michael Mayer
8fd381860a Backend: Refactor Google Photos metadata parsing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-11 20:47:52 +02:00
Michael Mayer
4d93749b06 Backend: Don't index sidecar files without photo
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-11 20:35:41 +02:00
Michael Mayer
99eaae0816 Backend: Import JSON metadata from Google Photos
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-11 16:46:29 +02:00
Michael Mayer
711522db68 Metadata: Add patterns to unwanted descriptions list
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-11 10:19:06 +02:00
Michael Mayer
2c6552ff73 Backend: Remove log in Photo.Create()
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-11 09:41:35 +02:00
Theresa Gresch
d4935c2d13 Backend: Add unit tests for internal/entity 2020-07-10 17:35:22 +02:00
Theresa Gresch
dcc43ed45d Backend: Add unit tests for internal/entity 2020-07-10 17:27:06 +02:00
Michael Mayer
174e6d53c9 Backend: Use FirstOrCreate() instead of Create() when adding new photos
Not perfect as metadata should rather be merged. Ideally some kind of mutex avoids database conflicts / locks / errors in the future. Right now, we're (intentionally) using the database as "mutex" so that the application code needs less complexity. This is especially problematic on powerful servers with many CPUs and index workers. See also issue #392.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-10 17:09:39 +02:00
Theresa Gresch
dad0ba9d27 Backend: Add unit tests for internal/entity 2020-07-10 15:15:56 +02:00
Theresa Gresch
d6c910c16b Backend: Add unit tests for internal/entity 2020-07-10 15:06:37 +02:00
Theresa Gresch
4196420dc7 Backend: Add unit tests for internal/entity 2020-07-10 13:57:51 +02:00
Theresa Gresch
560849ec52 Backend: Add unit tests for internal/entity 2020-07-10 11:44:51 +02:00
Theresa Gresch
1f9528562f Backend: Add unit tests for internal/entity 2020-07-10 10:58:06 +02:00
Theresa Gresch
b480bbefcc Backend: Add unit tests for internal/entity 2020-07-10 10:29:56 +02:00
Michael Mayer
3f9454876d Concurrency fix for photo details #357
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-09 17:45:56 +02:00
Theresa Gresch
f857198178 Backend: Add unit tests for internal/entity 2020-07-09 16:46:13 +02:00
Michael Mayer
eeeff27ba5 Frontend: Update favicons
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-09 16:06:58 +02:00
Theresa Gresch
6212c8d63d Backend: Add unit tests for internal/entity 2020-07-09 15:37:30 +02:00
Theresa Gresch
dd7b5b3a1b Backend: Add unit tests for internal/entity 2020-07-09 12:24:44 +02:00
Theresa Gresch
131e822a58 Backend: Add unit tests for internal/entity 2020-07-09 11:50:58 +02:00
Theresa Gresch
15d66fc304 Backend: Add unit tests for internal/entity 2020-07-09 11:27:44 +02:00
Theresa Gresch
006e833249 Backend: Fix unit test 2020-07-08 18:36:37 +02:00
Theresa Gresch
226eafec7b Backend: Add unit tests for internal/entity 2020-07-08 18:09:18 +02:00
Theresa Gresch
e1487238e6 Backend: Add unit tests for internal/entity 2020-07-08 17:36:06 +02:00
Theresa Gresch
3e6c21a566 Backend: Add unit tests for internal/entity 2020-07-08 17:06:23 +02:00
Theresa Gresch
380aa0ba4b Backend: Add unit tests for internal/entity 2020-07-08 15:25:33 +02:00
Theresa Gresch
a0d858e56f Backend: Add unit tests for internal/mutex 2020-07-08 13:18:19 +02:00
Theresa Gresch
b3487fa3b3 Backend: Add unit tests for internal/meta 2020-07-08 10:13:11 +02:00
Theresa Gresch
985da3530f Backend: Add unit tests for internal/maps 2020-07-08 10:13:11 +02:00
Theresa Gresch
724953e432 Backend: Add unit tests for internal/i18n 2020-07-08 10:13:11 +02:00
Theresa Gresch
db2819821b Backend: Add unit tests for internal/form 2020-07-08 08:45:31 +02:00
Michael Mayer
68fac9e8a8 Translations: Add Spanish, French and Polish
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-08 08:19:29 +02:00
Michael Mayer
e2845981c1 Concurrency fixes for cameras, lenss, folders, keywords, and labels #357
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 20:44:33 +02:00
Theresa Gresch
f58ca6dcda Backend: Add unit tests for internal/form 2020-07-07 18:03:20 +02:00
Theresa Gresch
c71c232107 Backend: Add unit tests for internal/api 2020-07-07 17:18:41 +02:00
Michael Mayer
cbcd9e5cea Metadata: Normalize exif date strings to fix broken files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 17:11:36 +02:00
Michael Mayer
4b7551fb99 Try fetching country again if create fails #357
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 16:56:02 +02:00
Michael Mayer
14420b02a9 Try fetching places and location again if create fails #357
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 16:40:29 +02:00
Michael Mayer
3bfbd3070e Fix time difference threshold in Photo.EstimatePlace()
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 13:18:34 +02:00
Michael Mayer
6273e77867 Try saving photo a second time after deadlocks #357
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 12:59:47 +02:00
Michael Mayer
3fec93ee4e Load existing photo if uid was found in YAML sidecar file #357
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 12:20:38 +02:00
Michael Mayer
d1db3d04f7 Logs: Improve event log and messages in i18n package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 10:51:55 +02:00
Michael Mayer
8f74fdb8a0 Backend: Fix Photo.GetDetails()
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 20:20:03 +02:00
Michael Mayer
1f4a1a942e Backend: Remove debug logs from client config
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 19:56:06 +02:00
Michael Mayer
379c46df64 Backend: Return error if no main file for indexing was found #379 #357
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 19:50:01 +02:00
Michael Mayer
eeef16f07e Backend: Refactor photo details entity #379 #357
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 19:15:57 +02:00
Michael Mayer
4ddf241a6c UX: Rename "analog" to "scan"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 14:35:25 +02:00
Michael Mayer
782ad88aa1 Backend: Reduce API "abort" log level to debug
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 13:36:38 +02:00
Michael Mayer
1284091b77 Backend: Improve FileTitle() function
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 11:31:03 +02:00
Michael Mayer
3b8f3ebd23 Improve date input parsing #274 #358
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 10:32:37 +02:00
Michael Mayer
ca154f3bb3 Replace date picker with day, month & year inputs #274 #358
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 07:41:33 +02:00
Michael Mayer
d4008564bb Backend: Update countries.txt and stopwords.txt
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-05 17:37:40 +02:00
Michael Mayer
41be5cb133 Backend: Add "grouped" search filter to find photos with multiple JPEGs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-05 17:22:26 +02:00
Michael Mayer
daa3d07ca1 Backend: Update message strings
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-05 15:35:32 +02:00
Michael Mayer
25acbe7ba2 Trim space from share tokens
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-05 15:03:12 +02:00
Michael Mayer
f79cfc6513 Analog flag and search filter for photos
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-05 14:59:40 +02:00
Michael Mayer
581404648c Add search filter for content that has no album #377
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-05 14:48:49 +02:00
Michael Mayer
68843a626d Backend: Add translations for API messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-04 12:54:35 +02:00
Michael Mayer
ade9659ba2 Backend: Improve webdav log message
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-03 16:54:08 +02:00
Michael Mayer
95687df6bc Backend: Reduce log levels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-02 10:07:26 +02:00
Michael Mayer
76c545c542 Backend: Shorten exif gps log message
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-02 10:07:26 +02:00
Theresa Gresch
c179cce291 Frontend: Refactor tests 2020-07-02 10:03:00 +02:00
Michael Mayer
792b4fb48c Backend: Reduce log level in MediaFile.ResampleDefault()
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-02 09:54:33 +02:00
Michael Mayer
a158736463 Backend: Improve logging
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-02 09:44:45 +02:00
Michael Mayer
636b56008b Backend: Add info to metadata logs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-02 08:26:15 +02:00
Michael Mayer
4721f9d044 Backend: Improve metadata logs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-02 08:16:27 +02:00
Michael Mayer
f576b000b7 Add event log in Library > Errors
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-01 17:16:24 +02:00
Michael Mayer
d4f4af313d Add change password command and improve account page in settings
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-01 12:38:58 +02:00
Michael Mayer
0f3808c80e Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-01 10:08:17 +02:00
Michael Mayer
d8e8ae41b6 Fix and improve photo viewer #309 #370
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-01 09:49:03 +02:00
Michael Mayer
15a5fd3c37 Ungroup files #356
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-30 16:58:39 +02:00
Michael Mayer
dceebdde24 WebDAV: Cache directory list #301
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-30 12:58:56 +02:00
Michael Mayer
95802d9f6c Add album edit dialog
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-30 11:27:02 +02:00
Michael Mayer
b01faead9c Improve password invalid error message
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-30 09:22:06 +02:00
Michael Mayer
2f88ab2ebc Improve UX of account page
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-30 09:06:59 +02:00
Michael Mayer
0e426a547b Disable account page in public mode
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-30 08:50:44 +02:00
Michael Mayer
56cf8e95e0 Add change password form to settings
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-29 21:14:34 +02:00
Michael Mayer
1cf3d19f45 Backend: Force file type "jpg" if mime type is "image/jpeg" #366
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-29 17:25:52 +02:00
Michael Mayer
2a24bf293d Backend: Rename PrismWorker to MetaWorker
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-29 13:35:38 +02:00
Michael Mayer
1c72f88e8c Backend: Improve logging #369
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-29 13:16:55 +02:00
Michael Mayer
bfd73932e5 Improve UX and title generation from file names
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-29 11:10:24 +02:00
Michael Mayer
63f940b694 Sharing: Use single image as preview for small albums #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-28 15:23:15 +02:00
Michael Mayer
f2955fdefc Sharing: Refactor link entity and database columns #367 #18
Add missing fields in js model and rename fields for mode clarity. A link token can be valid for multiple shares.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-28 14:52:26 +02:00
Michael Mayer
c07f657c06 Sharing: Set siteUrl to shared content #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-27 17:39:53 +02:00
Michael Mayer
2b2cd8ed23 Backend: Sanitize metadata titles and descriptions
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-27 14:15:25 +02:00
Michael Mayer
e7fecd3b27 Improve album sharing and album UX #18 #309
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-27 13:08:45 +02:00
Michael Mayer
8d79f90138 Sharing: Use album title & description for site metadata #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-27 09:28:32 +02:00
Michael Mayer
1fb8b5cd63 Use static logo in sidebar navigation
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-26 16:11:56 +02:00
Michael Mayer
4aa7b6cc97 Sharing: Generate share preview images #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-26 14:26:36 +02:00
Michael Mayer
ff704d56a0 Sharing: Optional view count limit #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-26 12:24:05 +02:00
Michael Mayer
cfd23666a9 Sharing: Link expiration, view counter and permissions #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-26 12:16:13 +02:00
Michael Mayer
01c78639ef Config: Shorten default site caption
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-25 18:39:55 +02:00
Michael Mayer
5d59b50912 Sharing: ACL authorization for REST API #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-25 14:54:04 +02:00
Michael Mayer
1f1f92408a Sharing: Token authentication #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-25 01:20:58 +02:00
Michael Mayer
faa1ec2e4b Sharing: Implement session update #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-24 17:40:09 +02:00
Michael Mayer
436a9487d3 Backend: Remove archived items from albums
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-24 12:01:25 +02:00
Michael Mayer
43abf0bd83 Photos: Rename maintained_at to checked_at
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-24 08:34:23 +02:00
Michael Mayer
1a0398d01f Docs: Fix indentation
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-23 13:53:11 +02:00
Michael Mayer
4154715512 Docs: Update package information and copyright
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-23 13:44:14 +02:00
Michael Mayer
cd3a2afdbc Backend: Add settings to public / share client config #363
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-23 12:37:37 +02:00
Michael Mayer
12cfe6efec Backend: Prefer file title over image classification #361
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-23 11:12:24 +02:00
Michael Mayer
71d808982c Sharing: Fix photo count in query API #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-23 09:41:59 +02:00
Michael Mayer
d8537d4658 Sharing: Refactor album query API #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-23 07:55:33 +02:00
Michael Mayer
ea0cbc593a Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-22 21:30:51 +02:00
Michael Mayer
f7fbc6e0de Show max 500 files per folder #364
No infinite scrolling in this case... Maybe we add it later. Waiting for user feedback.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-22 21:21:02 +02:00
Michael Mayer
06b43da8c2 Fix s.style not set when loading places #363
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-22 20:41:18 +02:00
Michael Mayer
0ed82c690c Add link sharing template #18
Public mode only, auth not implemented yet.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-22 20:15:08 +02:00
Michael Mayer
722d7dd421 Improve link sharing dialog and api #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-22 15:16:26 +02:00
Michael Mayer
dc28b35b71 Merge branch 'develop' into feature/sharing 2020-06-22 07:19:34 +02:00
Michael Mayer
5d4b36b53c Update copyright notice
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-20 14:29:11 +02:00
Michael Mayer
41608d077d Add album share dialog #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-16 12:51:46 +02:00
Michael Mayer
2f7c002b4d Backend: Fix location estimate query
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-16 10:08:34 +02:00
Michael Mayer
202b2629dc Moments: Fix AlbumFolders query
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-16 10:08:34 +02:00
Michael Mayer
178ae9190b Config: Update site description default
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-16 10:08:34 +02:00
Michael Mayer
961fda3b11 Add photos from other albums (clone)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-14 11:39:53 +02:00
Michael Mayer
01717ae6f7 Backend: Improve country code detection
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-12 18:01:22 +02:00
Michael Mayer
d5e4aec8ea Frontend: Add fields to advanced tab (edit dialog)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-10 18:26:05 +02:00
Michael Mayer
f0c51abc21 Frontend: Add advaned tab to photo edit dialog
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-10 14:13:57 +02:00
Michael Mayer
f2738c1f65 Backend: Update size limit for (U)UIDs to 42 bytes
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-09 19:40:32 +02:00
Michael Mayer
57286b5587 Add rainbow page
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-09 14:05:40 +02:00
Michael Mayer
e83bb6ff02 Add comments to entity package constants
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-09 10:51:22 +02:00
Michael Mayer
aedc0279e3 Fix places count while indexing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-09 10:49:27 +02:00
Michael Mayer
d72480200e Add approve button to photo card view
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-09 09:20:20 +02:00
Michael Mayer
20d0a88bf6 Add setting to remove Library from navigation
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-09 08:37:43 +02:00
Michael Mayer
220bd4cbbf Rename favorite places to states
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-08 20:02:21 +02:00
Michael Mayer
8fa1cb9392 Add favorite places
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-08 18:32:51 +02:00
Michael Mayer
f9c55f22a6 Index HEIF and other non-JPEG images like RAW
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 16:12:33 +02:00
Michael Mayer
c2b60d340b Index metadata from RAW and video files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 15:49:50 +02:00
Michael Mayer
793fd55712 Fix readonly check for sidecar files #268 #348
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 14:33:07 +02:00
Michael Mayer
0032951b36 Update links to docs.photoprism.org
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 13:14:20 +02:00
Michael Mayer
83cb004d47 Improve description for read-only flag #344
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 10:39:23 +02:00
Michael Mayer
250a2ea62d Enable sidecar files in readonly mode if path is absolute #268 #348
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 10:33:56 +02:00
Michael Mayer
aeb889aeff Enable conversion in readonly mode if sidecar path is set #268 #348
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 10:29:54 +02:00
Michael Mayer
a91206a509 Universal sidecar configuration, indexing with multiple roots #268 #348
Slowly getting to the point where only very few people are able to maintain this codebase :)

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 10:09:35 +02:00
Michael Mayer
99c0c034b9 Backend: Use inflection to search for singular terms
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-05 19:27:33 +02:00
Michael Mayer
528f80de3b Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-05 17:03:07 +02:00
Michael Mayer
fbf675fbfb Add s2 prefix to all cell ids
Fixes location search when using SQLite

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-05 16:49:32 +02:00
Michael Mayer
3ecb205133 Moments: Remove emojis from album titles
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-05 11:09:08 +02:00
Michael Mayer
5c574e3837 Backend: Hide private photos in moments
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-05 10:59:59 +02:00
Michael Mayer
5a06433a1c Fix restore photo data from YAML files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-05 10:17:00 +02:00
Michael Mayer
5b1c0f2afe Refactor Photo.LoadLocation and LoadPlace
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-04 22:26:00 +02:00
Michael Mayer
f16169c259 Refactor Photo.PlaceLoaded and LocationLoaded
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-04 22:05:24 +02:00
Michael Mayer
6564e7a548 NewPhoto should only set default IDs, not entities
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-04 21:55:00 +02:00
Michael Mayer
c0a3ab5ac5 Favorites: Don't count private photos #334
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-04 17:33:00 +02:00
Michael Mayer
916e3a570c Backend: Don't index sidecar files if main file failed
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-04 17:06:42 +02:00
Michael Mayer
ca8a8466d4 Indexing bug fixes and UX improvements
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-04 14:56:27 +02:00
Michael Mayer
18f7a999fd Backend: Add search filter for "original" file name #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-03 10:33:09 +02:00
Michael Mayer
3542bc5d61 Backend: Run moments after import
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-03 10:26:29 +02:00
Michael Mayer
15113afaa6 Backend: Fix handling of deleted labels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-02 17:57:12 +02:00
Michael Mayer
bf7bb5006b Backend: Remove debug log messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-02 16:33:23 +02:00
Michael Mayer
716012aa8b Backend: Improve labels and title capitalization
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-01 13:22:19 +02:00
Michael Mayer
973911fabf Backend: Code clean-up and small improvements
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-01 12:08:08 +02:00
Michael Mayer
cd54bbe7ae Backend: Improve title capitalization
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-01 11:23:15 +02:00
Theresa Gresch
ad9167360d
Feature/246 (#345)
* Import: Implement "add to album" in backend #246

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Import: Implement "add to album" in frontend #246

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Add OriginalName to photo search result

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Add json tags to PhotoName and PhotoPath

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Photo: Use EstimateCountry() in UpdateLocation()

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Photo: Set OriginalName earlier while indexing

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Ignore whitespace when stripping sequence from filename #335

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Fix labels count for SQLite

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Import: Show name of new albums #246

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Frontend: Add acceptance test files

Co-authored-by: Michael Mayer <michael@liquidbytes.net>
2020-06-01 09:45:24 +02:00
Michael Mayer
a1238c94cc Fix photo test after improving location estimate #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 18:19:24 +02:00
Michael Mayer
68c758a686 Backend: Improve location list for estimates #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 17:45:58 +02:00
Michael Mayer
14c89022d3 Improve browsing by original file and folder name #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 14:42:41 +02:00
Michael Mayer
23df85375e Originals and import path auto-configuration #66
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 12:20:32 +02:00
Michael Mayer
4684f66298 Improve storage path auto-configuration #66
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 11:28:28 +02:00
Michael Mayer
1d8e7f1ad3 Show all months in calendar, even with just one photo #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 11:28:05 +02:00
Michael Mayer
4e214ae202 Set year, month and country for folder albums #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 03:45:38 +02:00
Michael Mayer
d0199598d0 Simplify configuration #66
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 02:09:52 +02:00
Michael Mayer
825c8b31a7 Code clean-up (make fmt)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 21:37:24 +02:00
Michael Mayer
cf05b82732 Fix albums test #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 21:34:42 +02:00
Michael Mayer
946f7967b5 Implement download as zip for moments, calendar and folders #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 21:31:32 +02:00
Michael Mayer
5d92ece264 Albums: Add category filter
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 21:11:56 +02:00
Michael Mayer
ea6ed61d1f Automatically create albums from folders #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 15:42:04 +02:00
Michael Mayer
0b1bcf0d4a Replace TiDB with SQLite for improved stability #66
As a side effect, we need less configuration values.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 14:52:47 +02:00
Michael Mayer
dd442ab9e9 Add moments #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 01:41:47 +02:00
Michael Mayer
e775c8f910 Metadata: Limit Exif extraction to photos #338
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-29 18:14:43 +02:00
Michael Mayer
9a5d4fa719 Backend: Indexing improvements #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-29 18:04:30 +02:00
Michael Mayer
f6c929528e Locations and places: Revert key renaming
Code reads better this way.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-29 12:56:24 +02:00
Michael Mayer
dcc610d7a9 Use AlbumType to distinguish between manual collections and moments #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-29 12:21:17 +02:00
Alex Kay
c5c07d58f9
Fix inconsistent naming for PHOTOPRISM_READONLY (#337)
The actual name used throughout all Docker and YAML config files is `PHOTOPRISM_READONLY`
2020-05-29 09:23:26 +02:00
Michael Mayer
a77b2431d3 Backend: Improve labels, keywords and caching
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-28 21:20:42 +02:00
Michael Mayer
4783183790 Thumbnails: Improve log message
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-28 21:17:23 +02:00
Michael Mayer
52473a1ca9 Add thumbnail filename cache and reuse db connections
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-28 16:26:22 +02:00
Michael Mayer
ed8390906c Add PHOTOPRISM_DATABASE_CONNS config parameter
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-28 15:37:08 +02:00
Michael Mayer
02800e796e Guess title, location and date from file and path name #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-28 15:12:18 +02:00
Michael Mayer
94846c2337 Rename ThumbToken to PreviewToken
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-27 19:56:56 +02:00
Michael Mayer
6f6e3799dc Refactor download urls and client config
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-27 19:38:40 +02:00
Michael Mayer
f510ac994c XMP: Group files based on DocumentID and Instance ID #335
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-27 13:40:21 +02:00
Michael Mayer
301e510b2d Photos: Generate title based on estimated place #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 21:51:34 +02:00
Michael Mayer
1df0d9a549 Change name of maintenance worker to "prism" #154
See https://twitter.com/browseyourlife/status/1265289044856123393

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 19:27:29 +02:00
Michael Mayer
968cd71f34 Backend: Add groom worker and test stubs #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 15:15:14 +02:00
Michael Mayer
24cc8089fa Fix favorite counter for archived files #334
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 13:43:16 +02:00
Michael Mayer
fe732e274c Fix saving photo metadata
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 12:46:22 +02:00
Michael Mayer
dd42d2b823 Entities: Refactor FirstOrCreate
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 11:00:39 +02:00
Michael Mayer
10d5f433aa Albums/Folders: Add category, country, year & month columns #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 09:02:19 +02:00
Michael Mayer
26f749cfdc Folder selections should include sub directories #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 07:14:50 +02:00
Michael Mayer
2156afd85a File browser: Implement clipboard; refactor entities and fixtures #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-25 19:10:44 +02:00
Michael Mayer
4421e7d203 Add simple file browser to Library #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-24 22:16:06 +02:00
Michael Mayer
03ec4b586d Initial commit for folders and moments #154 #260 #331
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-23 20:58:58 +02:00
Michael Mayer
65212f393f API: Shorten cache debug messages #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-22 20:08:28 +02:00
Michael Mayer
75fd1904f3 Add caching to folders API #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-22 20:00:33 +02:00
Michael Mayer
c88cd69e5c Backend: Make sure dirs exist in folder API tests #328
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-22 19:25:53 +02:00
Michael Mayer
e796d036c2 Fix indexer and add sort by file name #328
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-22 19:05:16 +02:00
Michael Mayer
a7122ff4e1 Add /folders API to get directory lists for browsing #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-22 16:29:12 +02:00
Michael Mayer
0eb30715b3 Backend: Add folder as alias for path in search form
Due to popular request, see https://twitter.com/browseyourlife/status/1263442036570697731

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-21 16:46:22 +02:00
Michael Mayer
f9b6952947 Support for Live Photos #177
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-21 13:26:28 +02:00
Michael Mayer
2efb0039e8 Photos: Add photo_type column and search filters for path / name
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-21 10:03:56 +02:00
Michael Mayer
c7e46c44d9 API: Add return to preview error handler
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-20 22:21:59 +02:00
Michael Mayer
1297a8cc1f Read taken date from file name #304
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-20 15:10:24 +02:00
Michael Mayer
a77d74e6eb Add play button for videos to photo viewer #321
You can now play a video by clicking on the title (or description) if a video icon is shown next to it.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-20 10:42:48 +02:00
Michael Mayer
d3cc3ccc82 Sync: Disable account when retry limit is reached
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 19:55:20 +02:00
Michael Mayer
6f3ccc95aa Backend: Make sure .photoprism directory exists
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 19:49:32 +02:00
Michael Mayer
4300d45482 Backend: Log errors in database
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 13:48:05 +02:00
Michael Mayer
a785a9d708 Backend: Update TestPhoto_Save test
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 12:51:19 +02:00
Michael Mayer
27ea0cb214 Backend: Improve entity log and error messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 12:48:32 +02:00
Michael Mayer
1cf0893b18 Backend: Fix AfterCreate after upgrading GORM
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 12:30:26 +02:00
Michael Mayer
132db3c0d2 Backend: Upgrade Go modules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 12:09:48 +02:00
Michael Mayer
f720ca6664 Check PHOTOPRISM_JPEG_HIDDEN flag when converting #311
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 11:33:39 +02:00
Michael Mayer
e61dda495a Add PHOTOPRISM_SIDECAR_HIDDEN and PHOTOPRISM_JPEG_HIDDEN flags #311
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 11:00:17 +02:00
Michael Mayer
7777fa95a5 Backend: Don't backup albums to photo yaml (just yet)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 09:44:49 +02:00
Michael Mayer
bbe60d120b Backend: Set DescriptionSrc when restored from YAML
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 09:21:10 +02:00
Michael Mayer
da067f52e7 Improve command flag descriptions for sidecar files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 22:21:27 +02:00
Michael Mayer
b24d5c03a1 Use YAML files to save and restore photo metadata
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 22:18:58 +02:00
Michael Mayer
f057880df3 Backend: Fix panic in File.Save()
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 17:57:40 +02:00
Michael Mayer
7f2b13bf71 Backend: Use actual instead of original dimensions from metadata #304
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 17:38:14 +02:00
Michael Mayer
0bf17206d0 Entity: Return error in File.Save() if PhotoID is 0
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 17:25:28 +02:00
Theresa Gresch
1fdc2cf610 Backend: Add tests to internal/entity 2020-05-18 16:37:37 +02:00
Michael Mayer
a2d5da7afd Entity: Fix query in File.AllFilesMissing()
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 16:36:24 +02:00
Michael Mayer
39878b3f83 Store created files in .photoprism sub directory
See #268, #311 and #313

Hidden directory name poll: https://twitter.com/browseyourlife/status/1262320988081074178

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 15:45:55 +02:00
Theresa Gresch
d2975666e5 Backend: Make LocLabel unique in place fixtures 2020-05-18 10:05:33 +02:00
Michael Mayer
7121c09d66 Upgrade go-exif and go-jpeg-image-structure; see #302, #304, #305 and #295
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 08:44:40 +02:00
Michael Mayer
46f3f12da8 Upgrade go-exif, go-jpeg-image-structure and go-png-image-structure
See #302, #304, #305 and #295

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-17 11:05:57 +02:00
Michael Mayer
abfd2fa79d Videos: Improve indexing and searching #312
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-16 17:07:44 +02:00
Michael Mayer
ba524d05d6 Metadata: Add DateTimeDigitized as fallback value for TakenAt #304
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-16 09:27:21 +02:00
Michael Mayer
7ee4d5eda5 Photo: Update year and month whenever takenAt may change
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-15 16:06:32 +02:00
Michael Mayer
9937304d0c Metadata: Improve date and error handling; see #302, #304, #305 and #295
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-15 15:29:56 +02:00
Theresa Gresch
e4c521d9b3 Backend: Update FindPlaceByLabel function 2020-05-15 13:16:03 +02:00
Theresa Gresch
4aaa4e9fc2 Backend: Add tests to internal/entity 2020-05-15 13:15:10 +02:00
Theresa Gresch
238468c8f9 Backend: Add tests to internal/api 2020-05-15 13:14:50 +02:00
Michael Mayer
fbc2cfaf22 Backend: Add test for (resized) JPEG with GPS issues #295
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-15 12:45:42 +02:00
Michael Mayer
a16f00f359 Backend: Add support for DateTime in Exif metadata #304
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-15 11:15:15 +02:00
Michael Mayer
71fb67adb2 Videos: Support H.264/AVC .mov files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-15 09:39:32 +02:00
Michael Mayer
eba0b1d896 Backend: Fix search query (photo:true filter)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-14 22:49:01 +02:00
Michael Mayer
871c5aae9c Backend: Don't abort import / index options API requests
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-14 19:45:01 +02:00
Michael Mayer
2d1763edbe Add videos to main navigation #17
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-14 19:03:12 +02:00
Theresa Gresch
afc1e10646 Backend: Add tests to internal/api 2020-05-14 18:10:01 +02:00
Theresa Gresch
e3993b3dbf Backend: Add tests to internal/thumb 2020-05-14 17:28:55 +02:00
Theresa Gresch
b4c27ffb51 Backend: Add tests to internal/query 2020-05-14 15:43:39 +02:00
Theresa Gresch
07e4d22464 Backend: Add tests to internal/entity 2020-05-14 15:28:11 +02:00
Theresa Gresch
269915d77b Backend: Remove unnecessary group in photos.go 2020-05-14 15:27:12 +02:00
Theresa Gresch
6c9b994664 Backend: Add tests to internal/query 2020-05-14 15:27:12 +02:00
Theresa Gresch
156c7b295e Backend: Add tests to internal/entity 2020-05-14 15:27:12 +02:00
Michael Mayer
2c564ed145 Backend: Swap width and height to fix rotation when reading from JSON
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-14 14:28:57 +02:00
Theresa Gresch
160977fec4 Backend: Add tests to internal/query 2020-05-14 14:18:28 +02:00
Theresa Gresch
05078b0e4b Backend: Add test fixtures 2020-05-14 14:17:12 +02:00
Michael Mayer
2045e3d770 Index and show video metadata #17
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-14 11:57:26 +02:00
Michael Mayer
cbeaab64e7 Backend: Remove story flag code
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-13 21:22:49 +02:00
Michael Mayer
55819dba9b Backend: Read JSON from sidecar file #4 #243
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-13 21:06:34 +02:00
Michael Mayer
5f408f4f76 Backend: Read from JSON sidecar files (created by exiftool) #4 #243
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-13 20:53:15 +02:00
Theresa Gresch
47e4abe9a4 Backend: Fix test 2020-05-13 20:05:33 +02:00
Theresa Gresch
9fc0265d9a Backend: Add tests to internal/query 2020-05-13 19:47:17 +02:00
Theresa Gresch
c0a2da8bab Backend: Add tests fixtures 2020-05-13 19:46:49 +02:00
Michael Mayer
bd59dc2564 Backend: Don't import / index sidecar files without media file
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-13 17:42:25 +02:00
Theresa Gresch
a123726d28 Backend: Add tests to internal/query 2020-05-13 17:23:16 +02:00
Michael Mayer
bd3426ae51 Add video player #17
Still need to index metadata. Work in progress.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-13 15:36:49 +02:00
Theresa Gresch
e634fd97a7 Backend: Add tests to internal/query 2020-05-13 11:57:54 +02:00
Theresa Gresch
25da779c43 Backend: Add tests fixtures 2020-05-13 11:51:51 +02:00
Theresa Gresch
f949db0b38 Backend: Add tests to internal/query 2020-05-13 10:16:12 +02:00
Theresa Gresch
0284f7c101 Backend: Add test fixtures 2020-05-13 10:15:43 +02:00
Theresa Gresch
c0b6eaa9d5 Backend: Add tests to internal/entity 2020-05-12 13:52:09 +02:00
Theresa Gresch
687c85ed73 Backend: Fix bug in addLabels function 2020-05-12 11:52:46 +02:00
Theresa Gresch
96208d2c51 Backend: Add tests to internal/entity 2020-05-12 11:51:54 +02:00
Theresa Gresch
ac698b6eab Backend: Add test fixtures 2020-05-12 11:51:28 +02:00
Michael Mayer
a61f2384b3 Initial video support #17
Still need to add a player and index metadata. Work in progress.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 18:29:17 +02:00
Theresa Gresch
510df88d7f Backend: Add tests to internal/api 2020-05-11 17:11:04 +02:00
Theresa Gresch
e95260e3ab Backend: Add tests to internal/entity 2020-05-11 17:01:19 +02:00
Theresa Gresch
95ab6dfb94 Backend: Add test fixtures 2020-05-11 17:01:05 +02:00
Theresa Gresch
7cce763864 Backend: Refactor test fixtures 2020-05-11 14:49:53 +02:00
Michael Mayer
cdadf664ff Backend: Improve query parser #266
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 14:49:00 +02:00
Michael Mayer
3c47a85ea5 Backend: Move UpdatePhotoCounts() to entity package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 11:01:28 +02:00
Michael Mayer
71c849c23b Backend: Update photo counts after sync download
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 10:48:18 +02:00
Michael Mayer
984ffb511d Tests: Improve TestImport_DestinationFilename
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 10:03:03 +02:00
Michael Mayer
4e3c076511 Backend: Re-import missing files #300
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 09:47:10 +02:00
Michael Mayer
4fbed12e94 Backend: Skip archived photos while indexing #300
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 08:57:58 +02:00
Michael Mayer
78d1230088 Purge: Increase batch size to 500 and reduce sleep to 50ms
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 07:51:31 +02:00
Michael Mayer
2d9be81658 Backend: Don't use a view for label photo counts
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 07:44:45 +02:00
Michael Mayer
923093042a Purge: Improve photo counts and logging
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 07:23:23 +02:00
Michael Mayer
7f48ad5efa Purge: Only process 250 rows per iteration
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-10 22:36:08 +02:00
Michael Mayer
b865203d89 Purge: Sleep 250ms to give database time for other tasks
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-10 22:21:05 +02:00
Michael Mayer
561323d544 Backend: Re-render thumbs after files changed #299
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-10 20:10:17 +02:00
Michael Mayer
8ccaaff4e5 Backend: Update label photo count and refactor entity fixtures
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-10 19:43:49 +02:00
Michael Mayer
406737e180 Fix places counter #292
See https://github.com/photoprism/photoprism/issues/292#issuecomment-626203720

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-10 16:12:15 +02:00
Michael Mayer
4beeebe5cc Backend: Add Hidden column to PhotoAlbum
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-09 21:00:02 +02:00
Michael Mayer
253fbc632b Backend: Add Hidden column to PhotoAlbum
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-09 20:59:45 +02:00
Michael Mayer
252e67ce03 Add photo_count column to labels table
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-09 11:00:22 +02:00
Michael Mayer
3aad02501f Run unit tests in separate databases to avoid conflicts
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 19:34:29 +02:00
Michael Mayer
e703a54586 Backend: Close db connection after running tests
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 18:35:19 +02:00
Michael Mayer
2f28c6840e Backend: Try migrations a second time if they fail
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 18:18:19 +02:00
Michael Mayer
40b7a1285f Backend: Reduce db migration error log level to debug
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 18:02:53 +02:00
Michael Mayer
c5dbe1bc14 Backend: Refactor database migration
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 17:45:32 +02:00
Michael Mayer
94dfb3cd19 Add WaitForMigration() function to avoid db test failures
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 16:36:09 +02:00
Michael Mayer
05d9187167 Update count in places are restoring photos #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 16:01:34 +02:00
Theresa Gresch
aaf1ff64ad Backend: Add tests to internal/entity 2020-05-08 15:46:16 +02:00
Michael Mayer
842da9f09b Backend: Query package refactoring
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 15:41:01 +02:00
Theresa Gresch
695294fc58 Backend: Improve photo_label_test 2020-05-08 14:31:58 +02:00
Theresa Gresch
0d0ba28331 Backend: Add tests to internal/entity 2020-05-08 14:18:11 +02:00
Michael Mayer
1894b4440f Detect and report photos without primary file, e.g. after purging #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 12:01:28 +02:00
Michael Mayer
3288ede6e6 Simplify Purge() function #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 12:01:28 +02:00
Theresa Gresch
dc23632556 Backend: Add tests to internal/entity 2020-05-08 11:46:09 +02:00
Theresa Gresch
a136945470 Backend: Add tests to internal/entity 2020-05-08 10:21:03 +02:00
Michael Mayer
c0c0c96c30 Remove primary flag for missing files #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 09:36:34 +02:00
Michael Mayer
305ec3e822 Get convert option for index command from settings
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 08:09:43 +02:00
Michael Mayer
a5a2da36f1 Automatically purge when running index command #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 07:56:14 +02:00
Michael Mayer
830ce5fc21 Improve purge performance using ignore option #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 07:43:14 +02:00
Michael Mayer
979a5f5c76 Code clean-up and refactoring of purge command #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 21:55:34 +02:00
Michael Mayer
252672b291 Run purge after indexing files in Web UI #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 21:46:00 +02:00
Michael Mayer
ac33ee87a1 Purge command: Fix database query and add --dry flag #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 20:33:11 +02:00
Michael Mayer
f0187df4a1 Purge command to remove missing files from the index #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 19:42:04 +02:00
Theresa Gresch
5c0d12c4d9 Backend: Add tests to internal/entity 2020-05-07 18:08:12 +02:00
Theresa Gresch
4c6aec9912 Backend: Add tests to internal/entity 2020-05-07 17:29:35 +02:00
Theresa Gresch
a0465e0e10 Backend: Add tests to internal/entity 2020-05-07 16:45:33 +02:00
Michael Mayer
c318d22ca7 UX: Rename "path" to "folder"
See https://twitter.com/browseyourlife/status/1258330913991208960

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 12:49:06 +02:00
Michael Mayer
38fe8277fa UX: Rename "directory" to "folder"
See https://twitter.com/browseyourlife/status/1258330913991208960

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 12:33:09 +02:00
Michael Mayer
c505503485 NSFW: Don't set flag if private filter is disabled #296
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 10:23:09 +02:00
Michael Mayer
a6ab94fb2e Indexer: Observe Convert option flag
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 08:29:41 +02:00
Theresa Gresch
1ccb546893 Backend: Add tests to internal/form 2020-05-06 17:05:06 +02:00
Michael Mayer
3ccad67622 Index and import subdirectories #258
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-06 15:53:47 +02:00
Theresa Gresch
ff505579ec Backend: Add tests to internal/api 2020-05-06 12:56:13 +02:00
Michael Mayer
1479a3ec5b Refactor indexer so that thumbs and jpegs can be created on demand #258
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-06 10:35:41 +02:00
Michael Mayer
6c6ea0ac3d Support GPSVersionID 2.0.0.0 #295
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-06 08:03:57 +02:00
Michael Mayer
bc69f22da2 Fix edit dialog after renaming config value
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-05 19:44:02 +02:00
Michael Mayer
9b643c830f Add template settings; remove twitter config value
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-05 18:26:44 +02:00
Michael Mayer
a886ad7942 Improve naming of thumbnail config values #294
Reverted PHOTOPRISM_RESAMPLE_FILTER back to PHOTOPRISM_THUMB_FILTER so that nothing breaks.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-05 17:17:19 +02:00
Michael Mayer
14fc9cd374 Revert and improve naming of thumbnail config values #294
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-05 17:04:13 +02:00
Michael Mayer
1c53a565a7 Configure on-demand rendering of regular thumbnail sizes #294
Can be enabled by setting PHOTOPRISM_RESAMPLE_UNCACHED to true

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-05 15:42:54 +02:00
Theresa Gresch
ee6dd2be72 Backend: Add tests to internal/api 2020-05-05 09:28:52 +02:00
Theresa Gresch
b16216819b Backend: Add test fixtures 2020-05-05 09:28:30 +02:00
Michael Mayer
f9b2ff326b Refactor feature flags and settings
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-04 18:28:23 +02:00
Theresa Gresch
5388b785bf Backend: Add tests to internal/api 2020-05-04 17:54:42 +02:00
Theresa Gresch
b53eb53b08 Backend: Use correct errors in internal/api/link.go 2020-05-04 17:14:43 +02:00
Theresa Gresch
90c910654b Backend: Add tests to internal/api 2020-05-04 17:14:04 +02:00
Theresa Gresch
e4162d3a29 Backend: Use uuid instead of hash in LinkFile function 2020-05-04 17:12:37 +02:00
Theresa Gresch
eb0467cde8 Backend: Add errors 2020-05-04 17:11:53 +02:00
Theresa Gresch
6e2062ea4b Backend: Add tests to api/labels 2020-05-04 16:02:49 +02:00
Theresa Gresch
73e0d294ff Backend: Add tests to internal/api 2020-05-04 14:40:58 +02:00
Michael Mayer
0ff34b6f43 Backend: Change error message prefix in thumb package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-03 18:05:05 +02:00
Michael Mayer
2032b40f2b Backend: Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-03 18:00:50 +02:00
Theresa Gresch
c474ec5dd2 Backend: Add tests to api/batch 2020-05-03 17:26:26 +02:00
Theresa Gresch
d81fe794eb Backend: Add label fixtures 2020-05-03 17:26:26 +02:00
Michael Mayer
05a05773d9 Backend: Fix import command and improve logging #233 #287
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-03 16:16:00 +02:00
Theresa Gresch
2f5ae08768 Backend: Add tests api/album 2020-05-03 15:55:38 +02:00
Michael Mayer
fe28c7d284 Backend: Add support for .ppignore files #233 #287
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-03 14:40:59 +02:00
Theresa Gresch
fd50478218 Backend: Add tests to internal/api 2020-05-01 19:58:05 +02:00
Michael Mayer
3e6df5fd5d Backend: Replace filepath.Walk with godirwalk.Walk #267
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-01 17:31:49 +02:00