Commit graph

2600 commits

Author SHA1 Message Date
Michael Mayer 9362604853 Index: Refactor file size check #3227
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-23 04:31:24 +01:00
Michael Mayer 5b727dd86a Index: Improve limit checks and logging #3227
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-23 04:11:09 +01:00
Michael Mayer 668395909d Index: Skip updates if there are no changes #3227
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-23 03:45:58 +01:00
Michael Mayer 242c8c54b8 Index: Skip updates if there are no changes #3227
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-23 01:06:52 +01:00
Michael Mayer 16f081444b Download as Zip: Include hidden files e.g. in review or broken
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-22 23:14:43 +01:00
Michael Mayer 1cc64cc5e6 WebDAV: Fix upload with updated client library #2267
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-22 21:39:40 +01:00
Michael Mayer e1b955a35d WebP: Improve video API logging #3197 #668
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-22 21:38:25 +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 4451447bdd Metadata: Automatically detect scans based on metadata #322
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-22 16:21:26 +01:00
Michael Mayer 4bd632881b JPEG: Try to fix all files with "invalid JPEG format" error #1673 #2463
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-21 17:45:35 +01:00
Michael Mayer b855922283 JPEG: Automatically re-encode broken image files #1673 #2463 #2557
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-21 13:31:30 +01:00
Michael Mayer 7652fbd598 Convert: Update test function name #1310 #1612 #1747
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-21 11:41:24 +01:00
Michael Mayer 053a67f1e4 TIFF: Convert unsupported files with ImageMagick #1310 #1612 #1747
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-21 11:39:49 +01:00
Michael Mayer 7af3e41118 Search: Ignore sepia pictures when using the "mono" filter #596 #2657
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-21 10:47:15 +01:00
Michael Mayer 906e29db56 Faces: Improve warning log for almost identical faces #1497 #3124
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-21 04:52:39 +01:00
Michael Mayer 01d5156568 Faces: Skip ambiguous embeddings when matching #1497 #3124
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-21 04:49:06 +01:00
Michael Mayer 74772aea97 Config: Always initialize fixtures, even when skipping migrations #3215
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-21 04:44:08 +01:00
Michael Mayer 9054d8cf0f Config: Don't skip individually selected migrations #3215
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-21 02:08:23 +01:00
Michael Mayer cec2b8f000 Config: Skip migrations if version has already been initialized #3215
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-21 01:48:42 +01:00
Michael Mayer ac3e1a3f4c Albums: Add experimental private album flag to edit dialog #480
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-21 00:02:44 +01:00
Michael Mayer 7c63a86f80 CLI: Restore user accounts on demand #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-20 20:24:04 +01:00
Michael Mayer 5f808cddb4 Library: Hide private files in "Originals" if user has no permission #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-20 18:50:28 +01:00
Michael Mayer 43d6a5e193 Auth: Improve user entity model and add unit tests #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-20 15:54:33 +01:00
Michael Mayer 0e032295db Advanced Settings: Add ImageMagick, PNG, and vectors options #2207
This also improves the help texts of existing config options.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-19 16:42:19 +01:00
theresa 1aa79831c3 Tests: Fix unit test 2023-02-16 15:32:08 +01:00
Michael Mayer 95f6df6fe0 Tests: Change SQLite Memory DSN to ":memory:?cache=shared"
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-14 21:47:31 +01:00
Michael Mayer f54512e334 Auth: Refactor user management commands #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-14 20:28:58 +01:00
theresa b7b811b125 Tests: Add unit tests for wildcard search #2050 2023-02-14 19:51:44 +01:00
theresa d3fb420185 Tests: Add unit tests for new search filter #3035 2023-02-14 19:14:03 +01:00
Michael Mayer 9e85a366c9 Index: Don't use ImageMagick to convert RAW images #1177 #2207 #3197
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-14 15:39:24 +01:00
Michael Mayer b720578f7c Migrations: Reduce number of log messages
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-14 14:44:17 +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 d4cbb60b92 Migrations: Improve debug log messages
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-14 11:38:00 +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 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 3e767d6b3c Improve: Shorten file support warning message #2207
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-13 15:24:59 +01:00
Michael Mayer 524b5c7f3f Config: Improve file conversion feature support detection #2207
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-13 14:41:33 +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 16a153bfa1 PWA: Load manifest.json with version parameter to limit caching #3181
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-10 16:23:36 +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 77b97f78f7 i18n: Update i18n_test.go and response_test.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-09 14:17:16 +01:00
Michael Mayer cef88e5564 API: Update albums_test.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-09 14:06:01 +01:00
Michael Mayer 902f9a40f6 Backend: Update translations.go and translations.pot
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-09 13:52:29 +01:00
Michael Mayer ed784d2850 Backend: Update translations.go and translations.pot
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-09 13:21:44 +01:00
Michael Mayer a7b1c1b11e WebDAV: Allow read access in read-only mode and improve logs #3177 #3183
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-09 13:14:56 +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 ce830ea6b0 Server: Handle HEAD requests #2965
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-09 10:16:25 +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 97d095c2a6 UX: Update expected counts in backend test #3164
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-03 13:18:30 +01:00
Michael Mayer 52a220044d UX: Show total number of pictures without images in overview #3164
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-03 08:23:46 +01:00
Michael Mayer 2e7268f834 Config: Remove slash from social preview image file path #3160
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-02 17:13:12 +01:00
Michael Mayer a3ee21897d Auth: Improve display of username #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-02 17:11:35 +01:00
Michael Mayer ee8e0b0f14 Config: Change order of options when reporting current values
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-02 12:09:46 +01:00
Michael Mayer 9684edb681 Config: Use dynamic social preview image based on app name #3160
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-02 12:08:54 +01:00
Michael Mayer 8593da5b78 ACL: Add RoleStrings type to specify role names
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-30 16:15:01 +01:00
Michael Mayer 1dee168e52 Config: Load initial settings from default file, if exists
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-30 14:56:31 +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 2cab5f7534 Config: Update CLI "photoprism show" sub-command names
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-25 11:41:39 +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 c49c5e3b8b Config: Improve CLI flag command help #3132
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-20 00:37:51 +01:00
Michael Mayer e331fcf43f API: Improve file operation logs
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-19 21:11:17 +01:00
Michael Mayer 6dd55170fe Config: Add option to set a proxy for outgoing connections #3132
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-19 20:46:27 +01:00
Michael Mayer 6414a7bee3 Entity: Check if dbConn is nil before trying to return the connection
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-17 15:40:55 +01:00
Michael Mayer aca929e3c9 Docs: Add command that generates an overview of YAML config values
see https://docs.photoprism.app/getting-started/config-files/

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-15 15:36:20 +01:00
Michael Mayer 251d197063 Update year in copyright info
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-11 16:48:18 +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 843155ef60 Albums: Improve sorting options in extended search form #353
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-04 14:15:07 +01:00
Michael Mayer 449f9f8b83 Search: Ignore deleted albums when using the "unsorted" filter #3051
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-02 18:43:18 +01:00
Michael Mayer 727b3eb552 Videos: Optimize preview thumbnail by duration #1241
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-02 18:11:15 +01:00
Michael Mayer bc50770684 Folders: Ignore case and use wildcards when searching #2050
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-02 17:59:48 +01:00
Michael Mayer 7036c5fb86 Albums: Fix sorting albums and states by "newest" and "oldest" #353
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-02 16:49:18 +01:00
Michael Mayer 228dc9b36c Albums: Add test for search by year #353
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-02 16:31:32 +01:00
Michael Mayer e94cf7af2c Albums: Implement year filter work for all types except states #353
States do not have an explicit year, so they cannot be filtered at this
time. If needed, a special query for the contained pictures could be
implemented later on. Select may also need changes to work with SQLite.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-02 16:17:59 +01:00
Michael Mayer 6a1ad2f415 Albums: Add extended search form with sorting options #353 #405
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-02 15:04:50 +01:00
Michael Mayer 15199c4e7f Videos: Improve preview thumbnail generation based on duration #1241
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-12-30 20:27:15 +01:00
Michael Mayer ca4705eee2 CLI: Add username argument to the "photoprism passwd" command #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-12-29 23:41:43 +01:00
Michael Mayer 84cab27261 CLI: Add file extension flag to "photoprism convert" command #3038
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-12-28 21:14:46 +01:00
Michael Mayer 290617c082 Settings: Prevent success notification from being displayed twice
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-12-28 20:14:35 +01:00
Michael Mayer 3553f84872 Metadata: Ensure GPS lat/lng are within a valid range #2109
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-12-28 20:14:35 +01:00
Michael Mayer b38dac8e8c Search: Find pictures by Exif UID, XMP Document ID or Instance ID #3035
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-12-28 17:50:08 +01:00
Michael Mayer 78151a78ee Videos: Extract still image after 9 seconds if duration > 1s #1241
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-12-23 09:55:02 +01:00
Michael Mayer 4c3b3cbdc7 Albums: Revert default order back from "newest" to "oldest" #3021
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-12-23 09:21:25 +01:00
Michael Mayer cab5efba36 Logging: Add output writer wrapper so the default logger can use Logrus
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-12-23 01:35:59 +01:00
Michael Mayer 709683ef59 Videos: Extract still image after 3 seconds if duration > 3100ms #1241
This way, still images of live photos remain unchanged, while other
videos might get better preview images, especially if the first
few frames are only black or white.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-12-23 01:33:35 +01:00
Michael Mayer 487bb13555 Albums: Change default sort order from "oldest" to "newest" #3021
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-12-19 20:05:19 +01:00
Michael Mayer 6806e74f7d Config: Do not search empty template paths for files #2946
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-28 10:22:53 +01:00
Michael Mayer dd506adce2 Albums: Replace ASCII quotes in titles with Unicode quotes #2891
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-28 09:24:23 +01:00
Michael Mayer 53232b53c0 Frontend: Add upgrade page and update about page
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-27 18:00:55 +01:00
Michael Mayer bfe7705af6 Config: Change report command output title
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-25 10:23:34 +01:00
Michael Mayer eb18ae89fe Auth: Fix login URI in public mode #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-23 19:48:39 +01:00
Michael Mayer cc38922cbe Auth: Add dummy LDAP service #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-22 22:14:34 +01:00
Michael Mayer 72fffc92fc Index: Improve the query performance when flagging hidden files #2928
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-21 12:20:28 +01:00
Michael Mayer 441812fd7b MariaDB: Make version check compatible with 10.10 #2913
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-18 12:49:17 +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 6ab04088e2 Metadata: Accept switch back to local time if current zone is UTC #2876
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-15 17:54:16 +01:00
Michael Mayer 75f288d465 Metadata: Add JSON tests for iPhone 6s and 14 Pro #2876
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-15 17:11:32 +01:00
Michael Mayer 29a180f91c Metadata: Don't remove quotes when sanitizing Unicode strings #2897
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-15 15:13:48 +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
Michael Mayer 54bfb167de Config: Reorder imports in config_db.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-12 12:15:55 +01:00