Commit graph

2781 commits

Author SHA1 Message Date
graciousgrey afe2190797 Tests: Add unit tests 2023-08-30 16:30:06 +02:00
Michael Mayer fd55b9046c Live Photos: Refactor Support for Samsung Motion Photos #439 #3588
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-22 10:48:37 +02:00
Gokce Dilek 44759d6673
Live Photos: Add Support for Samsung Motion Photos #439 #3588
* Save mp4 files generated from samsung motion photos
* Parse exiftool payload to identify videos
* Detect embedded video file type
* Extract embedded video in RelatedFiles
2023-08-22 10:21:37 +02:00
Michael Mayer 1507525ba4 People: Fix merging and renaming in connection with deleted names #3414
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-21 15:04:14 +02:00
Michael Mayer 2e367870a9 Albums: Fix generation of site URL when opening a share link #3658
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-21 11:29:41 +02:00
Michael Mayer 7020389a75 Albums: Fix album preview image URL in auth_share.go #3658
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-21 10:29:22 +02:00
graciousgrey 80c10bb35c Tests: Add unit tests 2023-08-18 17:48:14 +02:00
Michael Mayer f15ca1d7e5 Videos: Improve code comments in index_mediafile.go #926 #3588 #3559
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-18 10:08:21 +02:00
Michael Mayer d7f70c2a0c Forms: Update notes in search_photos.go and search_photos_geo.go #3639
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-18 09:26:10 +02:00
Michael Mayer c6bb28f60d Videos: Refactor File.UpdateVideoInfos() method #926 #3588 #3559
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-18 09:12:38 +02:00
Michael Mayer 69f15924ab Videos: Improve code comments in index_mediafile.go #926 #3588 #3559
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-18 08:57:22 +02:00
graciousgrey 32c0d0ae66 Commands: Improve search filter documentation 2023-08-18 08:53:53 +02:00
Michael Mayer be0fdc1774 Search: Add "scan:false" filter to find photos that are not scans #3589
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-16 10:34:55 +02:00
Michael Mayer 5b4b57e3bf Config: Improve docs and tests for Unix socket support #2337 #3595
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-16 10:14:19 +02:00
Michael Mayer 91cc358fc5 Clean: Shorten error log sanitization function name #439 #3588
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-15 17:05:55 +02:00
Michael Mayer 3581aafc29 Entities: Update file_test.go #3559
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-15 15:17:09 +02:00
Michael Mayer 3f6cb27497 Live Photos: Show correct image and video dimensions #3559
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-15 14:51:32 +02:00
Michael Mayer 5822a26b8c Metadata: Add test for mov video JSON files #3559
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-15 14:19:08 +02:00
Michael Mayer 8ed9f3f409 WebDAV: Improve service discovery tests #3579
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-15 13:01:50 +02:00
Michael Mayer a287830d1f Videos: Allow setting a lower TTL for caching video content #3631
Adds the new "--http-video-maxage SECONDS" config option.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-15 11:06:43 +02:00
Michael Mayer 7f13218229 Logs: Add LogError() func to sanitize error messages #439 #3588
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-15 08:12:52 +02:00
Michael Mayer 11beec835c Media: Move CreateExifToolJson() out of RelatedFiles() method #439 #3588
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-14 13:09:45 +02:00
Michael Mayer cb66022925 Index: Refactor JSON sidecar creation #439 #3588
A JSON sidecar should now exist in the MediaFile.RelatedFiles() method
so that the information can subsequently be used to extract an embedded
video from the media file, if necessary.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-14 12:51:22 +02:00
Michael Mayer c82a4b2287 HTTP: Refactor Unix socket support #2337 #3595
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-14 10:43:05 +02:00
Silver Bullet 2bf50082f5
Backend: Support listening on Unix Socket #2337 #3595
When HTTP listening address starts with unix: and contains /, listen
at given path instead of a TCP socket.

