Commit graph

110 commits

Author SHA1 Message Date
Ömer Duran
4b33d3bd1a
PWA: Add maskable icons, lang/dir, and install screenshots #5696 2026-06-30 19:53:52 +02:00
Cathie Integra
3f096a592b Links: Use canonical trailing-slash form for website URLs 2026-06-24 17:20:30 +02:00
Michael Mayer
71aeb26137 OIDC: Store email only when the token marks it verified 2026-06-10 00:04:26 +00:00
Michael Mayer
80ac70cc6a FFmpeg: Use atomic.Pointer for thread-safe Exclude list access #5617 2026-05-26 15:57:59 +00:00
Michael Mayer
d2e8c7afad Config: Add option to exclude video formats from FFmpeg #5617 2026-05-26 15:36:42 +00:00
Michael Mayer
570a563748 Docs: Bump copyright year to 2026 in Go package headers 2026-05-25 14:39:38 +00:00
Michael Mayer
10592bf8d7 Backend: Clip over-length input in clean.Name and clean.State #5584 2026-05-18 15:33:16 +00:00
Michael Mayer
85221460e9 Search: Use parameterized queries for user search input #5587 2026-05-17 13:46:20 +00:00
Michael Mayer
51976b7f5c Search: Add NOT & AND operators to label filter #5535
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-04-17 17:25:18 +02:00
Michael Mayer
bcb6d39332 Server: Add web overlay handler for unmatched routes #5459
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-02-24 20:02:58 +01:00
Michael Mayer
0e91ef5ba2 Index: Expanded folder-album reconciliation scope when needed #5437
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-02-24 12:15:58 +01:00
Michael Mayer
a2b7615c93 Go: Apply go fix modernizations across backend packages
Run `go fix ./...` and keep mechanical modernization updates.

- Replace `interface{}` with `any` in signatures and local types
- Apply formatter/style cleanups from go1.26 tooling
- Keep `omitempty` behavior-preserving simplifications suggested by fix
- No functional feature changes intended

Validation:
- go test ./... -run '^$' -count=1 (Go 1.26.0)
- GOTOOLCHAIN=go1.24.10 go test ./... -run '^$' -count=1

Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-02-20 03:54:33 +01:00
Michael Mayer
09ce485725 Config: Add "theme-url" option (pro/portal) and URI credential redaction
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-02-20 02:15:52 +01:00
Michael Mayer
23529d0472 Pkg: Apply "golangci-lint" recommendation to clean package #5330
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-11-21 15:28:04 +01:00
Michael Mayer
9d86b2a512 Settings: Use PHOTOPRISM_DISABLE_FEATURES to initialize default features
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-11-21 15:19:15 +01:00
Michael Mayer
d35dd08dea AI: Set OpenAI API service key via OPENAI_API_KEY(_FILE) variable #5322
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-11-14 12:04:44 +01:00
promalert
5d0aa1068c refactor: use b.Loop() to simplify the code and improve performance
Signed-off-by: promalert <promalert@outlook.com>
2025-11-13 08:54:42 +01:00
Michael Mayer
bbee0993e0 Pkg: Use ProjectRoot variable in path_test.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-11-02 11:56:43 +01:00
Michael Mayer
cd7fa6adca Logs: Add package pkg/log/status to provide generic outcome constants
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-21 14:42:05 +02:00
Michael Mayer
a921f82a17 Pkg: Move /service/http/... to /http/... and add package /http/dns
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-19 21:08:48 +02:00
Michael Mayer
50abe4ddaf Config: Automatically download, install and activate cluster theme #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-19 16:09:26 +02:00
Michael Mayer
e6959e7e96 Cluster: Report Config.About() instead of Config.Name() as app name #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-19 14:30:10 +02:00
Michael Mayer
1b85f84943 Cluster: Add AppName, AppVersion and Theme request/response fields #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-19 12:44:21 +02:00
Michael Mayer
4924114a53 Clean: Add Yes/No/Bool funcs consistent with strconv.ParseBool() #5191
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-11 14:35:39 +02:00
Michael Mayer
c0f02637a9 Forms: Improve validation to support "+" signs in email addresses #5254
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-11 11:24:10 +02:00
Michael Mayer
79654170eb Ollama: Remove code fences and commentary from JSON API responses
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-04 16:46:55 +02:00
Michael Mayer
d7ee54ec58 API: Update Thumb/ThumbSrc for subjects and labels #4151
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-03 23:17:07 +02:00
Michael Mayer
b00dd133db Test: Use PascalCase names for all Go subtests in /pkg
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-02 15:03:47 +02:00
Michael Mayer
9b5ee0513b AI: Allow underscores in vision model names #5232 #5233 #5234
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-01 00:59:40 +02:00
Michael Mayer
66e2027c10 Auth: Shorten code comments in pkg/clean/scope.go #98 #5230
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-09-26 05:55:50 +02:00
Michael Mayer
108b2c2df4 Auth: Recommend acl.ScopeAttrPermits / acl.ScopePermits #98 #5230
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-09-26 05:45:59 +02:00
Michael Mayer
61ced7119c Auth: Refactor cluster configuration and provisioning API endpoints #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-09-24 08:28:38 +02:00
Michael Mayer
023fbe3a1d Pkg: Add service/cluster package & rename media/http → service/http #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-09-13 12:58:28 +02:00
Michael Mayer
ae42af54d8 AI: Generate captions using the Ollama API #5011 #5123
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-07-21 10:43:49 +02:00
Michael Mayer
02d8525ade Places: Add config option to specify location details locale #465 #883
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-07-03 12:58:20 +02:00
Michael Mayer
bcbbbcd7b3 Backend: Add WebLocale formatting function to clean package #465 #5043
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-06-25 00:03:41 +02:00
Michael Mayer
e89efc9d39 Clean: Add version assertions to version_test.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-05-13 10:06:07 +02:00
Michael Mayer
de14b30570 Videos: Add "photoprism dl" CLI command to import from a URL #4982
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-05-02 12:16:59 +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
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
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
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
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
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