Commit graph

792 commits

Author SHA1 Message Date
theresa c071111d7a Tests: Add gif fixture 2022-04-20 14:47:27 +02:00
Michael Mayer e264489dfb Index: Improve log messages #2257 2022-04-16 13:50:35 +02:00
Michael Mayer fefaada1f1 Index: Improve handling of archived photos, skip when possible #2257 2022-04-16 12:39:47 +02:00
Michael Mayer c580b8b55b Index: Fix database errors when rescanning large libraries #2257 2022-04-15 15:48:36 +02:00
Michael Mayer 92e6c4fe1e Download: Add Disabled, Originals, MediaRaw & MediaSidecar Flags #2234
Extends DownloadSettings with 4 additional options:
- Name: File name pattern for downloaded files (existed)
- Disabled: Disables downloads
- Originals: Only download files stored in "originals" folder
- MediaRaw: Include RAW image files
- MediaSidecar: Include metadata sidecar files (JSON, XMP, YAML)
2022-04-15 09:42:07 +02:00
Michael Mayer 9fdd455924 WebDAV: Skip error reset if an account has not been created yet #1781 2022-04-14 14:26:45 +02:00
Michael Mayer 0096243240 Metadata: Report supported Exiftool, XMP, and Dublin Core tags #2252
Replaces the --no-wrap flag with --md in all "photoprism show ..."
subcommands, as this is easier to understand. See also #2247.
Unused code was opportunistically removed along the way.
2022-04-14 10:49:56 +02:00
Michael Mayer 82d61d1f93 File Types: Add experimental support for animated GIFs #590 #2207
Animated GIFs are transcoded to AVC because it is much smaller and
thus also suitable for long/large animations. In addition, this commit
adds support for more metadata fields such as frame rate, number of
frames, file capture timestamp (unix milliseconds), media type,
and software version. Support for SVG files can later be implemented in
a similar way.
2022-04-13 22:17:59 +02:00
Michael Mayer 7291c1d703 Search: Add landscape/square filters, and "show filters" command #2169 2022-04-13 09:48:51 +02:00
Michael Mayer 0427163295 People: Improve face matching, audit command, and logging #2182 2022-04-13 01:59:32 +02:00
Michael Mayer 915ff42133 Auth: Add --auth flag, increase min password length to 8 chars #98 #2248 2022-04-12 19:44:43 +02:00
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