Commit graph

476 commits

Author SHA1 Message Date
Michael Mayer
6a452bcf43 Search: Add Filters for ISO, FNumber and Focal Length Range #3818
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-10-12 14:53:40 +02:00
Raymond
63515f84d7
Map VP09 to codec vp9 (#3792) 2023-10-06 04:09:07 +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
a0904c4008 Docs: Update pkg/live/README.md and pkg/video/README.md
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-10-05 09:37:25 +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
e59851350b Video: Update README.md
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-23 17:00:40 +02:00
Michael Mayer
c38ab232fc Video: Update README.md
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-23 16:57:14 +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
0f1106eb3b Tests: Add unit tests 2023-09-20 21:48:55 +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
c2e38f942b Library: Trim "~" at the beginning and end of path names #3695
On Unix-like OS, this is a placeholder for the user's home directory.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-20 17:31:01 +02:00
Michael Mayer
8957462672 Library: Allow "#" at the beginning of path names #3695
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-20 17:13:25 +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
cfd6149a6d Txt: Add Float32() test #1187
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-19 22:07:15 +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
a59885cede FS: Refactor file extensions lookup table #1927
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-09-03 15:38:57 +02:00
graciousgrey
afe2190797 Tests: Add unit tests 2023-08-30 16:30:06 +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
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
2c33a34ac3 Metadata: Update list of special words in txt package
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-07-26 12:20:49 +02:00
Luca Carlon
9a699f234d
Metadata: When parsing dates from exiftool, remap year 0 to 1 (#2508)
Year 0 is frequently used in exiftool but is not accepted in the Go time
package. time package uses year 1 for "zero" dates instead. Therefore,
remap year 0 from exiftool to year 1.
2023-06-29 10:36:16 +02:00
Bur0k
08ba1e1c05 Switched general YYYYMMDD Filter to a WhatsApp specific [IMG,VID]-YYYYMMDD-WA* Filter 2023-06-27 22:00:07 +02:00
Bur0k
37c40c9b3d Accept YYYYMMDD format in filenames (e.g. WhatsApp) 2023-06-27 22:00:07 +02:00
Michael Mayer
111d0a2ae6 Tests: Reorder imports in fileinfo_test.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-27 20:25:50 +02:00
graciousgrey
5f103681fb Tests: Add unit tests 2023-06-27 19:27:34 +02:00
graciousgrey
29462bce13 Tests: Add unit tests 2023-06-27 19:20:11 +02:00
graciousgrey
e1ddaa7c0b Tests: Add unit tests 2023-06-27 18:41:36 +02:00
graciousgrey
1e55e5b1d9 Tests: Add unit tests for pkg/clean 2023-06-26 15:57:56 +02:00
graciousgrey
43e98cc687 Tests: Add unit tests for pkg/authn 2023-06-26 15:54:23 +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
53aeaffe0e Photos: Refactor link from the Files tab to the file folder #2926
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-13 15:57:02 +02:00
Michael Mayer
66dc5ed688 Txt: Update tests in empty_test.go #3412
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-05-17 20:37:57 +02:00
Michael Mayer
4895d4102c Search: Fix "unknown country" filter #3412
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-05-17 20:33:24 +02:00
Michael Mayer
db7fcbbd62 Build: Update author and copyright notices
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-05-01 12:28:55 +02:00
Michael Mayer
163398b76c Passwords: Enforce 72-character limit and improve bcrypt support #1987
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-04-13 17:21:18 +02:00
Michael Mayer
e34c9759e4 WebDAV: Replace studio-b12/gowebdav client with emersion/go-webdav #3310
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-28 20:37:42 +02:00
Michael Mayer
9ad86ac017 Edit: Change image orientation through the user interface #464
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-20 16:18:27 +01:00
Michael Mayer
cc12f3f457 Auth: Improve sanitization of usernames and handles
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-15 22:41:59 +01:00
Michael Mayer
9ab833c2ec Auth: Improve username validation and parsing
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-14 16:36:30 +01:00
Michael Mayer
cc97759806 Moments: Change default sort order in the overview to "newest" #3280
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-13 22:17:23 +01:00
Michael Mayer
5b73101442 Auth: Refactor user roles and auth providers in entity model #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-13 16:04:37 +01:00
Michael Mayer
50913e301c Auth: Prevent duplicate super admin accounts from being created #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-09 15:59:08 +01:00
Michael Mayer
d8ab9616a5 Auth: Refactor user management API and CLI commands #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-09 15:12:10 +01:00
Michael Mayer
60162b3fc5 Auth: Refactor user management API and CLI commands #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-08 23:30:39 +01:00
Michael Mayer
77714e8e3f Metadata: Add date string defaults to be ignored #3229
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-24 16:21:17 +01:00
Michael Mayer
6f578af5c1 Metadata: Add date string defaults to be ignored #3229
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-24 16:15:43 +01:00
Michael Mayer
96ea732637 Metadata: Ignore date string defaults caused by software errors #3229
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-24 15:53:59 +01:00
Michael Mayer
a934d74c26 Videos: Treat Apple iTunes .m4v files as a separate format
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-23 18:49:56 +01:00
Michael Mayer
ae4a2abc37 Videos: Add .dv to the list of known video file types #3226
Note that this is completely untested as we have no sample files.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-22 22:45:53 +01:00
Michael Mayer
b44b8d52c1 WebP: Add support for indexing and playing animations #3197 #668
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-22 20:58:21 +01:00
Michael Mayer
eaff0abb6d Videos: Index and display durations of less than one second #3224
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-22 16:33:33 +01:00
Michael Mayer
7ed5e0d122 Metadata: Extend valid year range from 1990 to 1970 #3220
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-21 14:24:38 +01:00
Michael Mayer
057a8b7cd7 Videos: Set MOV mime type based on file extension #3008
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-21 13:27:45 +01:00
Michael Mayer
527fc0319e Index: Add experimental support for JPEG XL and APNG files #668 #3197
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-14 14:43:49 +01:00
Michael Mayer
0c4aa86f85 CLI: Create thumbs and convert files in deterministic order #3194
This also adds support for specifying a path to the thumbs command.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-14 11:37:22 +01:00
Michael Mayer
4e0f38881d Adobe: Remove support for PDF files #1177 #2207
Does not make sense for our software at the moment.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-13 23:47:01 +01:00
Michael Mayer
e533aa7beb Adobe: Add support for PDF, AI, and PSD file formats #1177 #2207
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-13 20:02:26 +01:00
Michael Mayer
ec3708bf65 Text: Add PostScript, PS, EPS and SVG to list of special words #2207
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-13 15:36:09 +01:00
Michael Mayer
32483cc88e Vector: Change icon from "draw" to "polyline" and fix viewer #1177 #2207
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-13 13:59:17 +01:00
Michael Mayer
005f959db9 Index: Add experimental PostScript file support #1177 #2207
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-11 21:12:39 +01:00
Michael Mayer
97c9962053 Index: Add experimental EPS and SVG vector graphics support #1177 #2207
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-11 20:18:04 +01:00
Michael Mayer
826addb4c1 PWA: Create manifest.json in code without using a template #3181
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-10 15:53:01 +01:00
Michael Mayer
ef6e3d3f9d Metadata: Ensure the altitude is not out of range and fix logs #3182
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-09 11:51:26 +01:00
Michael Mayer
a5a538a67e Links: Change https://photoprism.app/ to https://www.photoprism.app/
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-08 09:07:42 +01:00
Michael Mayer
4258b94955 Search: Update stopwords.txt and stopwords.go
This removes words that may be part of location, artist or event names.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-04 07:19:56 +01:00
Michael Mayer
47defc861c API: Add sort order "random" to find a random set of photos #153
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-30 12:27:34 +01:00
Michael Mayer
adc91fcf6e Auth: Refactor WebDAV login and increase maximum length of username
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-24 06:05:31 +01:00
Michael Mayer
4066cd7ad1 Update year in copyright notices
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-11 16:43:01 +01:00
Michael Mayer
8b211969e0 Txt: Regenerate countries.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-03 19:42:33 +01:00
p_0g_8mm3_
685e344a15 Update countries.txt 2023-01-03 18:36:04 +01:00
Michael Mayer
e277fa0add Videos: Remove custom read limit for mime detection #3008
The default value is 3072 instead of 1024 bytes, so this might help to
avoid incorrect results as observed earlier with QuickTime videos that
were not recognized.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-12-30 00:05:34 +01:00
Michael Mayer
a22edb29a5 Videos: Assume "video/quicktime" mime type for .mov files #3008
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-12-23 02:02:47 +01:00
Michael Mayer
18f1d5a6f8 Metadata: Improve data parsing and sanitization #2897
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-17 08:28:30 +01:00
Michael Mayer
b346765d45 Videos: Add .m2ts to known file extensions #2899
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-16 13:53:30 +01:00
Michael Mayer
ae130dc500 Metadata: Sanitize bad Unicode strings #2897
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-15 14:45:21 +01:00
theresa
cafe615ab5 Tests: Add DateTime unit test 2022-11-03 17:30:08 +01:00
Michael Mayer
7c634a1f51 Index: Ignore paths starting with _. and __ like "__MACOSX" #2844
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-02 18:02:18 +01:00
Michael Mayer
9be52990fa Index: Don't ignore filenames starting with _, only _. #2844
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-02 17:23:59 +01:00
Michael Mayer
91774c4068 Security: Create new files without execution permission #2809
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-31 15:01:48 +01:00
Michael Mayer
6a33ae2e93 Import: Allow directory names with dots #2807
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-27 15:47:32 +02:00
Michael Mayer
3b9890e345 Config: Update options report, parameter names and tests
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-25 06:19:56 +02:00
Michael Mayer
f94ff54cc1 Auth: Improve account management page and config options #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-19 05:09:09 +02:00
Michael Mayer
b277a72eae Text: Update stopwords.txt and stopwords.go
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-14 12:07:48 +02:00
Michael Mayer
884dea17de Security: Use individual preview tokens for each user account #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-13 22:11:02 +02:00
Michael Mayer
3c4cc40882 Security: Refactor log levels and events #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-10 16:34:07 +02:00
Michael Mayer
dc39fc44d2 Security: Add "header" package for setting common response headers #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-09 17:16:49 +02:00
Michael Mayer
2034110c5d HEIF/AVIF/DNG: Update file format descriptions in the UI #2726
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-07 16:37:47 +02:00
Michael Mayer
c51c95406c FS: Ignore folders starting with _ like "__MACOSX"
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-07 11:54:46 +02:00
Michael Mayer
6e74f16a77 Auth: Open album share links in the regular user interface #98 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-02 11:38:30 +02:00
Michael Mayer
4f425790ab Auth: Remember ownership of uploaded photos and albums #98 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-30 19:15:10 +02:00
Michael Mayer
94de0598d2 Text: Add "le" and "la" to smallwords.go #2672
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-30 16:33:04 +02:00
Michael Mayer
323d495840 Auth: Apply user rights and permissions in the search API #98 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-30 00:42:19 +02:00
Michael Mayer
b32a970aab Auth: Add RandomBytes() to generate secure random bytes #98 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-28 13:38:08 +02:00
Krassimir Valev
3718fca957 Metadata: Add more places to the countries mapping 2022-09-28 09:48:35 +02:00
Michael Mayer
f5a8c5a45d Auth: Session and ACL enhancements #98 #1746
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-09-28 09:01:17 +02:00