TLS or AutoTLS will not work since there is no TLS layer when using
the unix domain socket.
2023-08-14 10:00:35 +02:00
graciousgrey 71c30e4218 Tests: Add unit tests 2023-08-11 14:48:28 +02:00
graciousgrey e6679e6c50 Tests: Add unit tests 2023-08-09 15:56:16 +02:00
graciousgrey b32e3cd244 Tests: Add unit test 2023-08-08 13:40:12 +02:00
graciousgrey f9ea868582 Tests: Add unit tests 2023-08-08 13:01:48 +02:00
graciousgrey 470694e774 Tests: Add unit tests 2023-08-07 16:27:45 +02:00
Michael Mayer 16c78767b2 Metadata: Parse Caption and Caption-Abstract as Description #3567
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-07 14:56:47 +02:00
graciousgrey eece27a0ae Tests: Add unit tests 2023-08-07 14:46:32 +02:00
graciousgrey 9f17d64ea3 Tests: Add unit tests 2023-08-07 14:46:32 +02:00
graciousgrey a3f253c9de Tests: Add unit tests 2023-08-04 17:34:28 +02:00
graciousgrey a3bb4a2f0e Tests: Add unit tests 2023-08-04 16:23:08 +02:00
graciousgrey 63daf10bf9 Tests: Add unit tests 2023-08-02 16:44:12 +02:00
graciousgrey 5ba00e74e5 Tests: Add RefID to session fixtures 2023-08-02 16:42:17 +02:00
graciousgrey ca40954796 Tests: Add unit tests for wildcard search #2050 2023-08-02 16:00:57 +02:00
Michael Mayer 82dac4b7db Metadata: Change order of titles source fields #3567
This is a workaround to avoid character encoding issues, see:
- https://github.com/photoprism/photoprism/discussions/3567
- https://exiftool.org/TagNames/IPTC.html

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-01 15:12:06 +02:00
Michael Mayer 36bac7ab48 Faces: Add POST REST endpoint to manually create new file markers #1548
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-07-27 19:13:00 +02:00
graciousgrey 098255c741 Tests: Add unit tests #2596 2023-07-27 16:09:23 +02:00
graciousgrey 6b8a75f29f Tests: Add unit tests 2023-07-26 16:38:48 +02:00
graciousgrey b59b954d1f Tests: Add unit tests 2023-07-26 16:38:48 +02:00
Michael Mayer 6c1df15f34 Backend: Run "make fmt" #3566
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-07-25 19:15:09 +02:00
Gokce Dilek 1df12bd5c9
Albums: Refresh updated timestamp when photos are added (#3566)
Related Issue:
- #3080
2023-07-25 19:10:01 +02:00
graciousgrey ff25b5f755 Tests: Add unit tests 2023-07-25 18:42:18 +02:00
graciousgrey c9d1413ddb Tests: Add more unit tests #3512 2023-07-24 15:02:38 +02:00
graciousgrey 33b08f15e5 Tests: Add unit tests 2023-07-24 14:02:18 +02:00
graciousgrey 69d302248c Tests: Add unit tests 2023-07-24 13:38:02 +02:00
Heiko Mathes 60d280430e
Places: Add Cluster View (#2596)
* enable clustering on all zoom levels

* add latmin, latmax, lngmin and lngmax to search api

* open prefiltered search when clicking a cluster on the map

* start moving places pictures to overlay

* update scrollbar hide todo comment

* add todo comments for cluster view

* start implementing possitbility to close cluster view via back button

* move selected cluster to single query param

* improve back-navigation of cluster-view

* remove outdated comment

* start showing preview-images in clusters

* cleanup some cluster-code in places

* use rounded squares instead of circles so more from the image can be seen

* try improving map visibility by adding borders

* add counter bubble to places view

* remove obsolete comment

* remove console.log

* add todo comment to fix search on cluster-view open

* fix closing a cluster resetting the places-filter

* prevent old cluster markers from being visible while zooming

* prevent cluster-previews from being smaller than single-image-previews

* make cluster-preview-images fill the whole available area and scale them to their bounding box

* increase clusterRadius to reduce likelyhood of clusters colliding on the map

* update obsolete todo comment

* try making cluster view look less broken for small clusters. elements in photo-view use block-relative percentages based on viewport-relative media queries

* remove seemingly unrequired code

* fix cluster view after "pages"-components moved to "page" (singular)
2023-07-24 10:12:22 +02:00
Michael Mayer 2a002eca78 API: Remove unnecessary log message from batch delete handler #272
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-07-23 18:32:02 +02:00
Michael Mayer ad3da85ecb UX: Add Delete All button to archive page toolbar #272
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-07-23 17:57:48 +02:00
Alex Kirk 5ca3329e2d
XMP: Add support for reading fstop:favorite flag (#1873)
* Add support for fstop:favorite in XMP files
* Incorporate suggestions
2023-07-23 15:43:32 +02:00
Michael Mayer 062495b6f2 Albums: Refresh UpdateAt after adding entries #3080 #3566
This requires adding unit tests and checking if there are other
situations where the content of an album is changed by the user
and therefore updating the timestamp would be appropriate.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-07-23 14:26:14 +02:00
graciousgrey b5b13b0fbb Tests: Add unit tests 2023-07-20 20:06:27 +02:00
graciousgrey 4727f769d2 Tests: Add unit tests 2023-07-20 20:02:02 +02:00
graciousgrey 0817f1876d Tests: Add unit tests 2023-07-20 20:02:02 +02:00
graciousgrey e1364f288c Tests: Add unit tests 2023-07-20 20:02:02 +02:00
Michael Mayer 4931889b5e Auth: Improve privilege level change detection #3512
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-07-18 23:35:10 +02:00
Michael Mayer 08070978cf Videos: Don't skip transcoding QuickTime files, only MP4 AVC #3525
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-07-18 21:23:56 +02:00
Michael Mayer 3b7b551cca Media: Add test for creating thumbs from broken JPEG #2721
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-07-18 17:23:39 +02:00
Michael Mayer 7b9b2ae0c6 Auth: Delete user sessions after a permission level change #3512
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-07-18 16:38:10 +02:00
Michael Mayer 44603857fa Config: Shorten video transcoding flag descriptions #3466 #3498 #3549
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-07-18 16:20:25 +02:00
Michael Mayer 3cf1c699df Video: Refactor FFmpeg Transcoding Size Limit #3466 #3498 #3549
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-07-18 15:15:04 +02:00
Michael Mayer cc5ff21b4a Video: Add transcoding libs and improve error handling #3466
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-07-15 15:17:41 +02:00
Michael Mayer 651782eb4d Security: Add PHOTOPRISM_DEFAULT_TLS config option #3509
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-07-15 12:01:06 +02:00
graciousgrey 5fb9e95217 Tests: Add unit test #3493 2023-07-14 11:51:28 +02:00
Michael Mayer 0e93bd8aa2 Auth: Ensure clipboard is cleared on logout and privilege change #3512
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-07-14 09:14:57 +02:00
Michael Mayer 11e7d3f0d1 JPEG: Refactor error correction for broken files #2463 #2721 #3363
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-29 19:28:56 +02:00
Michael Mayer e5db48b300 Search: Update geo filter form notes #3493
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-29 18:40:24 +02:00
Michael Mayer 5041b7f211 Search: Enhance "geo" filter to find pictures without coordinates #3493
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-29 18:35:02 +02:00
Daniel Albers da61515c4a
JPEG: Automatically fix files with missing EOI marker (#2721) 2023-06-29 10:34:51 +02:00
Michael Mayer 03f92bc0db Config: Fix expected return value in config_ffmpeg_test.go #3510
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-29 10:17:04 +02:00
Lukas 19ac83dd20
Config: Downscale videos based on largest dimension (#3510)
* Adds resolution limit

* Fixes 2 video filters and makes the env variable work

* Adds FFMPEG_RESOLUTION to all the docker-compose files

* Makes the resolution based on the longer side

* Fixes failing test
2023-06-29 10:07:47 +02:00
Michael Mayer 8e43186454 Config: Generate default HTTPS/TLS certificate on first startup #3509
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-28 16:50:04 +02:00
Michael Mayer a6d3eee331 Config: Fix FFmpegResolution() func and related test #3498
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-28 16:45:53 +02:00
graciousgrey 9b3917dd00 Tests: Add unit tests 2023-06-28 16:12:11 +02:00
graciousgrey 19699c49c0 Tests: Add unit tests 2023-06-28 16:07:06 +02:00
Lukas 83d10ea00e
Config: Add video transcoding resolution option (#3498)
* Adds resolution limit

* Fixes 2 video filters and makes the env variable work

* Adds FFMPEG_RESOLUTION to all the docker-compose files
2023-06-28 15:22:52 +02:00
graciousgrey 186d1f26e7 Tests: Add unit tests for internal/entity 2023-06-26 15:55:05 +02:00
Michael Mayer accb17bec9 Auth: Update invalid role log message in user entity
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-26 11:46:32 +02:00
graciousgrey 17242fb079 Tests: Add unit tests #3482 2023-06-23 18:38:54 +02:00
graciousgrey 749d4b6d7e Tests: Add unit tests #3482 2023-06-23 18:38:22 +02:00
Michael Mayer 87b6d72477 CLI: Improve length check in "photoprism passwd" command #3482
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-19 17:24:02 +02:00
Michael Mayer fa5d8b42bc Albums: Replace tabs with spaces in SQL query #3481
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-15 17:01:34 +02:00
Michael Mayer ae095f465f Albums: Flag all unknown / deleted photos as missing to fix counts #3481
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-15 16:59:09 +02:00
Michael Mayer 90a18f6e7d Photos: Skip related albums from which a photo was removed #3095
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-15 11:35:45 +02:00
Michael Mayer a7c8f0102f Config: Refactor directory initialization and improve inline docs
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-14 16:44:45 +02:00
Michael Mayer a7cc1e367f CLI: Change type of import --dest flag to string #3473
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-13 19:00:34 +02:00
Michael Mayer edf53a921a Moments: Update holidays and pets #3081
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-13 12:55:06 +02:00
Fly Man 4ecece557d Update MomentLabels
* Add large Holidays
* Add assortment of pets
2023-06-13 12:43:41 +02:00
Michael Mayer 6a4bfa84be UX: Show albums in the Info tab of the edit dialog #3095
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-13 11:45:15 +02:00
Mike Maravillo 97ae47b06e Removed omit tag so that Photo's Album array gets populated 2023-06-13 09:27:29 +02:00
Michael Mayer 092fe04b2d CLI: Shorten "find" command usage description #3222
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-12 19:43:07 +02:00
Michael Mayer 39e26b7f0e CLI: Improve "find" command to support more output formats #3222
It is now also possible to limit the number of results (10k by default).

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-12 19:07:41 +02:00
SeeSchloss a891da7dec Backend: Add a 'search' CLI command 2023-06-12 18:02:26 +02:00
Michael Mayer 59bf7cb9bd Config: Update CSP header to allow loading content from a CDN #3454
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-07 09:22:10 +02:00
Michael Mayer a45f8d40cf Server: Add "Access-Control-Allow-Origin" to header/security.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-06 14:49:28 +02:00
Michael Mayer bff649469d Config: Make PhotoPrism compatible with MariaDB 11 #3443
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-02 17:07:10 +02:00
Michael Mayer 1554e00039 Albums: Return all matching results when searching folders #3441
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-01 17:21:31 +02:00