Commit graph

781 commits

Author SHA1 Message Date
Michael Mayer b97e0e9c3b Albums: Prevent accidental creation of duplicate albums #2233
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2022-04-10 14:38:51 +02:00
Michael Mayer 9134c79f4c Config: Add option to skip all RAW images when indexing #2227 2022-04-06 17:46:41 +02:00
Michael Mayer 7b508d6ad5 Index: Add tests and refactor database record updates #1438 2022-04-05 11:40:53 +02:00
Michael Mayer 9986986f8f People: Add info on the kind of face to improve matching #2182
This commit also fixes of other potential issues and improves logging.
2022-04-04 21:22:31 +02:00
Michael Mayer c74fcbf282 People: Show real name instead of uid in logs #1438 #2182
Since caching all subject data proved too complex in the time available,
this implementation uses a simple key/value lookup table to cache
subject names and perform backward searches by uid.
2022-04-04 14:21:43 +02:00
Michael Mayer 870ec6455e Revert "People: Add subject cache and show real name in logs #1438 #2182"
This reverts commit 686f6bc47c.
2022-04-04 08:54:03 +02:00
Michael Mayer cbcfa63f5f Labels: Fix saving categories in UpdateClassify()
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2022-04-04 00:57:13 +02:00
Michael Mayer 686f6bc47c People: Add subject cache and show real name in logs #1438 #2182 2022-04-04 00:02:08 +02:00
Michael Mayer 41b252d820 People: Add unofficial env variables to tweak face matching #1587 #2182
Adds two unofficial env variables so advanced users can experiment:

1. PHOTOPRISM_FACE_KIDS_DIST=0.6950 (range: 0.1-1.5, -1 to disable)
2. PHOTOPRISM_FACE_IGNORE_DIST=0.86 (range: 0.1-1.5, -1 to disable)
2022-04-03 17:25:37 +02:00
Michael Mayer cb0f37c4af Index: Improve logging and files table update statements #1438 #2216 2022-04-03 12:43:21 +02:00
Michael Mayer 31e48d2139 UX: Add button to clear error log history in Library > Errors #1683
Note this is disabled in public mode (without authentication).
2022-04-03 12:37:43 +02:00
Theresa Gresch 1da106d4b7 Tests: Add fixtures 2022-04-02 20:13:56 +02:00
Michael Mayer 82f583d5e2 Purge: Regenerate file search index #1438 #2216 2022-04-02 19:26:28 +02:00
Theresa Gresch 968062d2fc Tests: Add fixtures 2022-04-02 16:52:38 +02:00
Theresa Gresch d7f4c46a9b Tests: Add unit tests 2022-04-02 13:31:04 +02:00
theresa 5d16c5b530 Tests: Add fixtures 2022-04-01 16:24:45 +02:00
Michael Mayer 9eda12ac20 Performance: Refactor database schema and UI components #995 #1438 #1811 2022-03-30 20:36:25 +02:00
theresa 32c9186112 Tests: Add fixtures 2022-03-30 18:21:14 +02:00
theresa f53e2bcdd6 Tests: Add fixtures 2022-03-30 11:43:30 +02:00
theresa 4d7584a486 Tests: Add fixtures 2022-03-29 11:21:45 +02:00
Michael Mayer 686a8ab9b4 Search: Refactor photo search, fix test data and unit tests #1994 2022-03-29 00:21:50 +02:00
Michael Mayer 58d7a535c6 Search: Update photos_filter_albums_test.go and file fixtures #1994 2022-03-28 18:43:35 +02:00
theresa e693fad8dc Tests: Add unit tests for camera and lens filter #2079 2022-03-28 16:25:40 +02:00
theresa 2912122747 Tests: Add album fixtures 2022-03-28 14:25:03 +02:00
Theresa Gresch 3ff00c65c5 Tests: Add album fixtures 2022-03-28 11:21:24 +02:00
Michael Mayer 736b03f87f WebDAV: Improve update and reset of remote connection errors #1781 2022-03-27 21:37:11 +02:00
Michael Mayer aaaef5712e WebDAV: Prevent two-way file sync, default to download #1785 2022-03-27 12:49:23 +02:00
Michael Mayer e77a029f13 Search: Improve input sanitation and filter queries #1994 #2079 #2181 2022-03-25 18:01:34 +01:00
Michael Mayer 680686185f Metadata: Improve parsing of (incomplete) timestamp strings #625 #2133 2022-03-25 16:31:09 +01:00
Michael Mayer 0e7fec1cec Albums: Shorten title and slug to avoid "data too long" error #2181
Related GitHub Discussions:
 - https://github.com/photoprism/photoprism/discussions/2151
 - https://github.com/photoprism/photoprism/discussions/2179
2022-03-24 21:46:25 +01:00
Michael Mayer 9d110e8b80 Search: Improve album, albums, lens, and camera filters #1994 #2079
Camera and lens can now also be searched by name. Escaping and parsing
of albums has been improved so that albums whose names start with and/or
contain numbers will be found.
2022-03-24 18:30:59 +01:00
Michael Mayer 3d9cb51641 Darktable: Set explicit cache and config path, log exact commands #2076 2022-03-02 12:20:02 +01:00
Michael Mayer c256664a1b WebDAV: Fix upload of complete albums #1376 2022-02-27 17:32:54 +01:00
Michael Mayer 1d6ab8bd69 Logs: Reduce logs levels of cover and count updates 2022-02-19 19:59:28 +01:00
Paulo Matos 0528a6541b
Places: Fix typo in "not found" log message (#1956)
Fixing simple typo : s/no/not
2022-01-19 16:44:50 +01:00
Michael Mayer eeee5973ad MariaDB: Alter albums.album_filter to VARBINARY(767) and add index #1953
Using a migration for testing on develop so nothing breaks (yet).
2022-01-18 17:34:28 +01:00
Michael Mayer 2e0c40332c Develop: Move MySQL 8 to docker-compose.mariadb.yml 2022-01-16 14:00:37 +01:00
Michael Mayer f5b7ef834e Index: Prevent two primary files in photo stacks #1823 2022-01-06 14:33:49 +01:00
Michael Mayer d03e28d88e Backups: Rename YAML "backup" files to just YAML files #1887 2022-01-06 13:21:42 +01:00
Michael Mayer d67e325854 Config: Improve initialization, migrations, and debug logs 2022-01-05 18:15:39 +01:00
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