Keith Martin
b6687b6c29
Tests: Improve isolation and add fixes #5263
...
* Tests: fix random selection of deleted record causing test failure
* Tests: fix test folders being left after test
* Tests: ensure that required records are available
* Tests: make each package execute against it's own testdata folder to ensure no interpackage test failures
* Tests: add unit tests of CleanupTestFolder
* Tests: Allow defer in TestMain
* Tests: rename testMain to runTestMain
2026-07-12 05:47:21 +02:00
Cathie Integra
3f096a592b
Links: Use canonical trailing-slash form for website URLs
2026-06-24 17:20:30 +02:00
Michael Mayer
49c6535c81
Storage: Fix duf path lookup to resolve the containing mount #5683
...
FindByPath now resolves a path's containing filesystem by longest-prefix match against the raw mount list, instead of the df-style display filter that hides overlay/pseudo roots. This fixes PathInfo/Free/StorageLow for paths like "/" whose mount is hidden (e.g. a container overlay root), which previously resolved to an arbitrary masked tmpfs.
2026-06-23 11:18:13 +00:00
Michael Mayer
b7d637d5dd
Storage: Map out-of-space writes to the insufficient-storage error #5613
2026-05-30 22:23:14 +00:00
Michael Mayer
924c80f78c
FS: Prefer relative over absolute paths in directory detection #5629
2026-05-30 16:10:46 +00:00
Michael Mayer
3b38a4a2a5
Config: Improve low storage detection #5613
2026-05-29 01:45:04 +02:00
Michael Mayer
dd2c9e3e88
Storage: Refine low-storage logging and extract walk-error sentinels #5613
2026-05-26 00:32:35 +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
0f01057dba
Index: Abort early when storage is critically low #5613 #5612
2026-05-25 14:27:21 +00:00
Michael Mayer
f9ae856fd7
Backend: Compact verbose comments in thumb, AI face, and pkg/fs
2026-05-15 17:50:08 +00:00
Michael Mayer
812faccae6
Clean-up: Drop imaging and pigo library integrations #5353 #5508 #668
...
Also drops github.com/esimov/pigo since it requires the imaging lib.
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-04-01 13:47:42 +02:00
Michael Mayer
e313f0e0bc
Thumb: Bound TIFF image decodes to file size
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-03-31 15:16:23 +02:00
Michael Mayer
39ea7add37
Assets: Rename example fixtures directory to "samples"
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-03-06 18:47:33 +01:00
Michael Mayer
20fd49f2ac
Media: Improve layered TIFF & PSD preview support #5383
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-03-06 18:14:48 +01:00
Michael Mayer
f2aabb9bcd
Security: Add gosec fixes with shared URL and fs validation helpers
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-03-03 16:38:41 +01: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
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
1a1ff63565
Library: Fix .ppignore inconsistently ignoring related media files #5447
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-02-10 16:53:18 +01:00
Michael Mayer
df5efb61a2
Backend: Clean up error handling and unit tests in pkg/...
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-02-09 12:31:29 +01:00
Michael Mayer
733307c43f
Frontend: Namespace local storage to run multiple nodes on a domain #98
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-02-08 18:35:05 +01:00
Michael Mayer
ebed7fa5b4
Go: Replace strings.Split() with strings.SplitSeq() #5337
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-11-25 14:26:29 +01:00
Michael Mayer
1631aecea6
Pkg: Add fs/README.md to document performance & security improvements
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-11-25 13:09:48 +01:00
Michael Mayer
149f5e5731
CI: Apply Go linter recommendations to remaining "pkg/..." code #5330
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-11-22 16:14:43 +01:00
Michael Mayer
90ab65a9b0
Zip: Harden fs.Unzip() implementation in pkg/fs #5330
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-11-22 14:32:23 +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
3874bc5422
Config: Enhance tests for configuration and database file names #5304
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-11-02 11:49:00 +01:00
Michael Mayer
d6f0e808eb
Config: Support YAML filenames with alternative extensions #5304
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-11-02 11:33:40 +01:00
Michael Mayer
b91a7380ea
Media: Associate ".mp.jpg" and ".mp.jpeg" files with ImageJpeg #5289
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-23 18:23:24 +02:00
Michael Mayer
f23069dd2c
Security: Improve credential handling across the cluster tooling #98
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-20 00:06:17 +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
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
627acaf64e
PWA: Add fs constants for "assets.json" and "manifest.json" #5274
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-18 09:23:53 +02:00
Michael Mayer
bf6d7e4f94
Config: Add StaticBuildFile() and StaticImgFile() functions #5274
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-18 09:09:56 +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
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
9ea5f0596c
Backend: Add security-focused tests, harden WebDAV and use safe.Download
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-09-22 10:42:53 +02:00
Michael Mayer
91804b9652
Backend: Improve Copy()/Move() and increase pkg/internal test coverage
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-09-22 03:07:51 +02:00
Michael Mayer
458a320bb8
Pkg: Add fs.Exists() function to check for any existing file/dir/link
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-09-21 23:09:33 +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
c36e66c847
Config: Add fs.ExtYml file extension const for transitioning to ".yaml"
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-09-13 02:09:22 +02:00
Michael Mayer
0d572032a9
API: Add GET /cluster/theme endpoint and refactor config package #98
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-09-11 06:47:45 +02:00
Michael Mayer
0bce60c046
Index: Improve logging when PDF documents cannot be indexed #5166
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-08-19 12:24:29 +02:00
Michael Mayer
ab0bd1c732
Config: Change default vision model assets path to assets/models/ #127
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-08-08 19:06:56 +02:00
Michael Mayer
a6d840056c
Media: Log underlying error when MIME type detection fails #5149
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-08-06 09:59:38 +02:00
Michael Mayer
f80ac62e6b
Live Photos: Only flag actual Live and Motion Photos as "Live" #5089
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-07-06 11:07:25 +02:00
Michael Mayer
86fe4404ef
M2TS: Extract embedded metadata with ExifTool #4982 #4892 #5040
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-06-11 19:22:20 +02:00
Michael Mayer
2e2ebab433
Videos: Improve downloading, remuxing, and transcoding #4982 #4892 #5040
...
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-06-09 15:31:23 +02:00
hardlydearly
060924c19a
Backend: Use slices.Contains to simplify code ( #4975 )
...
Signed-off-by: hardlydearly <799511800@qq.com>
2025-04-30 15:25:05 +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