Commit graph

425 commits

Author SHA1 Message Date
Michael Mayer 96ea732637 Metadata: Ignore date string defaults caused by software errors #3229
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-24 15:53:59 +01:00
Michael Mayer a934d74c26 Videos: Treat Apple iTunes .m4v files as a separate format
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-23 18:49:56 +01:00
Michael Mayer ae4a2abc37 Videos: Add .dv to the list of known video file types #3226
Note that this is completely untested as we have no sample files.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-22 22:45:53 +01:00
Michael Mayer b44b8d52c1 WebP: Add support for indexing and playing animations #3197 #668
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-22 20:58:21 +01:00
Michael Mayer eaff0abb6d Videos: Index and display durations of less than one second #3224
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-22 16:33:33 +01:00
Michael Mayer 7ed5e0d122 Metadata: Extend valid year range from 1990 to 1970 #3220
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-21 14:24:38 +01:00
Michael Mayer 057a8b7cd7 Videos: Set MOV mime type based on file extension #3008
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-21 13:27:45 +01:00
Michael Mayer 527fc0319e Index: Add experimental support for JPEG XL and APNG files #668 #3197
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-14 14:43:49 +01:00
Michael Mayer 0c4aa86f85 CLI: Create thumbs and convert files in deterministic order #3194
This also adds support for specifying a path to the thumbs command.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-14 11:37:22 +01:00
Michael Mayer 4e0f38881d Adobe: Remove support for PDF files #1177 #2207
Does not make sense for our software at the moment.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-13 23:47:01 +01:00
Michael Mayer e533aa7beb Adobe: Add support for PDF, AI, and PSD file formats #1177 #2207
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-13 20:02:26 +01:00
Michael Mayer ec3708bf65 Text: Add PostScript, PS, EPS and SVG to list of special words #2207
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-13 15:36:09 +01:00
Michael Mayer 32483cc88e Vector: Change icon from "draw" to "polyline" and fix viewer #1177 #2207
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-13 13:59:17 +01:00
Michael Mayer 005f959db9 Index: Add experimental PostScript file support #1177 #2207
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-11 21:12:39 +01:00
Michael Mayer 97c9962053 Index: Add experimental EPS and SVG vector graphics support #1177 #2207
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-11 20:18:04 +01:00
Michael Mayer 826addb4c1 PWA: Create manifest.json in code without using a template #3181
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-10 15:53:01 +01:00
Michael Mayer ef6e3d3f9d Metadata: Ensure the altitude is not out of range and fix logs #3182
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-09 11:51:26 +01:00
Michael Mayer a5a538a67e Links: Change https://photoprism.app/ to https://www.photoprism.app/
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-08 09:07:42 +01:00
Michael Mayer 4258b94955 Search: Update stopwords.txt and stopwords.go
This removes words that may be part of location, artist or event names.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-04 07:19:56 +01:00
Michael Mayer 47defc861c API: Add sort order "random" to find a random set of photos #153
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-30 12:27:34 +01:00
Michael Mayer adc91fcf6e Auth: Refactor WebDAV login and increase maximum length of username
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-24 06:05:31 +01:00
Michael Mayer 4066cd7ad1 Update year in copyright notices
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-11 16:43:01 +01:00
Michael Mayer 8b211969e0 Txt: Regenerate countries.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-03 19:42:33 +01:00
p_0g_8mm3_ 685e344a15 Update countries.txt 2023-01-03 18:36:04 +01:00
Michael Mayer e277fa0add Videos: Remove custom read limit for mime detection #3008
The default value is 3072 instead of 1024 bytes, so this might help to
avoid incorrect results as observed earlier with QuickTime videos that
were not recognized.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-12-30 00:05:34 +01:00
Michael Mayer a22edb29a5 Videos: Assume "video/quicktime" mime type for .mov files #3008
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-12-23 02:02:47 +01:00
Michael Mayer 18f1d5a6f8 Metadata: Improve data parsing and sanitization #2897
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-17 08:28:30 +01:00
Michael Mayer b346765d45 Videos: Add .m2ts to known file extensions #2899
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-16 13:53:30 +01:00
Michael Mayer ae130dc500 Metadata: Sanitize bad Unicode strings #2897
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-15 14:45:21 +01:00
theresa cafe615ab5 Tests: Add DateTime unit test 2022-11-03 17:30:08 +01:00
Michael Mayer 7c634a1f51 Index: Ignore paths starting with _. and __ like "__MACOSX" #2844
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-02 18:02:18 +01:00
Michael Mayer 9be52990fa Index: Don't ignore filenames starting with _, only _. #2844
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-02 17:23:59 +01:00
Michael Mayer 91774c4068 Security: Create new files without execution permission #2809
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-31 15:01:48 +01:00
Michael Mayer 6a33ae2e93 Import: Allow directory names with dots #2807
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-27 15:47:32 +02:00
Michael Mayer 3b9890e345 Config: Update options report, parameter names and tests
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-25 06:19:56 +02:00
Michael Mayer f94ff54cc1 Auth: Improve account management page and config options #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-19 05:09:09 +02:00
Michael Mayer b277a72eae Text: Update stopwords.txt and stopwords.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-14 12:07:48 +02:00
Michael Mayer 884dea17de Security: Use individual preview tokens for each user account #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-13 22:11:02 +02:00
Michael Mayer 3c4cc40882 Security: Refactor log levels and events #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-10 16:34:07 +02:00
Michael Mayer dc39fc44d2 Security: Add "header" package for setting common response headers #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-09 17:16:49 +02:00
Michael Mayer 2034110c5d HEIF/AVIF/DNG: Update file format descriptions in the UI #2726
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-07 16:37:47 +02:00
Michael Mayer c51c95406c FS: Ignore folders starting with _ like "__MACOSX"
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-07 11:54:46 +02:00
Michael Mayer 6e74f16a77 Auth: Open album share links in the regular user interface #98 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-02 11:38:30 +02:00
Michael Mayer 4f425790ab Auth: Remember ownership of uploaded photos and albums #98 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-30 19:15:10 +02:00
Michael Mayer 94de0598d2 Text: Add "le" and "la" to smallwords.go #2672
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-30 16:33:04 +02:00
Michael Mayer 323d495840 Auth: Apply user rights and permissions in the search API #98 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-30 00:42:19 +02:00
Michael Mayer b32a970aab Auth: Add RandomBytes() to generate secure random bytes #98 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-28 13:38:08 +02:00
Krassimir Valev 3718fca957 Metadata: Add more places to the countries mapping 2022-09-28 09:48:35 +02:00
Michael Mayer f5a8c5a45d Auth: Session and ACL enhancements #98 #1746
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-28 09:01:17 +02:00
Michael Mayer 278ebd1c62 Images: Add AV1 Image File Format (AVIF) support #2706
AVIF can be converted

Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-15 00:43:08 +02:00
Michael Mayer eec31c4938 Text: Do not capitalize "van" in names and titles #2672
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-14 20:37:24 +02:00
dynm 1673bb05b4 Add Sony .HIF file extension
Sony HEIF uses the ".HIF" file extension.
2022-09-14 10:16:34 +02:00
Michael Mayer 07d8d569a7 Security: Improve user input sanitization, e.g. for album names #2531
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-02 18:39:19 +02:00
Michael Mayer fb921a4932 CLI: Generate thumbs for files in the sidecar folder #2669
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-08-31 18:53:04 +02:00
Michael Mayer ecf783e290 Docs: Update links in README.md files
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-08-10 18:41:42 +02:00
Michael Mayer b072a18a17 Backend: Run "make fmt" with Go v1.19
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-08-10 16:09:21 +02:00
Michael Mayer eba9fd701b Index: Check if the originals folder is empty before indexing #2299
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-08-01 17:08:46 +02:00
Michael Mayer c7ad17b60c Metadata: Ignore unknown values when parsing timestamps #2510
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-22 12:38:25 +02:00
Michael Mayer d2086d5622 Exiftool: Improve metadata extraction and support FocalDistance #2513
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-22 11:46:53 +02:00
Michael Mayer 4a4c322779 Cleanup: Refactor deleting related sidecar files #2521
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-21 20:23:00 +02:00
Michael Mayer 58521190ba Zip: Fix potential filesystem permission and timing issues #2532
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-19 20:41:36 +02:00
Michael Mayer 0852e659c2 API: Improve logs and add /api/v1/connect endpoint for auth callbacks
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-19 16:58:43 +02:00
Michael Mayer 053c339f46 Txt Package: Update stopwords.txt and stopwords.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-14 21:21:41 +02:00
Michael Mayer da2cb2c55f Txt Package: Update stopwords.txt and stopwords.go
Exclude common unix storage device names.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-14 17:46:41 +02:00
Michael Mayer a73ee48213 Import/Convert: Improve symbolic link handling to support files #1049
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-07 19:54:22 +02:00
Michael Mayer 5ec90a5fff Index: Skip redundant thumbs and support symbolic file links #1049 #1874
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-06 23:01:54 +02:00
Michael Mayer 519f0c49c9 Videos: Stream OGV, VP8, VP9, AV1, WebM, and HEVC if supported #2461 2022-06-24 06:59:22 +02:00
Michael Mayer acc779f107 Albums: Restore deleted album when trying to create it again #2429 2022-06-16 18:59:03 +02:00
Michael Mayer 23fd9ae731 Colors: Use int16 instead of int8 to avoid (de)serialization issues 2022-06-16 06:30:59 +02:00
Michael Mayer 18a248d464 Backend: Upgrade satori/go.uuid from v1.2.0 to v1.2.1 2022-06-16 03:34:20 +02:00
Michael Mayer 8af69b81f2 Search: Omit files with unknown Chroma when using mono:true filter #2341 2022-05-21 18:12:08 +02:00
Michael Mayer c47c5dc3b4 Backend: Update Go package descriptions to improve generated docs
see https://pkg.go.dev/github.com/photoprism/photoprism
2022-04-25 11:01:09 +02:00
Michael Mayer e59041e93f Backend: Update Go package descriptions to improve generated docs
see https://pkg.go.dev/github.com/photoprism/photoprism
2022-04-25 09:53:55 +02:00
Michael Mayer 1af2d295f0 Metadata/Nextcloud: Parse Two-Digit Years in Original File Paths #2271 2022-04-22 19:48:31 +02:00
Michael Mayer 8638929d84 Config: Automatically generate command-flag docs #1017 #2195 #2227 #2250 2022-04-22 17:38:40 +02:00
Michael Mayer f33f06933f Index: Reduce log level for empty files from error to warning #2257 2022-04-18 17:21:31 +02:00
Michael Mayer 38c6cebe21 File Formats: Disable TOML file support until there is a use for it 2022-04-18 00:14:04 +02:00
Michael Mayer 182bc09d87 CLI: Export reports as CSV/TSV for use in spreadsheets #2247 #2252 #2169 2022-04-17 12:30:33 +02:00
Michael Mayer 73be4df8f8 CLI/Docs: Improve photoprism show ... subcommands #2247 #2252 #2169 2022-04-16 19:52:53 +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 1baada39f4 Search: Remove raw and gif from stopwords.txt #590 #1994 #2079 #2169 2022-04-14 13:56:44 +02:00
Michael Mayer e4999db92e Metadata: Add IPTC 2021.1 JSON/YAML Schemas incl. test files #1143 #2252 2022-04-14 12:18:05 +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 b3113e006f Search: Add vector, animated, svg, and gif filters #590 #2207 2022-04-14 08:39:52 +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 0427163295 People: Improve face matching, audit command, and logging #2182 2022-04-13 01:59:32 +02:00
Michael Mayer e42b870c09 CLI: Update and display the list of supported file formats #2247 2022-04-12 19:14:21 +02:00
Michael Mayer 68ba289d6c CLI: Add "photoprism show config/formats" subcommands
Replaces "photoprism config", which could only display
current configuration values. Codecs and file formats
have been refactored along the way.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2022-04-12 13:28:28 +02:00
Michael Mayer f927c68c4f UX: Skip RAW files by default when clicking Download All #2234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2022-04-10 17:02:09 +02:00
Michael Mayer e1996f80b3 Exif: Ignore IFD1 tags with existing IFD0 values #2231
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2022-04-09 19:56:38 +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 ccea0d01db Metadata: Update specialwords.go for title generation in txt package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2022-04-04 01:22:29 +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 fab9da971c Metadata: Update specialwords.go for title generation in txt package 2022-04-03 12:27:17 +02:00
Michael Mayer a604e9a9c6 Index: Improve file size/resolution checks, add WebP support #1017 #1226
Renames the config flag to from "megapixel-limit" to "resolution-limit".
Adds native support for the WebP image file format.
2022-04-02 18:04:11 +02:00
Michael Mayer 44efdd232a Config: Improve flag descriptions of JPEG and thumbnail parameters #2215 2022-04-01 13:25:25 +02:00
Michael Mayer 9eda12ac20 Performance: Refactor database schema and UI components #995 #1438 #1811 2022-03-30 20:36:25 +02:00
Michael Mayer b8ea17d595 Package txt: Add ascii_table.txt for reference 2022-03-28 19:52:24 +02:00
Michael Mayer 9e46a66f24 Search: Make special character escaping compatible with SQLite #1994 2022-03-28 17:36:59 +02:00