Commit graph

740 commits

Author SHA1 Message Date
Michael Mayer
e59fdded1b Metadata: Preserve UTC time when a location time zone is set #4622 #4946
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-23 17:15:49 +02:00
Michael Mayer
56ba9f1ee5 Metadata: Use Local time for file modification timestamps #4622 #4946
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-23 16:15:00 +02:00
Michael Mayer
5e77c6a3bb Metadata: Improve timezone parsing in /pkg/time/tz #4622 #4946
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-23 15:35:43 +02:00
Michael Mayer
36afc4a215 Backend: Clip error messages when too long
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-23 13:22:52 +02:00
Michael Mayer
5cd2c25489 Metadata: Move timezone related functions to /pkg/time/tz #4622 #4946
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-23 12:50:12 +02:00
Michael Mayer
27b72aa1e9 Search: Parse lat,lng string into float64 coordinates #4930 #4812
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-19 16:04:44 +02:00
Michael Mayer
04ac2a383e Search: Find pictures with a specific term in Title or Caption #4947
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-17 11:38:08 +02:00
Michael Mayer
5f32d75700 Metadata: Use "Local" as identifier for the local time zone #4946
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-16 17:12:37 +02:00
Michael Mayer
2c47644ea8 Metadata: Add "local" as an alias for an unknown (local) time zone
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-15 15:39:04 +02:00
Michael Mayer
8189503a69 AI: Add additional vision service API configuration options #127 #1090
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-13 10:58:15 +02:00
Michael Mayer
35bfe0694b API: Disable gzip compression for /api/v1/dl endpoint #127 #1090
Required for compatibility with the Python HTTP client. In addition,
this commit refactors function names and adds tests.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-11 14:13:25 +02:00
Michael Mayer
6fcce84623 AI: Add photoprism-vision test service and caption API client #127 #1090
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-11 01:17:47 +02:00
Michael Mayer
caf3ae1ab5 AI: Refactor use of face embeddings, labels, and nsfw models #127 #1090
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-10 16:49:34 +02:00
Michael Mayer
cf3b933e59 API: Refactor data URL encoding and decoding in pkg/media #127 #1090
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-09 10:58:48 +02:00
Michael Mayer
7f1041c434 Labels: Add image classification service client #127 #1090
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-08 04:14:18 +02:00
Michael Mayer
0f76186663 AI: Reject API requests with content-type multipart/form-data #127 #1090
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-07 23:05:34 +02:00
Michael Mayer
35e9294d87 AI: Add vision package and vision API endpoints #127 #1090
These changes allow to configure the computer vision models through an
optional vision.yml configuration file. Note that the API endpoints
are not yet functional and require further work.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-06 23:39:37 +02:00
Michael Mayer
b6ca5a1717 Config: Add upload-limit flag to limit total upload size #4929 #4895
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-05 15:44:13 +02:00
Michael Mayer
fe424d8966 Upload: Reject files that exceed the originals limit #4929 #4895 #2049
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-05 12:43:51 +02:00
Michael Mayer
b0e42bebf1 Upload: Add support for uploading zip archives #4929 #4895
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-05 12:02:33 +02:00
Michael Mayer
ca708c3f56 Codespell: Fix invalid inline comments and broken test assertions #4506
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-27 16:57:56 +01:00
Yaroslav Halchenko
15668ee7b5
CI: Add codespell config and fix typos (#4506)
More about codespell: https://github.com/codespell-project/codespell
2025-03-27 16:42:24 +01:00
Michael Mayer
4329b43b76 Backend: Improve error handling and logging #4491
These changes are based on a pull request submitted by @songzhibin97.
Thank you very much!

Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-27 09:51:38 +01:00
Michael Mayer
9e95c7e71c Upload: Delete invalid files, improve type checks and import logs #4895
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-25 11:58:59 +01:00
Michael Mayer
7de72bd99a Upload: Allow to limit the types of files users can upload #4895
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-25 06:32:01 +01:00
Michael Mayer
87ccc96181 Search: Allow searching for labels that only have an emoji as name #4761
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-19 16:14:30 +01:00
Michael Mayer
34f3d9eac1 Slugs: Use base32 encoding for slugs that don't contain text #4761
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-19 11:57:53 +01:00
rubyisrust
6dce52643c chore: make function comment match function name
Signed-off-by: rubyisrust <rustrover@icloud.com>
2025-03-18 10:00:49 +01:00
Michael Mayer
57060844ba Auth: Improve user model and search in backend and frontend
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-18 09:00:50 +01:00
Michael Mayer
6128bf4e47 Config: Require MariaDB v11.4 to use SSL for backups #4837
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-18 08:55:27 +01:00
Michael Mayer
8aa0cc95ea Config: Fix and improve database version detection #4837
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-18 08:38:18 +01:00
NinaLua
b3ad0e5b92 refactor: using slices.Contains to simplify the code
Signed-off-by: NinaLua <iturf@sina.cn>
2025-03-14 10:06:09 +01:00
Michael Mayer
f747211017 Library: Add support for indexing PDF documents #4600
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-12 04:26:04 +01:00
Michael Mayer
7f0717e9a0 Auth: Prevent login if additional accounts may not be created #4266
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-12 01:08:16 +01:00
Michael Mayer
a66d3278ab API: Prevent file imports/uploads if there is no free storage #4266
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-11 20:35:07 +01:00
Michael Mayer
7a97b38cb3 UX: Specify files quota in GB instead of MB #4266
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-11 18:04:10 +01:00
graciousgrey
006ed32838 Tests: Add unit tests #4848 2025-03-10 19:03:59 +01:00
graciousgrey
ad3b00f009 Tests: Add unit tests #4266 2025-03-10 17:33:00 +01:00
Michael Mayer
df09c78ee1 Videos: Add "codec" search filter and auto-enable nvidia encoder #4848
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-10 14:30:25 +01:00
Michael Mayer
b1d9f24fc5 Config: Disable uploads and imports when storage is full #4266
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-04 08:28:28 +01:00
Michael Mayer
ace90d95a4 Config: Refactor filesystem usage detection and add tests #4266
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-03 21:05:08 +01:00
Michael Mayer
c2cc50b670 Config: Add option to show filesystem usage in sidebar navigation #4266
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-03 20:05:56 +01:00
Michael Mayer
e1a9a68b29 FS: Add /pkg/fs/duf to determine mount points and disk usage #4266
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-03 11:24:30 +01:00
graciousgrey
5dcadf1028 Tests: Add unit tests #4820 2025-02-27 17:24:45 +01:00
Michael Mayer
258642b9ac Videos: Assume that .m4v files are compatible with MP4 #4820
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-27 09:37:57 +01:00
Michael Mayer
829c5479c1 Metadata: Update pkg/txt/specialwords.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-08 20:29:16 +01:00
Michael Mayer
501ef56c97 Videos: Support for detection and streaming of additional formats #4770
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-06 14:27:47 +01:00
Michael Mayer
b2cef94f07 Videos: Assume 10-bit codec variants in content type for HDR #4770
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-05 12:39:46 +01:00
Michael Mayer
b4f57dc992 API: Fix glitch in video.Compatible() and add tests for it #4770
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-05 04:17:03 +01:00
Michael Mayer
ef66ddbb8c API: Compare video formats by content type for better matching #4770
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-05 03:42:40 +01:00