Commit graph

2819 commits

Author SHA1 Message Date
Michael Mayer
b0ef310b96 Metadata: Improve camera make string normalization #2040
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-10-06 03:33:03 +02:00
Michael Mayer
c78d12b56d Search: Limit result file types when sorting by similarity #2040
This also attempts to improve the (undocumented) randomly sorted
search results.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-10-06 02:57:07 +02:00
Michael Mayer
9b3efe6872 Search: Update number of expected results in filter tests #2040
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-10-06 02:34:21 +02:00
Michael Mayer
604849e92c Search: Include RAW files in results by default #2040
With these changes the size and type of the RAW file as well as other
details can be displayed in the Cards View. This also improves the
indexing of camera and lens metadata.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-10-06 02:22:48 +02:00
Michael Mayer
cfe1ff3299 Config: Change "web server" to "Web server" in the docs for consistency
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-24 18:05:49 +02:00
Michael Mayer
26ca084699 Videos: Cache embedded media to allow streaming and transcoding #3764
This is a follow-up improvement for the following feature requests that
have already shipped with our stable release:

- Live Photos: Add support for Samsung Motion Photos #439
- Live Photos: Add support for Google Camera Motion Photos #1739

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-24 17:13:06 +02:00
Michael Mayer
20407452f0 UX: Prefer original media files for cards view details #2040
This also adds camera lens information to the cards view details.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-24 14:11:52 +02:00
Michael Mayer
50abd9b632 Index: Improve detection of embedded videos #439 #1739 #2788
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-23 13:37:42 +02:00
Michael Mayer
2339197311 Live Photos: Add support for playing videos embedded in HEIC images #439
Related Issues:
- Samsung: Initial support for Motion Photos (#439)
- Google: Initial support for Motion Photos (#1739)
- Metadata: Flag Samsung/Google Motion Photos as Live Photos (#2788)

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-23 11:27:20 +02:00
Michael Mayer
529103462c Index: Add native support for MP4 and Samsung/Google Motion Photos #439
Related Issues:
- Samsung: Initial support for Motion Photos (#439)
- Google: Initial support for Motion Photos (#1739)
- Metadata: Flag Samsung/Google Motion Photos as Live Photos (#2788)

Related Pull Requests:
- Live Photos: Add Support for Samsung Motion Photos (#3588)
- Samsung: Improved support for Motion Photos (#3660)
- Google: Initial support for Motion Photos (#3709)
- Google: Add support for Motion Photos (#3722)

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-22 23:59:56 +02:00
graciousgrey
3788a82d91 Docs: Update search form docs 2023-09-21 18:37:33 +02:00
Michael Mayer
a865300666 Places: Add support for "label" and "category" search filters #1187
This also improves the documentation of existing search filters.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-20 22:07:30 +02:00
Michael Mayer
2843342d00 Logs: Reduce severity from error to warning when indexer is busy
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-20 21:11:51 +02:00
Michael Mayer
267430bf78 Places: Update assertion in search_photos_test.go #3558
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-20 18:39:39 +02:00
Michael Mayer
33bf0cede6 Places: Support sub-km distances when searching for locations #3558
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-20 18:37:41 +02:00
Michael Mayer
295fe0e6fa Search: improve radius approximation for "lat" and "lng" filters #3558
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-20 17:42:38 +02:00
Michael Mayer
4d1003846c Search: Refactor "lat", "lng", and "dist" filters #1187 #3558
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-20 16:56:38 +02:00
Michael Mayer
06d8816a7f Search: Improve location search filters and related docs #1187 #3558
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-20 12:10:49 +02:00
Michael Mayer
85506f9373 Places: Improve parsing and querying of GPS boundaries #1187 #3657
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-20 03:18:30 +02:00
Michael Mayer
43655ba591 Index: Update photos in batches to be compatible with SQLite #3742
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-19 23:24:50 +02:00
Michael Mayer
a92653d4f2 Places: Refactor cluster view overlay and backend API #1187 #3657
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-19 22:03:40 +02:00
Michael Mayer
5bc504491a SQLite: Improve inline code comments #3742
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-19 10:32:09 +02:00
Michael Mayer
139562e393 SQLite: Improve logging to confirm where the error is triggered #3742
see also https://github.com/photoprism/photoprism/discussions/3665

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-19 09:12:15 +02:00
graciousgrey
e737083822 Tests: Add unit tests 2023-09-15 16:26:16 +02:00
graciousgrey
59207846bd Tests: Add unit test #3414 2023-09-12 14:35:51 +02:00
graciousgrey
f12c558f67 Tests: Refactor unit tests 2023-09-12 14:04:52 +02:00
Michael Mayer
096b306420 Auth: Reduce bcrypt cost for faster login on small devices #3718
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-12 09:36:23 +02:00
graciousgrey
311288312e Tests: Add unit tests #3658 2023-09-11 17:09:54 +02:00
Michael Mayer
304c8e3ae6 Icons: Improve UI contrast by changing color from black to dim gray
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-11 10:43:40 +02:00
Michael Mayer
63695ab801 Albums: Update frame/collage.go #3658
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-09 12:30:51 +02:00
Michael Mayer
12608a7a31 Albums: Downsize share preview image from 1600x900 to 1200x675 #3658
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-09 10:40:25 +02:00
Michael Mayer
a30cbb19b7 Albums: Regenerate share preview after one hour and after changes #3658
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-08 17:36:56 +02:00
Michael Mayer
4154649c76 FFmpeg: Remove deprecated "-vsync vfr" command flag #3659
See issue comments for details. This also introduces a package constant
for the default ffmpeg command name and updates the tests.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-06 11:27:24 +02:00
Michael Mayer
7197d6b651 Search: Group stacked files with same diff when sorting by similarity.
Diff is a perceptual differential hash. Grouping by photo ID should
prevent stacks of related files from being split in search results.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-04 12:28:41 +02:00
Michael Mayer
c0ee909971 Index: Set appearance of video files based on their primary image #3559
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-03 16:44:30 +02:00
Michael Mayer
0e4ce95ff1 Library: Add option to run index and cache cleanup from the UI #3699
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-03 16:02:42 +02:00
Michael Mayer
386bf823d7 Archive: Show number of archived pictures and improve "delete all" #272
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-03 15:44:00 +02:00
Michael Mayer
20d20c7fa9 Search: Allow searching for favorite:false to find other pictures
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-01 20:30:54 +02:00
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