Commit graph

1618 commits

Author SHA1 Message Date
Michael Mayer
837fc495f9 Metadata: Ignore invalid Exif GPS coordinates #736
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-23 18:43:52 +01:00
Michael Mayer
b433c630ed Metadata: Fix negative time offsets in timestamps with zone #727 2020-12-22 09:43:19 +01:00
Michael Mayer
8859a23fd8 Metadata: Add iPhone X mov example JSON file #727
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-22 09:28:52 +01:00
Michael Mayer
2ed6880270 Metadata: Add support for CreationDate in ExifTool JSON files #727 2020-12-22 07:47:16 +01:00
Michael Mayer
bc535b6248 Metadata: Support time zones in ExifTool JSON files #727 2020-12-22 01:52:36 +01:00
Michael Mayer
1ad8eb343d Photo: Omit Stack property in YAML files if 0 2020-12-21 18:43:31 +01:00
Michael Mayer
adfd347791 Config: Update command flag help 2020-12-21 15:16:27 +01:00
Michael Mayer
51c36e3fe4 Config: Update command flag help 2020-12-21 15:00:18 +01:00
Michael Mayer
30231ccc74 Albums: Remove YAML backup files when running photoprism reset 2020-12-21 14:05:02 +01:00
Michael Mayer
12cb89eca5 Stacks: Use "Stackable" int8 instead of "Unstacked" bool #616 #667 2020-12-19 19:15:32 +01:00
Michael Mayer
7b5ae77e61 Search: Reduce chroma threshold for mono filter to 0 #596 2020-12-19 01:56:00 +01:00
Michael Mayer
5f94f023ef API: Refactor ACL 2020-12-19 01:54:48 +01:00
Michael Mayer
651c4f12c1 API: Re-add /api/v1/config endpoint 2020-12-19 01:54:29 +01:00
Michael Mayer
de955f8fc6 UX: Add Downscaling and RAW Conversion options to Advanced Settings tab 2020-12-19 01:11:22 +01:00
Michael Mayer
a067fe46ec UX: Add global server config options tab to Settings UI 2020-12-18 20:42:12 +01:00
Michael Mayer
43714c00d5 UX: Refactor Library UI 2020-12-18 13:05:48 +01:00
Michael Mayer
0925d7179c UX: Refactor Settings UI 2020-12-18 10:59:21 +01:00
Michael Mayer
7940786ce9 UX: Refactor config options to be more intuitive
Make sure to update your local config files when upgrading as
the name of some config values has changed. The default
config path has changed from "settings" to "config".
2020-12-18 09:11:42 +01:00
Michael Mayer
449fb7a2c1 Backup and restore albums from YAML files #567 2020-12-17 18:24:55 +01:00
Michael Mayer
859e4f7d8c Indexer: Set a default color for photos with multiple files #715 2020-12-17 12:32:53 +01:00
Michael Mayer
3d7c9323d8 Indexer: Improve color & chroma classification #596 2020-12-17 11:47:31 +01:00
Michael Mayer
1f386533cf Indexer: Use lookup table to prioritize metadata sources 2020-12-17 10:23:17 +01:00
Michael Mayer
5a801f442d Frontend: Fix layout of live photos in landscape orientation 2020-12-16 15:52:44 +01:00
Michael Mayer
37f79324ce Language dropdown: Don't translate locales #712 2020-12-16 13:27:44 +01:00
Michael Mayer
a5b9bc695e Indexer: Update picture dates derived from file names 2020-12-16 12:50:53 +01:00
Michael Mayer
717da1bd34 Downloads: Configure file name schema #675
There is no UI for this setting yet.
2020-12-16 11:59:16 +01:00
Michael Mayer
373578b9a9 Additional translations: Workaround for backend & date library #710 2020-12-15 20:44:18 +01:00
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