Commit Graph

1132 Commits

Author SHA1 Message Date
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
Jacob D
0d487b6490 Faces: Improve performance when manual tagging (#4691)
This PR implements a strategy to improve Optimize() performance by returning the correct number of modified rows in PurgeOrphanFaces and treating the result 0 as an error condition in MergeFaces. Logging around this has been improved in faces.go and faces_optimize.go.

Related Comments:
- https://github.com/photoprism/photoprism/issues/3124#issuecomment-2566025503
- https://github.com/photoprism/photoprism/pull/4691#issuecomment-2566164179
2025-03-27 01:40:31 +01:00
Michael Mayer
b0eb7aacdd UX: Rename "Videos" to "Media" in navigation and add audio type #4694
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-26 12:53:15 +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
ba83fcedfb Albums: Prevent the same albums from being created twice #4849
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-19 12:00:30 +01:00
Michael Mayer
efe2fd502a Albums: Apply default sort order when uploading to a new album #405
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-18 16:48:00 +01:00
graciousgrey
f4af470894 Tests: Add unit tests 2025-03-18 15:20:51 +01:00
graciousgrey
e7bed76656 Tests: Add unit tests 2025-03-18 14:49:49 +01:00
Michael Mayer
dd18401d82 WebDAV: Add "failed" state for files that cannot be synchronized #4827
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-18 11:53:56 +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
f81a945e74 Albums: Add settings to set a default sort order for each type #405
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-17 17:53:33 +01:00
Michael Mayer
d0239ba209 UX: Improve quota calculation and checks in config and api #4266
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-17 16:12:47 +01:00
Michael Mayer
328d51ee41 Albums: Add settings for downloading album archives #4344 #405
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-16 16:10:47 +01:00
Michael Mayer
0350e5d572 UX: Add UI settings for selecting start page and time zone #577
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-15 14:51:44 +01:00
Michael Mayer
4357f8e732 UX: Make information shown on cards view configurable #1164
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-14 16:01:05 +01:00
graciousgrey
a3067a8887 Tests: Add unit tests 2025-03-12 16:34:28 +01:00
Michael Mayer
9936c21aeb Documents: Update search queries and filter documentation #4600
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-12 04:48:15 +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
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
Michael Mayer
08b3cabad6 UX: Improve data table and pagination styles
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-11 10:45:31 +01:00
graciousgrey
006ed32838 Tests: Add unit tests #4848 2025-03-10 19:03:59 +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
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
78f5104020 Thumbs: Add "fit_5120" size suitable for Retina 5K displays #4810
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-25 11:21:38 +01:00
Michael Mayer
fa487ed64a Albums: Fix GET /albums/{uid} and GET /photos API permission checks
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-22 14:40:35 +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
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
Michael Mayer
d5ef7bf1bc Media: Refactor video content type constants #4770
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-05 01:23:22 +01:00
Michael Mayer
6a89519e63 Videos: Refactor codec, content and file type specifications #4770
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-05 00:30:45 +01:00
Michael Mayer
1f4f65e988 Server: Add "force" and "mode" flags for sockets #4673 #4767 #4765 #4467
These changes allow you to force the re-creation of existing Unix domain
sockets and set the permissions of sockets after they have been created.

The flag or variable value for this must be formatted as follows:
--http-host="unix:/var/run/photoprism.sock?force=true&mode=660"

Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-04 12:03:00 +01:00
Michael Mayer
c60c0ce3a6 API: Ensure slugs are not empty before saving/creating labels #4761
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-04 03:35:01 +01:00
Michael Mayer
06e59d9993 API: Improve content type string generation #1307 #3168
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-29 21:35:07 +01:00
Michael Mayer
bbd7d9af14 Videos: Refactor VP8 and VP9 codec types and add codec aliases #1307
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-29 15:58:34 +01:00
Michael Mayer
a20f12f3e7 Videos: Enhance support for direct streaming of HEVC / H.265 #1307 #3168
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-29 13:14:38 +01:00
Michael Mayer
d1fde00dfa Metadata: Add "Etc/GMT" time zone test cases to entity_time_test.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-29 01:10:57 +01:00
Michael Mayer
6b3cb0eca8 UX: Refactor video formats and codecs in front and backend #1307 #3168
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-28 23:26:52 +01:00
Michael Mayer
420fa9946c Viewer: Set native video stream src based on mimetype #1307 #3168 #4698
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-27 13:21:05 +01:00
Michael Mayer
b0c8d92f48 Scans: Detect Reflecta DigitDia 7000 as film scanner #4581
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-21 00:26:52 +01:00
Michael Mayer
1cd0ec7c62 Metadata: Add backward compatibility for Description field #4603
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-20 19:20:12 +01:00
Michael Mayer
7f13581265 Entity: Add json annotations to Service struct in service.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-19 12:58:31 +01:00
Michael Mayer
aeb51eb5fa Settings: Refactor services.vue and service add/edit dialogs #3168
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-17 08:46:45 +01:00
Michael Mayer
8da446a351 Metadata: Increase probability of keywords extracted from captions #4603
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-17 06:34:57 +01:00
Michael Mayer
ebeaaf568b Metadata: Set labels based on matching keywords in the caption #4603
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-17 06:24:29 +01:00
Michael Mayer
f24149fd49 Labels: Refactor label entity and cache in label.go and label_cache.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-17 05:36:25 +01:00
Michael Mayer
0ada8d1095 API: Add additional fields to label and subject edit forms #383 #3168
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-17 02:55:07 +01:00
Michael Mayer
8f593593b2 Viewer: Refactor thumb URL generation in the backend API #4704 #4722
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-15 19:13:13 +01:00
Michael Mayer
9b61b443c0 Backend: Fix typo in photo search result structs #1307 #4698 #4708
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-10 18:59:09 +01:00
Michael Mayer
1a938a387f Viewer: Add media codec to API response data #1307 #4698 #4708
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-10 15:20:43 +01:00