Commit graph

881 commits

Author SHA1 Message Date
Michael Mayer 654b41afe5 Auth: Prevent duplicate usernames when renaming accounts #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-09 19:56:07 +01:00
Michael Mayer 0a5dce5aeb Auth: Refactor sessions API and model #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-09 18:45:04 +01:00
Michael Mayer 50913e301c Auth: Prevent duplicate super admin accounts from being created #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-09 15:59:08 +01:00
Michael Mayer d8ab9616a5 Auth: Refactor user management API and CLI commands #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-09 15:12:10 +01:00
Michael Mayer 60162b3fc5 Auth: Refactor user management API and CLI commands #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-08 23:30:39 +01:00
Michael Mayer 0fbb4043c6 Faces: Run background worker only when data has been updated #3124
This may reduce server load and prevent disks from spinning up.
We welcome tests reports!

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-08 12:42:57 +01:00
connr 189fae6daf Fix Duration Compare in photos estimate
Remove the conversion to hours which provides incorrect duration comapre result
2023-03-03 16:21:21 +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 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 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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 36298b39d7 Auth: Only migrate non-empty legacy user fields #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-03 11:02:36 +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 13d32f3294 Translations: Fuzzy merge of .pot files with .po files #2083
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-31 13:25:02 +01:00
Michael Mayer ac84dce3aa Search: Add sort by "File Size" #2620
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-24 12:56:17 +02:00
Michael Mayer e8d11deb49
Update mariadb.mmd 2022-10-22 13:29:47 +02:00
Michael Mayer 72e5af3078 Backend: Code clean-up
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-19 22:23:12 +02:00
Michael Mayer ebb5646571 Security: Update default config values to use HTTPS for the site URL
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-19 20:26:36 +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 59da5037e6 Server: Add Error 404 Not Found template and change ext to .gohtml #840
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-18 22:19:41 +02:00
Michael Mayer 837669f796 Auth: Extend account settings with user details and avatar upload #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-17 19:07:38 +02:00
Michael Mayer e3bb8b19dd Routing: Prefix frontend UI routes with /library #840 #2466
Also improves migrations and updates the db schema docs.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-15 21:54:11 +02:00
Michael Mayer 6b8b3bf3c2 Auth: Improve legacy user search command and add tests #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-14 02:48:23 +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 6abbc39017 Security: Add http rate limiter and auto tls mode #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-11 22:44:11 +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 d815123bfb CLI: Add "photoprism users reset" command #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-08 20:48:58 +02:00
Michael Mayer 3512c7be4f Reactions: Ignore error, should a test fixture already exist
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-08 19:13:39 +02:00
Michael Mayer 693108fd53 Sharing: Refactor UserShare entity #98 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-04 00:54:39 +02:00
Michael Mayer b390e34b78 Sessions: Clean up auth_session_cache.go #98 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-03 23:46:20 +02:00
Michael Mayer 05cdcbaf9d Sessions: Cache pointers to improve performance #98 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-03 23:39:36 +02:00
Michael Mayer bac6ae0cbd Sessions: Add max age and timeout config options #98 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-03 22:59:29 +02:00
Michael Mayer 4c516cac38 Auth: Rename database tables and delete temporary tables #98 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-02 22:09:02 +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 65e9a58979 Backend: Refactor gorm.DB connection provider in entity package
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-01 15:17:04 +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 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 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 5e7ff6b1b2 Auth: Add unique index to user_slug in auth_users table #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-02 22:55:57 +02:00
Michael Mayer 85561547cc Auth: Add "PHOTOPRISM_ADMIN_USER" option and refactor user table #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-02 21:30:50 +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 d8e0364dbb Search: Ignore public album filter if "Private" feat is disabled #2570
This needs to be very well tested and discussed, as these changes can
lead to private photos being accidentally published. Thank you!

Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-08-01 15:57:19 +02:00
Michael Mayer f14752f08c Purge: Improve tests and logs for RegenerateIndex() #2540
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-23 11:20:56 +02:00
Michael Mayer d81579071b Purge: Prevent SQL error when the photo ID of a file is missing #2540
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-22 19:47:16 +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 112e845a9c Entity Package: Update database schema documentation
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-12 16:11:05 +02:00
Michael Mayer 8cd97940da Entity Package: Update database schema documentation
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-12 16:05:27 +02:00
Michael Mayer 24cdd8f403 Entity Package: Update database schema documentation
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-12 15:31:53 +02:00
Michael Mayer 97700ae379 Entity Package: Update database schema documentation
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-12 15:16:47 +02:00
Michael Mayer d02a61d099 Entity Package: Add database schema documentation
see https://github.com/photoprism/photoprism/discussions/1768#discussioncomment-3125601

Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-12 13:37:08 +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 b09112058e Videos: Transcode supported formats if bitrate exceeds limit #2461
Implements Option (1) as described in the issue comments.
2022-06-26 19:47:12 +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 8af69b81f2 Search: Omit files with unknown Chroma when using mono:true filter #2341 2022-05-21 18:12:08 +02:00
Michael Mayer 2121dd4307 Auth: Allow short initial passwords to avoid login problems #2339 2022-05-20 19:25:19 +02:00
Michael Mayer 54700766df Index: Truncate mod time to full seconds #2257 2022-05-17 01:04:26 +02:00
Michael Mayer 16c30fffdf Backend: Run "make fmt-go" 2022-05-10 23:21:50 +02:00
theresa d27e1fa52f Tests: Add to dos to run tests on mariadb 2022-05-03 15:05:45 +02:00
theresa 0c345d4426 Tests: Update photo fixtures 2022-04-22 10:48:07 +02:00
theresa 16c2db9872 Tests: Correct portrait value for file fixtures 2022-04-22 10:20:15 +02:00
Michael Mayer b595d5df7a Library: Display RAW previews and num of actual files in Originals #2273 2022-04-21 22:17:26 +02:00
Michael Mayer ce709957d6 Search: Update files.media_id and time_index on MariaDB and SQLite #2265 2022-04-21 21:56:53 +02:00
Michael Mayer 94b4173cf9 Search: Fix files.time_index generation on SQLite #2265 2022-04-21 19:47:16 +02:00
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