Commit graph

741 commits

Author SHA1 Message Date
Michael Mayer
dd9d7123d9 Index: Improve indexing and unstacking of related files #1823
This commit also adds initial HDR flag extraction from metadata.
2022-01-05 16:37:19 +01:00
Michael Mayer
58a5f94069 Backups: Rename album backups to exports and improve command help #1887 2022-01-05 11:40:44 +01:00
Michael Mayer
1cde378a76 Index: Improve stacking of related files #926 #1823 2022-01-03 17:29:43 +01:00
Michael Mayer
7823d7faaa Metadata: Limit file projection & color_profile to 40 ASCII chars #1830 2022-01-03 12:09:00 +01:00
Simon Rettberg
35f45f4510
MySQL/MariaDB: Turn subquery-updates into joins for better performance (#1804)
MariaDB/MySQL traditionally have performance issues for queries of
type UPDATE ... WHERE xxx IN (SELECT ...)

Instead, use JOINs which are much faster.

Signed-off-by: Simon Rettberg <simon.rettberg@rz.uni-freiburg.de>
2022-01-03 11:12:08 +01:00
Michael Mayer
2dedbb83dc Sanitize: Add name, query, state, and username filters #1814 2021-12-15 12:24:05 +01:00
Michael Mayer
0f0c0aaa0b API: Improve path and filename parameter sanitation #1814 2021-12-14 20:01:39 +01:00
Michael Mayer
9a8144c046 Log4j: Sanitize user input in logs like filenames and album titles #1814 2021-12-14 17:07:38 +01:00
Michael Mayer
3ae3fe29bc SQLite: Rename dialect constant to SQLite3 for consistency #319 #1791 2021-12-09 07:47:23 +01:00
Michael Mayer
5be456a09f JPEG: Convert Apple "Display P3" colors to standard sRGB #1474
Other color profiles and file formats are not supported yet. Should
be easy to add though. Main difficulty will be profile name comparison:
For example "Adobe RGB (1998)" vs just "Adobe RGB".
2021-12-09 07:00:39 +01:00
Michael Mayer
1b583e071e People: Add mutex so changes don't get processed concurrently 2021-12-09 02:33:41 +01:00
Michael Mayer
4e358bbfd4 Places: Improve handling of unknown S2 cell ids 2021-12-09 01:10:15 +01:00
Michael Mayer
4e8b9e79e2 Albums: Code clean-up #1777 2021-11-29 15:04:13 +01:00
Michael Mayer
7e8974fd20 MySQL 8: Improve migrate command, ignore errors when dropping indexes 2021-11-28 13:52:27 +01:00
Michael Mayer
9df31e2592 CLI: Update command descriptions, log messages and levels 2021-11-27 18:41:10 +01:00
Michael Mayer
6c51049bf7 Places: Change sort order for showing nearby photos in viewer 2021-11-26 21:24:12 +01:00
Michael Mayer
3e6c7052bb Places: Refactor GeoJSON API endpoint 2021-11-26 13:59:10 +01:00
Michael Mayer
ff66b3bccc Metadata: Remove location labels when photo doesn't have a location 2021-11-25 14:52:26 +01:00
Michael Mayer
08fe7326e5 Metadata: Make sure unknown camera and lens fixtures have an ID 2021-11-25 12:48:07 +01:00
Michael Mayer
05f11b65d8 Metadata: Refactor EstimateLocation() function #1668 2021-11-25 09:38:59 +01:00
Michael Mayer
84bb58daa5 Metadata: Don't estimate position of non-photographic images #1668 2021-11-24 21:06:30 +01:00
Michael Mayer
eafa00c54f Albums: Remove duplicate moments 2021-11-24 17:51:39 +01:00
Michael Mayer
87831c0a94 Metadata: More accurate location estimates #1668 2021-11-24 16:56:57 +01:00
Michael Mayer
80a9005510 Metadata: Don't change an existing location from an unknown source 2021-11-24 14:46:06 +01:00
Michael Mayer
22b0a44fa7 Stacks: Only merge photos with trusted time and location #1668 2021-11-24 14:32:40 +01:00
Michael Mayer
c86d57cdaf Albums: Find moments and states by slugs and filters when updating #1740 2021-11-24 13:30:43 +01:00
Michael Mayer
83746097eb Metadata: Set altitude even if coordinates are missing #1749 2021-11-24 12:49:20 +01:00
Michael Mayer
32fb22c039 Months, Countries & States: Update album title and slug if needed #1664 2021-11-23 20:25:32 +01:00
Michael Mayer
45d1360c18 Metadata: Improve location estimates and UTC handling #1668 2021-11-23 19:23:10 +01:00
Michael Mayer
de72abcfa4 Places: Create and update only one place at a time #1664 2021-11-22 18:30:46 +01:00
Michael Mayer
d813171204 Metadata: Estimate latitude and longitude if possible #1668 2021-11-22 18:18:41 +01:00
theresa
21c60dd2fa Tests: Add unit test for inernal/entity 2021-11-22 13:29:19 +01:00
theresa
d2fe0167e1 Tests: Add state album fixture 2021-11-22 13:26:01 +01:00
Michael Mayer
9ddd853234 Metadata: Never estimate when place was set otherwise #1668 2021-11-21 21:25:11 +01:00
Michael Mayer
cdd7df8e62 Database: Add manual schema migrations #319 2021-11-21 14:05:07 +01:00
Michael Mayer
403eb0d71d Places: Remove unique label index and purge unused location infos #1664 2021-11-20 19:14:00 +01:00
Michael Mayer
e40931f130 Places: Wait longer until database table has been recreated #1664 2021-11-20 17:53:20 +01:00
Michael Mayer
85fd1f0b71 Backend: Code clean-up 2021-11-20 16:37:55 +01:00
Michael Mayer
06c23b0cb3 Places: Sort States by Country Name and Title #1608 #1740 2021-11-20 16:36:34 +01:00
Michael Mayer
f29e675efa Albums: Toggle states and show country as location #1608 #1664 #1725 2021-11-18 13:13:48 +01:00
Michael Mayer
04cde0f392 Metadata: Add --force flag to optimize command #1736 2021-11-18 03:47:25 +01:00
Michael Mayer
73ffa53397 Metadata: Perform less frequent estimates to reduce server load #1736 2021-11-18 02:23:25 +01:00
Michael Mayer
c48310f077 Albums: Improve state geodata and sort by country #1608 #1664 2021-11-18 00:46:34 +01:00
Michael Mayer
a354a17041 Auth: Normalize Username (trim space, lowercase) #1103 #1309 #1546 #1610 2021-11-12 09:10:15 +01:00
Michael Mayer
c058c01770 People: Improve "photoprism places update" CLI command #1664 2021-11-12 06:32:58 +01:00
Michael Mayer
bb9442e6c4 People: Add "photoprism places update" CLI command #1664 2021-11-12 05:09:17 +01:00
Michael Mayer
c029b2a78c Docker: Rename and update dummy-webdav service 2021-11-09 16:55:16 +01:00
theresa
370305cbeb Tests: Add unit tests 2021-10-22 16:03:50 +02:00
Michael Mayer
e142095265 People: Update unsuitable face embeddings blacklist #22 2021-10-07 09:32:17 +02:00
Michael Mayer
767e3ca492 People: Hide person from people and new faces overviews #1554 2021-10-06 15:27:17 +02:00
Michael Mayer
717ea83553 People: Improve subject and marker entity logs #22 2021-10-06 12:16:52 +02:00
Michael Mayer
07ae9b83f4 Backend: Add index update mutex to reduce database locking 2021-10-06 11:50:48 +02:00
Michael Mayer
444c94bf9e People: Improve performance & add counter to new faces page #1576 #1594 2021-10-06 11:19:07 +02:00
Eng Zer Jun
44f7700c0c
Enable module graph pruning and deprecate io/ioutil (#1600)
* Backend: Enable Go module graph pruning and lazy module loading

This commit applies the changes by running `go mod tidy -go=1.17` to
enable module graph pruning and lazy module loading supported by Go 1.17
or higher.

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>

* Backend: Move from io/ioutil to io and os package

The io/ioutil package has been deprecated as of Go 1.16, see
https://golang.org/doc/go1.16#ioutil. This commit replaces the existing
io/ioutil functions with their new definitions in io and os packages.

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2021-10-06 07:10:50 +02:00
Michael Mayer
a5c2794611 CLI: Improve help for purge command 2021-10-05 22:44:27 +02:00
Michael Mayer
de63227767 CLI: Update help texts for commands and flags 2021-10-05 22:33:29 +02:00
Michael Mayer
a141665a6d Index: Reset file error when hash changes 2021-10-05 20:51:18 +02:00
Michael Mayer
f7153cdd21 People: Improve logging, command help, and handling of broken files #22 2021-10-05 18:42:39 +02:00
Michael Mayer
57aa8811fc People: Add additional face cluster config options #22 2021-10-05 10:12:48 +02:00
Michael Mayer
9a88d7fc6a Logs: Tweak messages and log levels for improved readability 2021-10-02 14:24:44 +02:00
Michael Mayer
ac70e0f324 Labels: Improve photo count accuracy for MariaDB / MySQL users #584 2021-10-01 19:23:08 +02:00
Michael Mayer
74233809b9 Covers: Rename "preview images" to "cover thumbs" for consistency #383 2021-10-01 16:44:50 +02:00
Michael Mayer
f6c18f7767 People: Count the number of photos for each subject #22
Also fixes issues with older versions of MariaDB, see #1544
2021-10-01 16:34:29 +02:00
Michael Mayer
e50ede6368 Covers: Improve performance of update queries #383 2021-10-01 00:05:49 +02:00
Michael Mayer
0d772c4dc3 Index: Purge orphan file entries #1559 2021-09-30 15:50:10 +02:00
Michael Mayer
582a330837 People: Add embeddings blacklist to reduce false positives #22 2021-09-30 13:44:23 +02:00
Michael Mayer
24eff21aa4 Search: Default to photo names and keywords #1517 #1560
Default to photo name when search term is too short or on the stop list.
Search full text index otherwise, which now include names of people
(requires reindexing).
2021-09-29 20:09:34 +02:00
Michael Mayer
771bcb1582 MariaDB: Improve queries and logs for MDEV-25362 bug #1544 2021-09-24 22:46:03 +02:00
Michael Mayer
e1d19f72f2 Index: Don't update subject face crops hashes for now 2021-09-24 13:34:37 +02:00
Michael Mayer
7c3f78284f Index: Improve logs 2021-09-24 13:18:54 +02:00
Michael Mayer
f23d288380 Index: Replace changed file hashes and remove orphan markers 2021-09-24 13:13:59 +02:00
Michael Mayer
eb8bc7b709 Backend: Improve resilience #1544 2021-09-23 23:46:17 +02:00
Michael Mayer
cd9b9f7da2 Album: Append ; to entity gorm tags 2021-09-23 17:05:56 +02:00
Michael Mayer
7767d0c892 People: Update photo and file counts after faces have been updated #22 2021-09-23 16:06:59 +02:00
Michael Mayer
03c9e82211 Albums: Fix share expiration date in field label #621
Looks like a pure frontend issue: It tried finding a date in
"UpdatedAt" while the actual field name is "ModifiedAt".
2021-09-23 15:38:55 +02:00
Michael Mayer
b6e4aa23d0 People: Add face dist to marker API JSON #22 2021-09-23 14:03:35 +02:00
Michael Mayer
ee2b49ef4b People: Add config options for face detection and clustering #22 2021-09-23 13:16:05 +02:00
Michael Mayer
4dd09f4502 People: Add "photoprism faces index" command for indexing faces only #22 2021-09-22 19:33:41 +02:00
Michael Mayer
6503008cc0
People: Prepare for release #22 (#1541) 2021-09-21 12:11:51 +02:00
theresa
a23cb0bf17 Tests: Add fixtures 2021-09-21 11:04:48 +02:00
Michael Mayer
8882cf0c61 People: Tweak face detection thresholds #22 2021-09-21 11:03:07 +02:00
Michael Mayer
ebe22d7bb7 People: Improve marker entity logs #22 2021-09-21 09:23:17 +02:00
Michael Mayer
11f7e76ca3 People: Remove orphan face crop thumbnails #22 2021-09-21 08:56:35 +02:00
Michael Mayer
4df0e4167a People: Upgrade dev database table names #22 2021-09-20 23:37:27 +02:00
Michael Mayer
070efcbc66 Search: Improve "year", "month", and "day" filters 2021-09-20 23:32:35 +02:00
Michael Mayer
534517a3d7 People: Improve face detection #22 2021-09-20 22:19:54 +02:00
Michael Mayer
8e5a97ed4a People: Simplify thumbnail API for face crops #22 2021-09-20 16:17:10 +02:00
theresa
895d41cd61 People: Add unit tests #22 2021-09-20 14:05:44 +02:00
theresa
9e786a42f0 People: Add unit tests #22 2021-09-20 13:12:28 +02:00
Michael Mayer
6c555457a0 People: Improve face thumbnail selection #22 2021-09-19 15:59:29 +02:00
Michael Mayer
1f92f294dd People: Normalize names #22 2021-09-19 13:35:44 +02:00
Michael Mayer
f7cc61edbc People: Shorten names in titles #22 2021-09-18 21:40:57 +02:00
Michael Mayer
e82533cdf0 People: Add unknown faces overview page #22 2021-09-18 20:41:30 +02:00
Michael Mayer
ed22f245db People: Add faces API endpoint & JS model #22 2021-09-18 15:32:39 +02:00
Michael Mayer
8492efebcf People: Improve face thumbnails on overview page #22 2021-09-17 18:51:24 +02:00
Michael Mayer
6bcfb29fa2 Labels: Show photo count #584 #1444 2021-09-17 16:13:47 +02:00
Michael Mayer
79961ec11b MySQL: Fix compatibility issues #22 #1519 2021-09-17 14:39:08 +02:00
Michael Mayer
ece15c6ade People: Add overview page with search and context menu #22 2021-09-17 14:26:12 +02:00
Michael Mayer
deaca4b588 Backend: Fix typo in comment 2021-09-06 14:39:30 +02:00
Michael Mayer
24107eef82 People: Remove deprecated development database tables #22 2021-09-06 14:32:31 +02:00