Commit graph

601 commits

Author SHA1 Message Date
Michael Mayer 952f7e1793 API: Skip authentication if app is running in public mode #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-12 16:34:48 +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 1473df3c58 Search: Hide results needing review if the user is not an admin #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-04 02:57:15 +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 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 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 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 78665e5869 Albums: Ignore private pictures only if feature is enabled #2570
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-08-31 17:42:57 +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 194e7d1219 Places: Hide private pictures if "Private" is enabled in Settings #2570
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-08-02 09:26:42 +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 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 cd9ec023d3 Cleanup: Remove cached JSON files and further improve logs #2521
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-22 19:18:42 +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 ca74a76038 Zip: Improve download handler, tests and logging #2532
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-07-21 15:16:20 +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 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 519f0c49c9 Videos: Stream OGV, VP8, VP9, AV1, WebM, and HEVC if supported #2461 2022-06-24 06:59:22 +02:00
Andre Carrera 95c03afe28
Videos: Skip transcoding of HEVC / HVC1 if supported by the browser #440 #513 (#2379) 2022-06-24 01:30:48 +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 2de1e338bd Logs: Prevent feedback loops by omitting repeated messages #2335
This also prevents debug and trace messages to be sent to the frontend.
2022-05-20 11:31:39 +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 27b84365da Convert: Set virtual home in cache path for external CLI commands #2262 2022-04-18 13:55:17 +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 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 ea3e7f179e UX: Improve Search Navigation and Components, add GIF Symbol #590 #1438 2022-04-14 14:13:54 +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 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 ad345805d9 UX: Skip RAW files by default when downloading albums #2234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2022-04-11 11:53:21 +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 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 4afd3f2ca9 Faces: Add Marker and File UID to API error logs #1438 #2201
The file query functions have been refactored and now return pointers.
2022-04-05 13:54:50 +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 686f6bc47c People: Add subject cache and show real name in logs #1438 #2182 2022-04-04 00:02:08 +02:00
Michael Mayer 4c583f7f1d People: Disable updates if the worker does not run often enough #2182 2022-04-03 14:51:58 +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
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 3698a860c6 CI: Improve stability when running unit tests in parallel
Adds SQLite memory namespaces to avoid potential conflicts.
2022-03-31 17:55:40 +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 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 d0beab3f09 Config: Update expected flags in config_test.go and client_test.go 2022-03-16 17:41:50 +01:00
Michael Mayer 6bebf9043b Config: Add Docker env string to backend requests (develop, prod)
For easier debugging so that development environments can be identified.
2022-03-02 14:16:49 +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 c853b3cd2d Backend: Shorten source file headers and normalize email addresses 2022-02-21 15:30:18 +01:00
Michael Mayer 6c4fc42415 API: Add Explicit Cache Header for Existing Thumbs #822 2022-02-20 17:36:51 +01:00
Michael Mayer 9c0a47b8bc Videos: Stream directly without CDN and fix content header #1648 #1937 2022-01-18 12:28:27 +01:00
Michael Mayer 03457bdb75 Frontend: Refactor asset loading #1648 2022-01-18 12:26:33 +01:00
Michael Mayer f5b7ef834e Index: Prevent two primary files in photo stacks #1823 2022-01-06 14:33:49 +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 8efe473d30 Copyright: Update year in source files and footer.vue 2022-01-03 13:46:52 +01:00
Michael Mayer 5f229ecb53 Albums: Exclude private pictures from downloads #1836 2022-01-03 12:51:59 +01:00
Michael Mayer e8a1e85f14 Search: Improve query string normalization and sanitation #1814 #1820 2021-12-16 15:26:54 +01:00
Michael Mayer 2636255c95 Search: Add uid:... search filter #1820 2021-12-16 11:42:57 +01:00
Michael Mayer 0f0c0aaa0b API: Improve path and filename parameter sanitation #1814 2021-12-14 20:01:39 +01:00
Michael Mayer cce371d35a Sharing: Fix link redirect on shared domains #1617 2021-12-14 18:36:36 +01:00
Michael Mayer 4e94919030 API: Improve request parameter sanitation #1814 2021-12-14 18:34:52 +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 35ac1e730c Docs: Update URL 2021-12-12 20:48:05 +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 9df31e2592 CLI: Update command descriptions, log messages and levels 2021-11-27 18:41:10 +01:00
Michael Mayer 2d350c190f Places: Only show nearby photos in viewer if > 50 results on map 2021-11-26 21:10:52 +01:00
Michael Mayer 650817a9e0 API: Add prefix to the source filename of search request handlers
Finding the right code is easier when the name matches related
functionality in other packages.
2021-11-26 14:28:50 +01:00
Michael Mayer 3e6c7052bb Places: Refactor GeoJSON API endpoint 2021-11-26 13:59:10 +01:00
Michael Mayer 45d1360c18 Metadata: Improve location estimates and UTC handling #1668 2021-11-23 19:23:10 +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 0b36818704 People: Update test for updating markers of non-primary files #1710 2021-11-09 18:02:44 +01:00
Michael Mayer 8f9796637d People: Fix updating markers of non-primary files #1710 2021-11-09 18:00:24 +01:00
Michael Mayer c029b2a78c Docker: Rename and update dummy-webdav service 2021-11-09 16:55:16 +01:00
Michael Mayer 2a119380a7 Folders: Ignore names listed in .ppignore #1609 2021-10-09 13:57:28 +02:00
Michael Mayer d1f68e4f7a People: Fix form handling in subject API endpoint #22 #1554 2021-10-06 20:06:52 +02:00
Michael Mayer 767e3ca492 People: Hide person from people and new faces overviews #1554 2021-10-06 15:27:17 +02:00
Eng Zer Jun 44f7700c0c
Enable module graph pruning and deprecate io/ioutil (#1600)
* Backend: Enable Go module graph pruning and lazy module loading

This commit applies the changes by running `go mod tidy -go=1.17` to
enable module graph pruning and lazy module loading supported by Go 1.17
or higher.

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>

* Backend: Move from io/ioutil to io and os package

The io/ioutil package has been deprecated as of Go 1.16, see
https://golang.org/doc/go1.16#ioutil. This commit replaces the existing
io/ioutil functions with their new definitions in io and os packages.

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2021-10-06 07:10:50 +02:00
Michael Mayer a5c2794611 CLI: Improve help for purge command 2021-10-05 22:44:27 +02:00
Michael Mayer de63227767 CLI: Update help texts for commands and flags 2021-10-05 22:33:29 +02:00
Michael Mayer 4f1ecb6ced People: Improve log messages #22 2021-10-05 19:06:05 +02:00
Michael Mayer f7153cdd21 People: Improve logging, command help, and handling of broken files #22 2021-10-05 18:42:39 +02:00
Michael Mayer de737a6eef Logs: Always put time in brackets 2021-10-02 15:19:11 +02:00
Michael Mayer 9a88d7fc6a Logs: Tweak messages and log levels for improved readability 2021-10-02 14:24:44 +02:00
Michael Mayer 74233809b9 Covers: Rename "preview images" to "cover thumbs" for consistency #383 2021-10-01 16:44:50 +02:00
Michael Mayer f6c18f7767 People: Count the number of photos for each subject #22
Also fixes issues with older versions of MariaDB, see #1544
2021-10-01 16:34:29 +02:00
Michael Mayer 24eff21aa4 Search: Default to photo names and keywords #1517 #1560
Default to photo name when search term is too short or on the stop list.
Search full text index otherwise, which now include names of people
(requires reindexing).
2021-09-29 20:09:34 +02:00
Michael Mayer f23d288380 Index: Replace changed file hashes and remove orphan markers 2021-09-24 13:13:59 +02:00
Michael Mayer 4a545767d4 API: Add descriptions to config handlers 2021-09-24 02:03:34 +02:00
Michael Mayer eb8bc7b709 Backend: Improve resilience #1544 2021-09-23 23:46:17 +02:00
Michael Mayer 7767d0c892 People: Update photo and file counts after faces have been updated #22 2021-09-23 16:06:59 +02:00
Michael Mayer 8e5a97ed4a People: Simplify thumbnail API for face crops #22 2021-09-20 16:17:10 +02:00
theresa 68dbcf4039 People: Add unit test #22 2021-09-20 09:31:30 +02:00
Michael Mayer 1f92f294dd People: Normalize names #22 2021-09-19 13:35:44 +02:00
Michael Mayer e82533cdf0 People: Add unknown faces overview page #22 2021-09-18 20:41:30 +02:00
Michael Mayer ed22f245db People: Add faces API endpoint & JS model #22 2021-09-18 15:32:39 +02:00