Commit graph

892 commits

Author SHA1 Message Date
Michael Mayer cc12f3f457 Auth: Improve sanitization of usernames and handles
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-15 22:41:59 +01:00
Michael Mayer addc5e8251 Auth: Refactor users path configuration and base path default
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-14 21:47:14 +01:00
Michael Mayer 9ab833c2ec Auth: Improve username validation and parsing
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-14 16:36:30 +01:00
Michael Mayer cc97759806 Moments: Change default sort order in the overview to "newest" #3280
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-13 22:17:23 +01:00
Michael Mayer 88367b4ff7 Auth: Refactor user model and path validation #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-13 17:52:48 +01:00
Michael Mayer 36d62b5506 Auth: Refactor user model and improve validation #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-13 17:36:56 +01:00
Michael Mayer 5b73101442 Auth: Refactor user roles and auth providers in entity model #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-13 16:04:37 +01:00
Michael Mayer c1efe61b92 Settings: Move download settings to general tab #449
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-11 15:34:59 +01:00
Michael Mayer a425027a9b Auth: Prevent unauthorized users from using the application #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-10 13:20:16 +01:00
Michael Mayer 8df444dfd7 Auth: Refactor session API #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-10 12:15:10 +01:00
Michael Mayer ad5e9b2e21 User Details: Increase size of bio field, add about to UI #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-10 10:21:46 +01:00
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