Commit graph

1941 commits

Author SHA1 Message Date
Theresa Gresch
a7380357d5 Backend: Add unit tests for internal/api 2020-07-14 18:08:48 +02:00
Theresa Gresch
f47256b49f Backend: Add unit tests for internal/api 2020-07-14 18:08:48 +02:00
Michael Mayer
b62af742ae Backend: Improve log messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-14 18:00:32 +02:00
Theresa Gresch
c027e31304 Backend: Add unit tests for internal/api 2020-07-14 17:02:39 +02:00
Theresa Gresch
2db97ef168 Backend: Add unit tests for internal/api 2020-07-14 15:05:03 +02:00
Theresa Gresch
e6cc639040 Backend: Add unit tests for internal/api 2020-07-14 14:46:27 +02:00
Michael Mayer
6090f875db Rename darktable-size to jpeg-size in config command output #388
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-14 14:41:38 +02:00
Michael Mayer
f4e8b59c3b Rename PHOTOPRISM_CONVERT_SIZE to PHOTOPRISM_JPEG_SIZE #388
Naming more consistent with PHOTOPRISM_JPEG_QUALITY.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-14 14:30:19 +02:00
Theresa Gresch
75ad59cd17 Backend: Add unit tests for internal/api 2020-07-14 14:00:39 +02:00
Michael Mayer
be94ff624c Edit photo type and sort by recently edited #394
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-14 12:42:31 +02:00
Michael Mayer
7a7c5aa190 UX: Reduce some levels to keep logs clean
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-14 12:39:56 +02:00
Theresa Gresch
4cf4c1973d Backend: Add unit tests for internal/api 2020-07-14 12:36:41 +02:00
Theresa Gresch
a5987a0b33 Backend: Add unit tests for internal/api 2020-07-14 11:24:00 +02:00
Michael Mayer
8989c987a2 Unstack all types, except primary and sidecar files #394
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-14 11:00:49 +02:00
Theresa Gresch
0cb609fc87 Backend: Add unit tests for internal/api 2020-07-14 10:31:37 +02:00
Theresa Gresch
f270b67632 Backend: Add unit tests for internal/config 2020-07-14 09:18:47 +02:00
Theresa Gresch
434bbd751c Backend: Add unit tests for internal/config 2020-07-14 09:18:24 +02:00
Theresa Gresch
832715f861 Backend: Improve Dsc regular expression and add test 2020-07-14 08:46:20 +02:00
Michael Mayer
b1eac027f3 Remove database DSN and init call from test config
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 20:41:16 +02:00
Michael Mayer
161b36f8a4 Refactor config and worker tests for better performance
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 20:25:47 +02:00
Michael Mayer
70c6a68169 Use date from file name if no metadata was found #396
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 19:34:21 +02:00
Theresa Gresch
119784ef2c Backend: Add unit tests for internal/config 2020-07-13 19:25:27 +02:00
Michael Mayer
faba5c3195 Backend: Fix worker tests
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 18:54:37 +02:00
Theresa Gresch
6504c7ae74 Backend: Add unit tests for internal/config 2020-07-13 18:48:56 +02:00
Michael Mayer
9f88bacb13 ACL: Add download permission for guests #398
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 18:20:05 +02:00
Michael Mayer
a507f21740 Backend: Remove unused notes field from file entity
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 18:09:44 +02:00
Theresa Gresch
6cea8f0d3b Backend: Add unit tests for internal/config 2020-07-13 18:05:10 +02:00
Theresa Gresch
c827df2c04 Backend: Add unit tests for internal/config 2020-07-13 17:37:43 +02:00
Michael Mayer
4d42222caf Rename "thumbnails" to "thumbs" and group api functions in one file
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 17:25:27 +02:00
Theresa Gresch
dac846ba01 Backend: Add unit tests for internal/workers 2020-07-13 16:44:17 +02:00
Theresa Gresch
579da46f11 Backend: Add unit tests for internal/workers 2020-07-13 16:12:32 +02:00
Michael Mayer
212857318b UX: Rename group(ed) to stack(ed) #394
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 15:59:54 +02:00
Michael Mayer
4a9f992056 Thumbs: Use fit_4096 in favor of fit_3840 and add convert limit #362 #388
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 15:23:54 +02:00
Michael Mayer
c14985095b Backend: Improve description string sanitation and auto add keywords
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 15:16:09 +02:00
Michael Mayer
849225e1ea Backend: Tweak db connection params and add stack to panic logs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 15:16:09 +02:00
Theresa Gresch
0b55a9278e Backend: Add unit tests for internal/query 2020-07-13 13:12:32 +02:00
Theresa Gresch
0144458664 Backend: Add unit tests for internal/query 2020-07-13 12:29:11 +02:00
Theresa Gresch
f71dd8359f Backend: Add unit tests for internal/query 2020-07-13 11:40:49 +02:00
Theresa Gresch
b21433479e Backend: Add unit tests for internal/query 2020-07-13 11:11:52 +02:00
Theresa Gresch
f18ac917ab Backend: Add unit tests for internal/photoprism 2020-07-13 10:20:46 +02:00
Theresa Gresch
2866cb9215 Backend: Add unit tests for internal/photoprism 2020-07-13 10:19:50 +02:00
Michael Mayer
4fb263f8a4 Add location field to album metadata
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-12 16:36:39 +02:00
Theresa Gresch
b6461dca36 Backend: Add unit tests for internal/entity 2020-07-12 15:41:30 +02:00
Theresa Gresch
7c1ef53be6 Backend: Add unit tests for internal/photoprism 2020-07-12 15:21:42 +02:00
Theresa Gresch
edb9bba671 Backend: Add unit tests for internal/photoprism 2020-07-12 14:36:36 +02:00
Michael Mayer
5648c9616e Backend: Refactor location data tables and entities
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-12 08:27:05 +02:00
Michael Mayer
8c53049b4a Backend: Remove deprecated columns from geo and places
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-12 06:54:07 +02:00
Michael Mayer
f08405d96c Backend: Fix location test after updating places server
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-12 06:14:22 +02:00
Michael Mayer
2bef7e7e9d Backend: Reduce location estimate time difference to 3 days
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-12 05:20:16 +02:00
Michael Mayer
8bf6a7b678 Backend: Fix location estimate query
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-12 05:10:00 +02:00
Michael Mayer
00e334657a Photo: Set defaults for PlaceID, GeoID, CameraID and LensID
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-12 04:48:17 +02:00
Michael Mayer
e1c45c4d5f Rename "location" to "geo" to have a short, common prefix for geo data
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-11 23:43:29 +02:00
Michael Mayer
8fd381860a Backend: Refactor Google Photos metadata parsing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-11 20:47:52 +02:00
Michael Mayer
4d93749b06 Backend: Don't index sidecar files without photo
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-11 20:35:41 +02:00
Michael Mayer
99eaae0816 Backend: Import JSON metadata from Google Photos
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-11 16:46:29 +02:00
Michael Mayer
711522db68 Metadata: Add patterns to unwanted descriptions list
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-11 10:19:06 +02:00
Michael Mayer
2c6552ff73 Backend: Remove log in Photo.Create()
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-11 09:41:35 +02:00
Theresa Gresch
d4935c2d13 Backend: Add unit tests for internal/entity 2020-07-10 17:35:22 +02:00
Theresa Gresch
dcc43ed45d Backend: Add unit tests for internal/entity 2020-07-10 17:27:06 +02:00
Michael Mayer
174e6d53c9 Backend: Use FirstOrCreate() instead of Create() when adding new photos
Not perfect as metadata should rather be merged. Ideally some kind of mutex avoids database conflicts / locks / errors in the future. Right now, we're (intentionally) using the database as "mutex" so that the application code needs less complexity. This is especially problematic on powerful servers with many CPUs and index workers. See also issue #392.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-10 17:09:39 +02:00
Theresa Gresch
dad0ba9d27 Backend: Add unit tests for internal/entity 2020-07-10 15:15:56 +02:00
Theresa Gresch
d6c910c16b Backend: Add unit tests for internal/entity 2020-07-10 15:06:37 +02:00
Theresa Gresch
4196420dc7 Backend: Add unit tests for internal/entity 2020-07-10 13:57:51 +02:00
Theresa Gresch
560849ec52 Backend: Add unit tests for internal/entity 2020-07-10 11:44:51 +02:00
Theresa Gresch
1f9528562f Backend: Add unit tests for internal/entity 2020-07-10 10:58:06 +02:00
Theresa Gresch
b480bbefcc Backend: Add unit tests for internal/entity 2020-07-10 10:29:56 +02:00
Michael Mayer
3f9454876d Concurrency fix for photo details #357
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-09 17:45:56 +02:00
Theresa Gresch
f857198178 Backend: Add unit tests for internal/entity 2020-07-09 16:46:13 +02:00
Michael Mayer
eeeff27ba5 Frontend: Update favicons
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-09 16:06:58 +02:00
Theresa Gresch
6212c8d63d Backend: Add unit tests for internal/entity 2020-07-09 15:37:30 +02:00
Theresa Gresch
dd7b5b3a1b Backend: Add unit tests for internal/entity 2020-07-09 12:24:44 +02:00
Theresa Gresch
131e822a58 Backend: Add unit tests for internal/entity 2020-07-09 11:50:58 +02:00
Theresa Gresch
15d66fc304 Backend: Add unit tests for internal/entity 2020-07-09 11:27:44 +02:00
Theresa Gresch
006e833249 Backend: Fix unit test 2020-07-08 18:36:37 +02:00
Theresa Gresch
226eafec7b Backend: Add unit tests for internal/entity 2020-07-08 18:09:18 +02:00
Theresa Gresch
e1487238e6 Backend: Add unit tests for internal/entity 2020-07-08 17:36:06 +02:00
Theresa Gresch
3e6c21a566 Backend: Add unit tests for internal/entity 2020-07-08 17:06:23 +02:00
Theresa Gresch
380aa0ba4b Backend: Add unit tests for internal/entity 2020-07-08 15:25:33 +02:00
Theresa Gresch
a0d858e56f Backend: Add unit tests for internal/mutex 2020-07-08 13:18:19 +02:00
Theresa Gresch
b3487fa3b3 Backend: Add unit tests for internal/meta 2020-07-08 10:13:11 +02:00
Theresa Gresch
985da3530f Backend: Add unit tests for internal/maps 2020-07-08 10:13:11 +02:00
Theresa Gresch
724953e432 Backend: Add unit tests for internal/i18n 2020-07-08 10:13:11 +02:00
Theresa Gresch
db2819821b Backend: Add unit tests for internal/form 2020-07-08 08:45:31 +02:00
Michael Mayer
68fac9e8a8 Translations: Add Spanish, French and Polish
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-08 08:19:29 +02:00
Michael Mayer
e2845981c1 Concurrency fixes for cameras, lenss, folders, keywords, and labels #357
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 20:44:33 +02:00
Theresa Gresch
f58ca6dcda Backend: Add unit tests for internal/form 2020-07-07 18:03:20 +02:00
Theresa Gresch
c71c232107 Backend: Add unit tests for internal/api 2020-07-07 17:18:41 +02:00
Michael Mayer
cbcd9e5cea Metadata: Normalize exif date strings to fix broken files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 17:11:36 +02:00
Michael Mayer
4b7551fb99 Try fetching country again if create fails #357
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 16:56:02 +02:00
Michael Mayer
14420b02a9 Try fetching places and location again if create fails #357
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 16:40:29 +02:00
Michael Mayer
3bfbd3070e Fix time difference threshold in Photo.EstimatePlace()
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 13:18:34 +02:00
Michael Mayer
6273e77867 Try saving photo a second time after deadlocks #357
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 12:59:47 +02:00
Michael Mayer
3fec93ee4e Load existing photo if uid was found in YAML sidecar file #357
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 12:20:38 +02:00
Michael Mayer
d1db3d04f7 Logs: Improve event log and messages in i18n package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 10:51:55 +02:00
Michael Mayer
8f74fdb8a0 Backend: Fix Photo.GetDetails()
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 20:20:03 +02:00
Michael Mayer
1f4a1a942e Backend: Remove debug logs from client config
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 19:56:06 +02:00
Michael Mayer
379c46df64 Backend: Return error if no main file for indexing was found #379 #357
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 19:50:01 +02:00
Michael Mayer
eeef16f07e Backend: Refactor photo details entity #379 #357
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 19:15:57 +02:00
Michael Mayer
4ddf241a6c UX: Rename "analog" to "scan"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 14:35:25 +02:00
Michael Mayer
782ad88aa1 Backend: Reduce API "abort" log level to debug
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 13:36:38 +02:00
Michael Mayer
1284091b77 Backend: Improve FileTitle() function
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 11:31:03 +02:00
Michael Mayer
3b8f3ebd23 Improve date input parsing #274 #358
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 10:32:37 +02:00
Michael Mayer
ca154f3bb3 Replace date picker with day, month & year inputs #274 #358
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 07:41:33 +02:00
Michael Mayer
d4008564bb Backend: Update countries.txt and stopwords.txt
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-05 17:37:40 +02:00
Michael Mayer
41be5cb133 Backend: Add "grouped" search filter to find photos with multiple JPEGs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-05 17:22:26 +02:00
Michael Mayer
daa3d07ca1 Backend: Update message strings
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-05 15:35:32 +02:00
Michael Mayer
25acbe7ba2 Trim space from share tokens
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-05 15:03:12 +02:00
Michael Mayer
f79cfc6513 Analog flag and search filter for photos
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-05 14:59:40 +02:00
Michael Mayer
581404648c Add search filter for content that has no album #377
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-05 14:48:49 +02:00
Michael Mayer
68843a626d Backend: Add translations for API messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-04 12:54:35 +02:00
Michael Mayer
ade9659ba2 Backend: Improve webdav log message
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-03 16:54:08 +02:00
Michael Mayer
95687df6bc Backend: Reduce log levels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-02 10:07:26 +02:00
Michael Mayer
76c545c542 Backend: Shorten exif gps log message
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-02 10:07:26 +02:00
Theresa Gresch
c179cce291 Frontend: Refactor tests 2020-07-02 10:03:00 +02:00
Michael Mayer
792b4fb48c Backend: Reduce log level in MediaFile.ResampleDefault()
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-02 09:54:33 +02:00
Michael Mayer
a158736463 Backend: Improve logging
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-02 09:44:45 +02:00
Michael Mayer
636b56008b Backend: Add info to metadata logs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-02 08:26:15 +02:00
Michael Mayer
4721f9d044 Backend: Improve metadata logs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-02 08:16:27 +02:00
Michael Mayer
f576b000b7 Add event log in Library > Errors
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-01 17:16:24 +02:00
Michael Mayer
d4f4af313d Add change password command and improve account page in settings
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-01 12:38:58 +02:00
Michael Mayer
0f3808c80e Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-01 10:08:17 +02:00
Michael Mayer
d8e8ae41b6 Fix and improve photo viewer #309 #370
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-01 09:49:03 +02:00
Michael Mayer
15a5fd3c37 Ungroup files #356
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-30 16:58:39 +02:00
Michael Mayer
dceebdde24 WebDAV: Cache directory list #301
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-30 12:58:56 +02:00
Michael Mayer
95802d9f6c Add album edit dialog
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-30 11:27:02 +02:00
Michael Mayer
b01faead9c Improve password invalid error message
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-30 09:22:06 +02:00
Michael Mayer
2f88ab2ebc Improve UX of account page
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-30 09:06:59 +02:00
Michael Mayer
0e426a547b Disable account page in public mode
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-30 08:50:44 +02:00
Michael Mayer
56cf8e95e0 Add change password form to settings
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-29 21:14:34 +02:00
Michael Mayer
1cf3d19f45 Backend: Force file type "jpg" if mime type is "image/jpeg" #366
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-29 17:25:52 +02:00
Michael Mayer
2a24bf293d Backend: Rename PrismWorker to MetaWorker
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-29 13:35:38 +02:00
Michael Mayer
1c72f88e8c Backend: Improve logging #369
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-29 13:16:55 +02:00
Michael Mayer
bfd73932e5 Improve UX and title generation from file names
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-29 11:10:24 +02:00
Michael Mayer
63f940b694 Sharing: Use single image as preview for small albums #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-28 15:23:15 +02:00
Michael Mayer
f2955fdefc Sharing: Refactor link entity and database columns #367 #18
Add missing fields in js model and rename fields for mode clarity. A link token can be valid for multiple shares.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-28 14:52:26 +02:00
Michael Mayer
c07f657c06 Sharing: Set siteUrl to shared content #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-27 17:39:53 +02:00
Michael Mayer
2b2cd8ed23 Backend: Sanitize metadata titles and descriptions
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-27 14:15:25 +02:00
Michael Mayer
e7fecd3b27 Improve album sharing and album UX #18 #309
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-27 13:08:45 +02:00
Michael Mayer
8d79f90138 Sharing: Use album title & description for site metadata #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-27 09:28:32 +02:00
Michael Mayer
1fb8b5cd63 Use static logo in sidebar navigation
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-26 16:11:56 +02:00
Michael Mayer
4aa7b6cc97 Sharing: Generate share preview images #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-26 14:26:36 +02:00
Michael Mayer
ff704d56a0 Sharing: Optional view count limit #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-26 12:24:05 +02:00
Michael Mayer
cfd23666a9 Sharing: Link expiration, view counter and permissions #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-26 12:16:13 +02:00
Michael Mayer
01c78639ef Config: Shorten default site caption
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-25 18:39:55 +02:00
Michael Mayer
5d59b50912 Sharing: ACL authorization for REST API #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-25 14:54:04 +02:00
Michael Mayer
1f1f92408a Sharing: Token authentication #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-25 01:20:58 +02:00
Michael Mayer
faa1ec2e4b Sharing: Implement session update #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-24 17:40:09 +02:00
Michael Mayer
436a9487d3 Backend: Remove archived items from albums
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-24 12:01:25 +02:00
Michael Mayer
43abf0bd83 Photos: Rename maintained_at to checked_at
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-24 08:34:23 +02:00
Michael Mayer
1a0398d01f Docs: Fix indentation
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-23 13:53:11 +02:00
Michael Mayer
4154715512 Docs: Update package information and copyright
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-23 13:44:14 +02:00
Michael Mayer
cd3a2afdbc Backend: Add settings to public / share client config #363
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-23 12:37:37 +02:00
Michael Mayer
12cfe6efec Backend: Prefer file title over image classification #361
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-23 11:12:24 +02:00
Michael Mayer
71d808982c Sharing: Fix photo count in query API #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-23 09:41:59 +02:00
Michael Mayer
d8537d4658 Sharing: Refactor album query API #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-23 07:55:33 +02:00
Michael Mayer
ea0cbc593a Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-22 21:30:51 +02:00
Michael Mayer
f7fbc6e0de Show max 500 files per folder #364
No infinite scrolling in this case... Maybe we add it later. Waiting for user feedback.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-22 21:21:02 +02:00
Michael Mayer
06b43da8c2 Fix s.style not set when loading places #363
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-22 20:41:18 +02:00
Michael Mayer
0ed82c690c Add link sharing template #18
Public mode only, auth not implemented yet.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-22 20:15:08 +02:00
Michael Mayer
722d7dd421 Improve link sharing dialog and api #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-22 15:16:26 +02:00
Michael Mayer
dc28b35b71 Merge branch 'develop' into feature/sharing 2020-06-22 07:19:34 +02:00
Michael Mayer
5d4b36b53c Update copyright notice
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-20 14:29:11 +02:00
Michael Mayer
41608d077d Add album share dialog #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-16 12:51:46 +02:00
Michael Mayer
2f7c002b4d Backend: Fix location estimate query
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-16 10:08:34 +02:00
Michael Mayer
202b2629dc Moments: Fix AlbumFolders query
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-16 10:08:34 +02:00
Michael Mayer
178ae9190b Config: Update site description default
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-16 10:08:34 +02:00
Michael Mayer
961fda3b11 Add photos from other albums (clone)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-14 11:39:53 +02:00
Michael Mayer
01717ae6f7 Backend: Improve country code detection
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-12 18:01:22 +02:00
Michael Mayer
d5e4aec8ea Frontend: Add fields to advanced tab (edit dialog)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-10 18:26:05 +02:00
Michael Mayer
f0c51abc21 Frontend: Add advaned tab to photo edit dialog
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-10 14:13:57 +02:00
Michael Mayer
f2738c1f65 Backend: Update size limit for (U)UIDs to 42 bytes
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-09 19:40:32 +02:00
Michael Mayer
57286b5587 Add rainbow page
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-09 14:05:40 +02:00
Michael Mayer
e83bb6ff02 Add comments to entity package constants
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-09 10:51:22 +02:00
Michael Mayer
aedc0279e3 Fix places count while indexing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-09 10:49:27 +02:00
Michael Mayer
d72480200e Add approve button to photo card view
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-09 09:20:20 +02:00
Michael Mayer
20d0a88bf6 Add setting to remove Library from navigation
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-09 08:37:43 +02:00
Michael Mayer
220bd4cbbf Rename favorite places to states
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-08 20:02:21 +02:00
Michael Mayer
8fa1cb9392 Add favorite places
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-08 18:32:51 +02:00
Michael Mayer
f9c55f22a6 Index HEIF and other non-JPEG images like RAW
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 16:12:33 +02:00
Michael Mayer
c2b60d340b Index metadata from RAW and video files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 15:49:50 +02:00
Michael Mayer
793fd55712 Fix readonly check for sidecar files #268 #348
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 14:33:07 +02:00
Michael Mayer
0032951b36 Update links to docs.photoprism.org
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 13:14:20 +02:00
Michael Mayer
83cb004d47 Improve description for read-only flag #344
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 10:39:23 +02:00
Michael Mayer
250a2ea62d Enable sidecar files in readonly mode if path is absolute #268 #348
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 10:33:56 +02:00
Michael Mayer
aeb889aeff Enable conversion in readonly mode if sidecar path is set #268 #348
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 10:29:54 +02:00
Michael Mayer
a91206a509 Universal sidecar configuration, indexing with multiple roots #268 #348
Slowly getting to the point where only very few people are able to maintain this codebase :)

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 10:09:35 +02:00
Michael Mayer
99c0c034b9 Backend: Use inflection to search for singular terms
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-05 19:27:33 +02:00
Michael Mayer
528f80de3b Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-05 17:03:07 +02:00
Michael Mayer
fbf675fbfb Add s2 prefix to all cell ids
Fixes location search when using SQLite

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-05 16:49:32 +02:00
Michael Mayer
3ecb205133 Moments: Remove emojis from album titles
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-05 11:09:08 +02:00
Michael Mayer
5c574e3837 Backend: Hide private photos in moments
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-05 10:59:59 +02:00
Michael Mayer
5a06433a1c Fix restore photo data from YAML files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-05 10:17:00 +02:00
Michael Mayer
5b1c0f2afe Refactor Photo.LoadLocation and LoadPlace
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-04 22:26:00 +02:00
Michael Mayer
f16169c259 Refactor Photo.PlaceLoaded and LocationLoaded
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-04 22:05:24 +02:00
Michael Mayer
6564e7a548 NewPhoto should only set default IDs, not entities
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-04 21:55:00 +02:00
Michael Mayer
c0a3ab5ac5 Favorites: Don't count private photos #334
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-04 17:33:00 +02:00
Michael Mayer
916e3a570c Backend: Don't index sidecar files if main file failed
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-04 17:06:42 +02:00
Michael Mayer
ca8a8466d4 Indexing bug fixes and UX improvements
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-04 14:56:27 +02:00
Michael Mayer
18f7a999fd Backend: Add search filter for "original" file name #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-03 10:33:09 +02:00
Michael Mayer
3542bc5d61 Backend: Run moments after import
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-03 10:26:29 +02:00
Michael Mayer
15113afaa6 Backend: Fix handling of deleted labels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-02 17:57:12 +02:00
Michael Mayer
bf7bb5006b Backend: Remove debug log messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-02 16:33:23 +02:00
Michael Mayer
716012aa8b Backend: Improve labels and title capitalization
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-01 13:22:19 +02:00
Michael Mayer
973911fabf Backend: Code clean-up and small improvements
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-01 12:08:08 +02:00
Michael Mayer
cd54bbe7ae Backend: Improve title capitalization
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-01 11:23:15 +02:00
Theresa Gresch
ad9167360d
Feature/246 (#345)
* Import: Implement "add to album" in backend #246

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Import: Implement "add to album" in frontend #246

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Add OriginalName to photo search result

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Add json tags to PhotoName and PhotoPath

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Photo: Use EstimateCountry() in UpdateLocation()

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Photo: Set OriginalName earlier while indexing

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Ignore whitespace when stripping sequence from filename #335

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Fix labels count for SQLite

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Import: Show name of new albums #246

Signed-off-by: Michael Mayer <michael@liquidbytes.net>

* Frontend: Add acceptance test files

Co-authored-by: Michael Mayer <michael@liquidbytes.net>
2020-06-01 09:45:24 +02:00
Michael Mayer
a1238c94cc Fix photo test after improving location estimate #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 18:19:24 +02:00
Michael Mayer
68c758a686 Backend: Improve location list for estimates #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 17:45:58 +02:00
Michael Mayer
14c89022d3 Improve browsing by original file and folder name #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 14:42:41 +02:00
Michael Mayer
23df85375e Originals and import path auto-configuration #66
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 12:20:32 +02:00
Michael Mayer
4684f66298 Improve storage path auto-configuration #66
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 11:28:28 +02:00
Michael Mayer
1d8e7f1ad3 Show all months in calendar, even with just one photo #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 11:28:05 +02:00
Michael Mayer
4e214ae202 Set year, month and country for folder albums #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 03:45:38 +02:00
Michael Mayer
d0199598d0 Simplify configuration #66
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 02:09:52 +02:00
Michael Mayer
825c8b31a7 Code clean-up (make fmt)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 21:37:24 +02:00
Michael Mayer
cf05b82732 Fix albums test #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 21:34:42 +02:00
Michael Mayer
946f7967b5 Implement download as zip for moments, calendar and folders #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 21:31:32 +02:00
Michael Mayer
5d92ece264 Albums: Add category filter
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 21:11:56 +02:00
Michael Mayer
ea6ed61d1f Automatically create albums from folders #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 15:42:04 +02:00
Michael Mayer
0b1bcf0d4a Replace TiDB with SQLite for improved stability #66
As a side effect, we need less configuration values.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 14:52:47 +02:00
Michael Mayer
dd442ab9e9 Add moments #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 01:41:47 +02:00
Michael Mayer
e775c8f910 Metadata: Limit Exif extraction to photos #338
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-29 18:14:43 +02:00
Michael Mayer
9a5d4fa719 Backend: Indexing improvements #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-29 18:04:30 +02:00
Michael Mayer
f6c929528e Locations and places: Revert key renaming
Code reads better this way.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-29 12:56:24 +02:00
Michael Mayer
dcc610d7a9 Use AlbumType to distinguish between manual collections and moments #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-29 12:21:17 +02:00
Alex Kay
c5c07d58f9
Fix inconsistent naming for PHOTOPRISM_READONLY (#337)
The actual name used throughout all Docker and YAML config files is `PHOTOPRISM_READONLY`
2020-05-29 09:23:26 +02:00
Michael Mayer
a77b2431d3 Backend: Improve labels, keywords and caching
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-28 21:20:42 +02:00
Michael Mayer
4783183790 Thumbnails: Improve log message
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-28 21:17:23 +02:00
Michael Mayer
52473a1ca9 Add thumbnail filename cache and reuse db connections
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-28 16:26:22 +02:00
Michael Mayer
ed8390906c Add PHOTOPRISM_DATABASE_CONNS config parameter
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-28 15:37:08 +02:00
Michael Mayer
02800e796e Guess title, location and date from file and path name #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-28 15:12:18 +02:00
Michael Mayer
94846c2337 Rename ThumbToken to PreviewToken
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-27 19:56:56 +02:00
Michael Mayer
6f6e3799dc Refactor download urls and client config
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-27 19:38:40 +02:00
Michael Mayer
f510ac994c XMP: Group files based on DocumentID and Instance ID #335
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-27 13:40:21 +02:00
Michael Mayer
301e510b2d Photos: Generate title based on estimated place #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 21:51:34 +02:00
Michael Mayer
1df0d9a549 Change name of maintenance worker to "prism" #154
See https://twitter.com/browseyourlife/status/1265289044856123393

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 19:27:29 +02:00
Michael Mayer
968cd71f34 Backend: Add groom worker and test stubs #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 15:15:14 +02:00
Michael Mayer
24cc8089fa Fix favorite counter for archived files #334
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 13:43:16 +02:00
Michael Mayer
fe732e274c Fix saving photo metadata
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 12:46:22 +02:00
Michael Mayer
dd42d2b823 Entities: Refactor FirstOrCreate
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 11:00:39 +02:00
Michael Mayer
10d5f433aa Albums/Folders: Add category, country, year & month columns #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 09:02:19 +02:00
Michael Mayer
26f749cfdc Folder selections should include sub directories #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 07:14:50 +02:00
Michael Mayer
2156afd85a File browser: Implement clipboard; refactor entities and fixtures #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-25 19:10:44 +02:00
Michael Mayer
4421e7d203 Add simple file browser to Library #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-24 22:16:06 +02:00
Michael Mayer
03ec4b586d Initial commit for folders and moments #154 #260 #331
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-23 20:58:58 +02:00
Michael Mayer
65212f393f API: Shorten cache debug messages #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-22 20:08:28 +02:00
Michael Mayer
75fd1904f3 Add caching to folders API #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-22 20:00:33 +02:00
Michael Mayer
c88cd69e5c Backend: Make sure dirs exist in folder API tests #328
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-22 19:25:53 +02:00
Michael Mayer
e796d036c2 Fix indexer and add sort by file name #328
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-22 19:05:16 +02:00
Michael Mayer
a7122ff4e1 Add /folders API to get directory lists for browsing #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-22 16:29:12 +02:00
Michael Mayer
0eb30715b3 Backend: Add folder as alias for path in search form
Due to popular request, see https://twitter.com/browseyourlife/status/1263442036570697731

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-21 16:46:22 +02:00
Michael Mayer
f9b6952947 Support for Live Photos #177
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-21 13:26:28 +02:00
Michael Mayer
2efb0039e8 Photos: Add photo_type column and search filters for path / name
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-21 10:03:56 +02:00
Michael Mayer
c7e46c44d9 API: Add return to preview error handler
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-20 22:21:59 +02:00
Michael Mayer
1297a8cc1f Read taken date from file name #304
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-20 15:10:24 +02:00
Michael Mayer
a77d74e6eb Add play button for videos to photo viewer #321
You can now play a video by clicking on the title (or description) if a video icon is shown next to it.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-20 10:42:48 +02:00
Michael Mayer
d3cc3ccc82 Sync: Disable account when retry limit is reached
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 19:55:20 +02:00
Michael Mayer
6f3ccc95aa Backend: Make sure .photoprism directory exists
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 19:49:32 +02:00
Michael Mayer
4300d45482 Backend: Log errors in database
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 13:48:05 +02:00
Michael Mayer
a785a9d708 Backend: Update TestPhoto_Save test
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 12:51:19 +02:00
Michael Mayer
27ea0cb214 Backend: Improve entity log and error messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 12:48:32 +02:00
Michael Mayer
1cf0893b18 Backend: Fix AfterCreate after upgrading GORM
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 12:30:26 +02:00
Michael Mayer
132db3c0d2 Backend: Upgrade Go modules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 12:09:48 +02:00
Michael Mayer
f720ca6664 Check PHOTOPRISM_JPEG_HIDDEN flag when converting #311
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 11:33:39 +02:00
Michael Mayer
e61dda495a Add PHOTOPRISM_SIDECAR_HIDDEN and PHOTOPRISM_JPEG_HIDDEN flags #311
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 11:00:17 +02:00
Michael Mayer
7777fa95a5 Backend: Don't backup albums to photo yaml (just yet)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 09:44:49 +02:00
Michael Mayer
bbe60d120b Backend: Set DescriptionSrc when restored from YAML
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 09:21:10 +02:00
Michael Mayer
da067f52e7 Improve command flag descriptions for sidecar files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 22:21:27 +02:00
Michael Mayer
b24d5c03a1 Use YAML files to save and restore photo metadata
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 22:18:58 +02:00
Michael Mayer
f057880df3 Backend: Fix panic in File.Save()
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 17:57:40 +02:00
Michael Mayer
7f2b13bf71 Backend: Use actual instead of original dimensions from metadata #304
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 17:38:14 +02:00
Michael Mayer
0bf17206d0 Entity: Return error in File.Save() if PhotoID is 0
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 17:25:28 +02:00
Theresa Gresch
1fdc2cf610 Backend: Add tests to internal/entity 2020-05-18 16:37:37 +02:00
Michael Mayer
a2d5da7afd Entity: Fix query in File.AllFilesMissing()
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 16:36:24 +02:00
Michael Mayer
39878b3f83 Store created files in .photoprism sub directory
See #268, #311 and #313

Hidden directory name poll: https://twitter.com/browseyourlife/status/1262320988081074178

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 15:45:55 +02:00
Theresa Gresch
d2975666e5 Backend: Make LocLabel unique in place fixtures 2020-05-18 10:05:33 +02:00
Michael Mayer
7121c09d66 Upgrade go-exif and go-jpeg-image-structure; see #302, #304, #305 and #295
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 08:44:40 +02:00
Michael Mayer
46f3f12da8 Upgrade go-exif, go-jpeg-image-structure and go-png-image-structure
See #302, #304, #305 and #295

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-17 11:05:57 +02:00
Michael Mayer
abfd2fa79d Videos: Improve indexing and searching #312
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-16 17:07:44 +02:00
Michael Mayer
ba524d05d6 Metadata: Add DateTimeDigitized as fallback value for TakenAt #304
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-16 09:27:21 +02:00
Michael Mayer
7ee4d5eda5 Photo: Update year and month whenever takenAt may change
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-15 16:06:32 +02:00
Michael Mayer
9937304d0c Metadata: Improve date and error handling; see #302, #304, #305 and #295
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-15 15:29:56 +02:00
Theresa Gresch
e4c521d9b3 Backend: Update FindPlaceByLabel function 2020-05-15 13:16:03 +02:00
Theresa Gresch
4aaa4e9fc2 Backend: Add tests to internal/entity 2020-05-15 13:15:10 +02:00
Theresa Gresch
238468c8f9 Backend: Add tests to internal/api 2020-05-15 13:14:50 +02:00
Michael Mayer
fbc2cfaf22 Backend: Add test for (resized) JPEG with GPS issues #295
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-15 12:45:42 +02:00
Michael Mayer
a16f00f359 Backend: Add support for DateTime in Exif metadata #304
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-15 11:15:15 +02:00
Michael Mayer
71fb67adb2 Videos: Support H.264/AVC .mov files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-15 09:39:32 +02:00
Michael Mayer
eba0b1d896 Backend: Fix search query (photo:true filter)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-14 22:49:01 +02:00
Michael Mayer
871c5aae9c Backend: Don't abort import / index options API requests
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-14 19:45:01 +02:00
Michael Mayer
2d1763edbe Add videos to main navigation #17
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-14 19:03:12 +02:00
Theresa Gresch
afc1e10646 Backend: Add tests to internal/api 2020-05-14 18:10:01 +02:00
Theresa Gresch
e3993b3dbf Backend: Add tests to internal/thumb 2020-05-14 17:28:55 +02:00
Theresa Gresch
b4c27ffb51 Backend: Add tests to internal/query 2020-05-14 15:43:39 +02:00
Theresa Gresch
07e4d22464 Backend: Add tests to internal/entity 2020-05-14 15:28:11 +02:00
Theresa Gresch
269915d77b Backend: Remove unnecessary group in photos.go 2020-05-14 15:27:12 +02:00
Theresa Gresch
6c9b994664 Backend: Add tests to internal/query 2020-05-14 15:27:12 +02:00
Theresa Gresch
156c7b295e Backend: Add tests to internal/entity 2020-05-14 15:27:12 +02:00
Michael Mayer
2c564ed145 Backend: Swap width and height to fix rotation when reading from JSON
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-14 14:28:57 +02:00
Theresa Gresch
160977fec4 Backend: Add tests to internal/query 2020-05-14 14:18:28 +02:00
Theresa Gresch
05078b0e4b Backend: Add test fixtures 2020-05-14 14:17:12 +02:00
Michael Mayer
2045e3d770 Index and show video metadata #17
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-14 11:57:26 +02:00
Michael Mayer
cbeaab64e7 Backend: Remove story flag code
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-13 21:22:49 +02:00
Michael Mayer
55819dba9b Backend: Read JSON from sidecar file #4 #243
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-13 21:06:34 +02:00
Michael Mayer
5f408f4f76 Backend: Read from JSON sidecar files (created by exiftool) #4 #243
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-13 20:53:15 +02:00
Theresa Gresch
47e4abe9a4 Backend: Fix test 2020-05-13 20:05:33 +02:00
Theresa Gresch
9fc0265d9a Backend: Add tests to internal/query 2020-05-13 19:47:17 +02:00
Theresa Gresch
c0a2da8bab Backend: Add tests fixtures 2020-05-13 19:46:49 +02:00
Michael Mayer
bd59dc2564 Backend: Don't import / index sidecar files without media file
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-13 17:42:25 +02:00
Theresa Gresch
a123726d28 Backend: Add tests to internal/query 2020-05-13 17:23:16 +02:00
Michael Mayer
bd3426ae51 Add video player #17
Still need to index metadata. Work in progress.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-13 15:36:49 +02:00
Theresa Gresch
e634fd97a7 Backend: Add tests to internal/query 2020-05-13 11:57:54 +02:00
Theresa Gresch
25da779c43 Backend: Add tests fixtures 2020-05-13 11:51:51 +02:00
Theresa Gresch
f949db0b38 Backend: Add tests to internal/query 2020-05-13 10:16:12 +02:00
Theresa Gresch
0284f7c101 Backend: Add test fixtures 2020-05-13 10:15:43 +02:00
Theresa Gresch
c0b6eaa9d5 Backend: Add tests to internal/entity 2020-05-12 13:52:09 +02:00
Theresa Gresch
687c85ed73 Backend: Fix bug in addLabels function 2020-05-12 11:52:46 +02:00
Theresa Gresch
96208d2c51 Backend: Add tests to internal/entity 2020-05-12 11:51:54 +02:00
Theresa Gresch
ac698b6eab Backend: Add test fixtures 2020-05-12 11:51:28 +02:00
Michael Mayer
a61f2384b3 Initial video support #17
Still need to add a player and index metadata. Work in progress.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 18:29:17 +02:00
Theresa Gresch
510df88d7f Backend: Add tests to internal/api 2020-05-11 17:11:04 +02:00
Theresa Gresch
e95260e3ab Backend: Add tests to internal/entity 2020-05-11 17:01:19 +02:00
Theresa Gresch
95ab6dfb94 Backend: Add test fixtures 2020-05-11 17:01:05 +02:00
Theresa Gresch
7cce763864 Backend: Refactor test fixtures 2020-05-11 14:49:53 +02:00
Michael Mayer
cdadf664ff Backend: Improve query parser #266
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 14:49:00 +02:00
Michael Mayer
3c47a85ea5 Backend: Move UpdatePhotoCounts() to entity package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 11:01:28 +02:00
Michael Mayer
71c849c23b Backend: Update photo counts after sync download
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 10:48:18 +02:00
Michael Mayer
984ffb511d Tests: Improve TestImport_DestinationFilename
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 10:03:03 +02:00
Michael Mayer
4e3c076511 Backend: Re-import missing files #300
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 09:47:10 +02:00
Michael Mayer
4fbed12e94 Backend: Skip archived photos while indexing #300
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 08:57:58 +02:00
Michael Mayer
78d1230088 Purge: Increase batch size to 500 and reduce sleep to 50ms
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 07:51:31 +02:00
Michael Mayer
2d9be81658 Backend: Don't use a view for label photo counts
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 07:44:45 +02:00
Michael Mayer
923093042a Purge: Improve photo counts and logging
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 07:23:23 +02:00
Michael Mayer
7f48ad5efa Purge: Only process 250 rows per iteration
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-10 22:36:08 +02:00
Michael Mayer
b865203d89 Purge: Sleep 250ms to give database time for other tasks
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-10 22:21:05 +02:00
Michael Mayer
561323d544 Backend: Re-render thumbs after files changed #299
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-10 20:10:17 +02:00
Michael Mayer
8ccaaff4e5 Backend: Update label photo count and refactor entity fixtures
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-10 19:43:49 +02:00
Michael Mayer
406737e180 Fix places counter #292
See https://github.com/photoprism/photoprism/issues/292#issuecomment-626203720

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-10 16:12:15 +02:00
Michael Mayer
4beeebe5cc Backend: Add Hidden column to PhotoAlbum
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-09 21:00:02 +02:00
Michael Mayer
253fbc632b Backend: Add Hidden column to PhotoAlbum
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-09 20:59:45 +02:00
Michael Mayer
252e67ce03 Add photo_count column to labels table
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-09 11:00:22 +02:00
Michael Mayer
3aad02501f Run unit tests in separate databases to avoid conflicts
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 19:34:29 +02:00
Michael Mayer
e703a54586 Backend: Close db connection after running tests
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 18:35:19 +02:00
Michael Mayer
2f28c6840e Backend: Try migrations a second time if they fail
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 18:18:19 +02:00
Michael Mayer
40b7a1285f Backend: Reduce db migration error log level to debug
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 18:02:53 +02:00
Michael Mayer
c5dbe1bc14 Backend: Refactor database migration
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 17:45:32 +02:00
Michael Mayer
94dfb3cd19 Add WaitForMigration() function to avoid db test failures
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 16:36:09 +02:00
Michael Mayer
05d9187167 Update count in places are restoring photos #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 16:01:34 +02:00
Theresa Gresch
aaf1ff64ad Backend: Add tests to internal/entity 2020-05-08 15:46:16 +02:00
Michael Mayer
842da9f09b Backend: Query package refactoring
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 15:41:01 +02:00
Theresa Gresch
695294fc58 Backend: Improve photo_label_test 2020-05-08 14:31:58 +02:00
Theresa Gresch
0d0ba28331 Backend: Add tests to internal/entity 2020-05-08 14:18:11 +02:00
Michael Mayer
1894b4440f Detect and report photos without primary file, e.g. after purging #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 12:01:28 +02:00
Michael Mayer
3288ede6e6 Simplify Purge() function #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 12:01:28 +02:00
Theresa Gresch
dc23632556 Backend: Add tests to internal/entity 2020-05-08 11:46:09 +02:00
Theresa Gresch
a136945470 Backend: Add tests to internal/entity 2020-05-08 10:21:03 +02:00
Michael Mayer
c0c0c96c30 Remove primary flag for missing files #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 09:36:34 +02:00
Michael Mayer
305ec3e822 Get convert option for index command from settings
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 08:09:43 +02:00
Michael Mayer
a5a2da36f1 Automatically purge when running index command #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 07:56:14 +02:00
Michael Mayer
830ce5fc21 Improve purge performance using ignore option #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 07:43:14 +02:00
Michael Mayer
979a5f5c76 Code clean-up and refactoring of purge command #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 21:55:34 +02:00
Michael Mayer
252672b291 Run purge after indexing files in Web UI #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 21:46:00 +02:00
Michael Mayer
ac33ee87a1 Purge command: Fix database query and add --dry flag #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 20:33:11 +02:00
Michael Mayer
f0187df4a1 Purge command to remove missing files from the index #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 19:42:04 +02:00
Theresa Gresch
5c0d12c4d9 Backend: Add tests to internal/entity 2020-05-07 18:08:12 +02:00
Theresa Gresch
4c6aec9912 Backend: Add tests to internal/entity 2020-05-07 17:29:35 +02:00
Theresa Gresch
a0465e0e10 Backend: Add tests to internal/entity 2020-05-07 16:45:33 +02:00
Michael Mayer
c318d22ca7 UX: Rename "path" to "folder"
See https://twitter.com/browseyourlife/status/1258330913991208960

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 12:49:06 +02:00
Michael Mayer
38fe8277fa UX: Rename "directory" to "folder"
See https://twitter.com/browseyourlife/status/1258330913991208960

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 12:33:09 +02:00
Michael Mayer
c505503485 NSFW: Don't set flag if private filter is disabled #296
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 10:23:09 +02:00
Michael Mayer
a6ab94fb2e Indexer: Observe Convert option flag
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 08:29:41 +02:00
Theresa Gresch
1ccb546893 Backend: Add tests to internal/form 2020-05-06 17:05:06 +02:00
Michael Mayer
3ccad67622 Index and import subdirectories #258
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-06 15:53:47 +02:00
Theresa Gresch
ff505579ec Backend: Add tests to internal/api 2020-05-06 12:56:13 +02:00
Michael Mayer
1479a3ec5b Refactor indexer so that thumbs and jpegs can be created on demand #258
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-06 10:35:41 +02:00
Michael Mayer
6c6ea0ac3d Support GPSVersionID 2.0.0.0 #295
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-06 08:03:57 +02:00
Michael Mayer
bc69f22da2 Fix edit dialog after renaming config value
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-05 19:44:02 +02:00
Michael Mayer
9b643c830f Add template settings; remove twitter config value
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-05 18:26:44 +02:00
Michael Mayer
a886ad7942 Improve naming of thumbnail config values #294
Reverted PHOTOPRISM_RESAMPLE_FILTER back to PHOTOPRISM_THUMB_FILTER so that nothing breaks.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-05 17:17:19 +02:00
Michael Mayer
14fc9cd374 Revert and improve naming of thumbnail config values #294
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-05 17:04:13 +02:00
Michael Mayer
1c53a565a7 Configure on-demand rendering of regular thumbnail sizes #294
Can be enabled by setting PHOTOPRISM_RESAMPLE_UNCACHED to true

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-05 15:42:54 +02:00
Theresa Gresch
ee6dd2be72 Backend: Add tests to internal/api 2020-05-05 09:28:52 +02:00
Theresa Gresch
b16216819b Backend: Add test fixtures 2020-05-05 09:28:30 +02:00
Michael Mayer
f9b2ff326b Refactor feature flags and settings
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-04 18:28:23 +02:00
Theresa Gresch
5388b785bf Backend: Add tests to internal/api 2020-05-04 17:54:42 +02:00
Theresa Gresch
b53eb53b08 Backend: Use correct errors in internal/api/link.go 2020-05-04 17:14:43 +02:00
Theresa Gresch
90c910654b Backend: Add tests to internal/api 2020-05-04 17:14:04 +02:00
Theresa Gresch
e4162d3a29 Backend: Use uuid instead of hash in LinkFile function 2020-05-04 17:12:37 +02:00
Theresa Gresch
eb0467cde8 Backend: Add errors 2020-05-04 17:11:53 +02:00
Theresa Gresch
6e2062ea4b Backend: Add tests to api/labels 2020-05-04 16:02:49 +02:00
Theresa Gresch
73e0d294ff Backend: Add tests to internal/api 2020-05-04 14:40:58 +02:00
Michael Mayer
0ff34b6f43 Backend: Change error message prefix in thumb package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-03 18:05:05 +02:00
Michael Mayer
2032b40f2b Backend: Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-03 18:00:50 +02:00
Theresa Gresch
c474ec5dd2 Backend: Add tests to api/batch 2020-05-03 17:26:26 +02:00
Theresa Gresch
d81fe794eb Backend: Add label fixtures 2020-05-03 17:26:26 +02:00
Michael Mayer
05a05773d9 Backend: Fix import command and improve logging #233 #287
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-03 16:16:00 +02:00
Theresa Gresch
2f5ae08768 Backend: Add tests api/album 2020-05-03 15:55:38 +02:00
Michael Mayer
fe28c7d284 Backend: Add support for .ppignore files #233 #287
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-03 14:40:59 +02:00
Theresa Gresch
fd50478218 Backend: Add tests to internal/api 2020-05-01 19:58:05 +02:00
Michael Mayer
3e6df5fd5d Backend: Replace filepath.Walk with godirwalk.Walk #267
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-01 17:31:49 +02:00
Theresa Gresch
9cbad48972 Backend: Add tests to api/account 2020-05-01 16:38:00 +02:00
Michael Mayer
44abbfc43a Backend: Use fastwalk.Walk instead of filepath.Walk in tests #267
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-01 15:35:47 +02:00
Theresa Gresch
f5a1d76748 Backend: Remove old fixtures from config/db.go 2020-05-01 14:18:51 +02:00
Theresa Gresch
2a21bc5158 Backend: Use new fixtures in query tests 2020-05-01 14:18:51 +02:00
Theresa Gresch
9dbd743452 Backend: Use new fixtures in api tests 2020-05-01 14:18:51 +02:00
Theresa Gresch
6edb578b34 Backend: Add test fixtures 2020-05-01 14:18:51 +02:00
Theresa Gresch
9e343cef04 Backend: Add fixtures for files 2020-05-01 14:18:51 +02:00
Theresa Gresch
409cea4659 Backend: Add fixtures for photokeywords 2020-05-01 14:18:51 +02:00
Theresa Gresch
5d2c4fa5d6 Backend: Add fixtures for photolabels 2020-05-01 14:18:51 +02:00
Theresa Gresch
c0a37ca36a Backend: Add fixtures photoalbum 2020-05-01 14:18:51 +02:00
Theresa Gresch
0008f68b71 Backend: Add fixtures for links 2020-05-01 14:18:51 +02:00
Theresa Gresch
5f33848b14 Backend: Add fixtures for keywords 2020-05-01 14:18:51 +02:00
Theresa Gresch
3127eef80f Backend: Add fixtures for categories 2020-05-01 14:18:51 +02:00
Theresa Gresch
5c86f02106 Backend: Add test fixtures for albums 2020-05-01 14:18:51 +02:00
Theresa Gresch
434948d57a Backend: Add test fixtures for photos 2020-05-01 14:18:51 +02:00
Theresa Gresch
9234c5797a Backend: Add test fixtures for labels 2020-05-01 14:18:50 +02:00
Theresa Gresch
6188c7f736 Backend: Add test fixtures for countries 2020-05-01 14:18:50 +02:00
Theresa Gresch
785d433ba9 Backend: Add test fixtures for cameras 2020-05-01 14:18:50 +02:00
Michael Mayer
59f1c0d786 Backend: Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-01 13:54:47 +02:00
Michael Mayer
e3356aa79b Backend: Don't regenerate existing unique IDs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-01 12:57:26 +02:00
Michael Mayer
2836d25e1b Backend: Add tests for thumb package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-01 11:53:41 +02:00
Michael Mayer
d4fefe411b Backend: Add tests for service package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-01 09:57:38 +02:00
Michael Mayer
b4a04a478f Backend: Set test database using PHOTOPRISM_TEST_DSN
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 22:39:38 +02:00
Michael Mayer
f8de34dac7 Backend: Add account fixtures
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 22:25:53 +02:00
Michael Mayer
c30476f120 Backend: Refactor test db initialization
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 21:21:09 +02:00
Michael Mayer
260cca91fe Backend: Refactor entity package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 20:07:03 +02:00
Michael Mayer
c06d0c0b9d Backend: Refactor test logs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 16:44:04 +02:00
Michael Mayer
363b9797be Backend: Refactor classify tests
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 16:11:27 +02:00
Michael Mayer
0c0bea5ed7 Backend: Add nsfw tests
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 16:09:05 +02:00
Michael Mayer
953ca55483 Backend: Refactor config tests
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 16:09:05 +02:00
Michael Mayer
eaae910014 Backend: Refactor entity tests
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 14:32:48 +02:00
Michael Mayer
faa2074e69 Backend: Refactor exif parsing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-29 16:42:06 +02:00
Michael Mayer
1502838ddb Fix NSFW test
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-29 16:13:18 +02:00
Michael Mayer
1e05670501 Increase NSFW detector threshold
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-29 16:12:09 +02:00
Theresa Gresch
426e5a9f9c Backend: Add tests to internal/photoprism 2020-04-29 14:09:44 +02:00
Theresa Gresch
190333f4f5 Backend: Add tests to internal/remote 2020-04-29 13:21:15 +02:00
Theresa Gresch
bacb0f67c3 Backend: Add tests to internal/maps 2020-04-29 13:21:15 +02:00
Michael Mayer
194e208e31 Backend: Update client info after changing private flag
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-29 12:42:59 +02:00
Theresa Gresch
c87da2f72f Backend: Add tests to internal/event 2020-04-29 12:37:43 +02:00
Theresa Gresch
6a171d88d0 Backend: Add tests to pkg/internal/classify 2020-04-29 11:18:26 +02:00
Michael Mayer
e03c254d1b Backend: Increase threshold for NSFW detection
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-29 11:07:15 +02:00
Michael Mayer
3da7719728 Backend: Don't use UTC as unknown time zone
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-29 02:22:59 +02:00
Michael Mayer
f957610fc9 Backend: Update places tests
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-29 00:17:44 +02:00
Michael Mayer
8318ab8983 Config: Rename "sql" / "internal" to "tidb" for more clarity
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-28 22:49:02 +02:00
Michael Mayer
29bbdc7140 Backend: Update places tests
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-28 21:52:15 +02:00
Michael Mayer
ba396952a8 Update Dockerfiles and set default SQL port to 2343 2020-04-28 21:10:31 +02:00
Michael Mayer
428d5f34b5 Backend: Remove event entity until we need it
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-28 19:44:27 +02:00
Michael Mayer
96098913ff Places: Add support for new keywords field
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-28 19:41:06 +02:00
Michael Mayer
b33983b566 Backend: Add stopwords
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-28 18:20:33 +02:00
Michael Mayer
783e8ec3af Backend: Don't use private photos as cover for labels or albums
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-27 17:06:36 +02:00
Michael Mayer
da93df1a02 Backend: Update label rules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-27 17:05:15 +02:00
Theresa Gresch
6598aed7ba Backend: Adapt test to label update 2020-04-27 15:45:43 +02:00
Theresa Gresch
b5c63893a8 Backend: Update labels 2020-04-27 15:33:08 +02:00
Michael Mayer
8cd075cf0f Labels: Sort results by quality and uncertainty
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-27 14:41:22 +02:00
Michael Mayer
d6dc411a88 Labels: Use most probable photo with best quality as cover
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-27 14:32:15 +02:00
Michael Mayer
d5490c0364 Albums: Use most recent photo with best quality as cover
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-27 14:25:04 +02:00
Michael Mayer
95cc4ec43f Backend: Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-26 17:15:17 +02:00
Michael Mayer
404682b730 Backend: Set PlaceID and PhotoCountry for unknown locations
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-26 17:06:40 +02:00
Theresa Gresch
65f47a5db4 Merge remote-tracking branch 'origin/develop' into develop 2020-04-26 16:35:40 +02:00
Theresa Gresch
b5648f7b66 Backend: Update labels 2020-04-26 16:25:21 +02:00
Michael Mayer
3630a49df0 Backend: Improve metadata indexing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-26 16:22:29 +02:00
Theresa Gresch
478b9291ce Merge remote-tracking branch 'origin/develop' into develop 2020-04-26 15:50:11 +02:00
Michael Mayer
882340a14c Refactor string clipping in frontend & backend
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-26 14:31:33 +02:00
Theresa Gresch
f5b80ae395 Merge remote-tracking branch 'origin/develop' into develop 2020-04-26 13:48:11 +02:00
Michael Mayer
4a6f1700c1 Exif: Shorten exposure time #227
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-26 12:17:49 +02:00
Michael Mayer
3edf30ab3a Reduce location precision to float32
This is the practical limit of commercial data and should be more than enough for our use case while ideally providing better index performance.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-26 11:41:54 +02:00
Michael Mayer
e9948344c0 Backend: Use type varbinary(2) for country
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-25 16:23:16 +02:00
Michael Mayer
e29897715d Change unknown place ID to "zz"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-25 16:17:59 +02:00
Michael Mayer
dab8052b76 make fmt
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-25 14:55:26 +02:00
Michael Mayer
430fb2acb3 Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-25 14:48:08 +02:00
Michael Mayer
e8e0639d78 Backend: Provide unknown camera & lens as default
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-25 14:22:47 +02:00
Michael Mayer
8609ab805f Automatically set private flag if detect-nsfw is enabled
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-24 20:28:16 +02:00
Michael Mayer
35bed81ec5 Filter private photos
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-24 18:19:18 +02:00
Theresa Gresch
68db740d47 Backend: Update labels 2020-04-24 17:52:39 +02:00
Michael Mayer
a57ca79663 Improve settings page #288
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-24 16:05:57 +02:00
Michael Mayer
6af6129bf1 Backend: Set http client timeouts
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-24 14:11:17 +02:00
Michael Mayer
67eb71681f Add Quality and Review to geo search form #288
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-24 13:25:04 +02:00
Michael Mayer
77cea5d719 Implement score to sort photos by quality #288
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-24 13:21:18 +02:00
Michael Mayer
e55df7ed37 Backend: Add PhotoFavorite to geo json response
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-24 10:07:13 +02:00
Michael Mayer
a88c499b70 Backend: Include categories when creating albums from labels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-23 19:22:41 +02:00
Theresa Gresch
f4b4f2a95a Backend: Adapt test to updated labels 2020-04-23 15:26:44 +02:00
Theresa Gresch
e6a81d4cb0 Backend: Update labels 2020-04-23 15:18:56 +02:00
Michael Mayer
03c7d969f6 Sync: Reduce repeated error log level
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-22 18:20:42 +02:00
Michael Mayer
c772ac756c Set timeout for "photoprism status" command
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-22 16:51:33 +02:00
Michael Mayer
f43154be93 Convert: Case-insensitive related file search
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-22 16:39:45 +02:00
Michael Mayer
78f37d8d6b Fix config test after upgrading TensorFlow
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-22 10:33:47 +02:00
Michael Mayer
ae3b5a7978 Add "photoprism status" command to check server health
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-22 10:27:48 +02:00
Michael Mayer
122e4730a3 Select primary file for grouped photos
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-21 10:23:27 +02:00
Michael Mayer
f31c405475 Merge photo updated event results
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-21 02:10:59 +02:00
Michael Mayer
5a50c36809 Backend: Change import duplicate file naming
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-20 23:05:14 +02:00
Michael Mayer
360c87c348 Show grouped photos in search results
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-20 20:07:58 +02:00
Michael Mayer
2a83645ce8 API: Rename selection.go to batch.go
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-20 17:59:05 +02:00
Theresa Gresch
f5c57bbfec Backend: Update labels 2020-04-20 16:05:03 +02:00
Theresa Gresch
94adba6305 Backend: Update label rules 2020-04-20 14:17:24 +02:00
Theresa Gresch
73e6988aea Merge remote-tracking branch 'origin/develop' into develop 2020-04-20 13:53:03 +02:00
Michael Mayer
4bd0ca4ac6 Keep sessions for 7 days
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-20 13:50:28 +02:00
Theresa Gresch
7f0ca19096 Backend: Update labels 2020-04-20 13:34:37 +02:00
Michael Mayer
9f188a7b93 Albums: Set default sort order to "oldest first"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-20 12:53:58 +02:00
Michael Mayer
65a7ee01f2 Albums: Fix update event for syncing clients
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-20 11:51:42 +02:00
Michael Mayer
f70b506f77 Albums: Save sort order and description
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-20 10:38:01 +02:00
Michael Mayer
02fa18ab05 Sync: Avoid overwriting account settings
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-20 08:47:26 +02:00
Michael Mayer
d168ea1a18 Backend: Update label rules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-20 07:58:15 +02:00
Michael Mayer
0c3a06d355 Sync: Skip existing files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-20 07:43:49 +02:00
Michael Mayer
4dad4e6370 Backend: Update label rules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-19 09:12:46 +02:00
Michael Mayer
b31508e4f3 Refactor & improve editing of photo labels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-19 01:13:55 +02:00
Michael Mayer
d2d3f7eb52 Fix automatic titles for photos without location
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-18 23:48:56 +02:00
Michael Mayer
f07064c2c3 Refresh titles, labels and locations
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-18 23:20:54 +02:00
Michael Mayer
af3945d2fe Label: Remove log messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-17 23:17:31 +02:00
Michael Mayer
8b36220c68 Backend: Update label rules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-17 21:28:32 +02:00
Michael Mayer
20a5912210 Rename, remove and re-activate labels
Still need to fix label names when re-indexing so that custom names are used, if changed by the user.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-17 21:20:38 +02:00
Theresa Gresch
50fce34f69 Backend: Update labels 2020-04-17 20:26:51 +02:00
Michael Mayer
9a763541ac Keywords: Improve indexing and logging
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-17 14:16:34 +02:00
Michael Mayer
46f5fcef40 Backend: Index file names with txt.FilenameKeywords()
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-16 23:30:42 +02:00
Theresa Gresch
74e33e1917 Backend: Improve labels 2020-04-16 23:16:55 +02:00
Michael Mayer
e3f614bc23 Backend: Update photo title when location or labels change
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-16 20:57:00 +02:00
Michael Mayer
61ebd1ac90 Locations: Refactor indexing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-16 18:05:22 +02:00
Michael Mayer
f99307f181 Backend: Update label rules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-16 16:02:04 +02:00
Michael Mayer
204ae30c90 Keywords: Don't split words with a dash
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-16 15:57:07 +02:00
Michael Mayer
1f2c0171b1 Backend: Change titles of unknown photos
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-15 14:29:40 +02:00
Michael Mayer
6941028c4f Backend: View and edit archived photos
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-15 14:27:48 +02:00
Michael Mayer
b1dd8b0618 WebDAV: Add trailing slash/ to log output
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-14 18:13:37 +02:00
Michael Mayer
3b27f8d3f4 Skip exact duplicates #283
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-14 15:08:39 +02:00
Michael Mayer
96ec67f868 Group related files #283
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-14 14:28:47 +02:00
Michael Mayer
855781658b Add library settings #283
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-14 13:13:45 +02:00
Michael Mayer
fc95caaf06 Frontend: Improve library UX
Hints still need translations and options should be saved, so that they don't change when you reload the page.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-14 09:03:52 +02:00
Michael Mayer
c2fa3a7246 Add common feature flags incl upload #284
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-13 18:08:21 +02:00
Michael Mayer
9d97460044 Add links to source code docs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-13 11:26:53 +02:00
Michael Mayer
47814e2fde Initial stub for feature flags in settings #284
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-12 18:00:31 +02:00
Michael Mayer
3ad73a752c Backend: Update label rules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-12 15:39:36 +02:00
Michael Mayer
a06ac39639 Add "similar" sorting option as proof-of-concept
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-11 12:14:37 +02:00
Michael Mayer
96c7337fea Make tests more resilient
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-09 19:39:09 +02:00
Michael Mayer
095f51060b Labels: Ignore corals
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-09 17:27:49 +02:00
Michael Mayer
a8c48ab40e Initial API and entities for link sharing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-08 13:24:06 +02:00
Michael Mayer
590420c870 Search: Remove stopwords
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-07 22:03:31 +02:00
Michael Mayer
f1b3b4b6bc Sync: Upload local files #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-07 12:51:01 +02:00
Michael Mayer
b020b4e415 Sync: Ignore unsupported file types #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-07 10:42:42 +02:00
Michael Mayer
a393a25e01 Backend: Remove export path to avoid confusion #276
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-06 23:04:52 +02:00
Michael Mayer
b5ee4625a6 Backend: Replace export with temp directory #276
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-06 22:50:04 +02:00
Michael Mayer
2f5da21a5b Sync: Code clean-up #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-06 22:27:05 +02:00
Michael Mayer
02810ffa94 Sync: Import/index after downloading #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-06 22:09:45 +02:00
Michael Mayer
087c56e371 Sync: Download to temp path #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-06 16:34:29 +02:00
Michael Mayer
9b7a5d69d4 Sharing: Instantly trigger upload #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-06 16:15:19 +02:00
Tyler Rockwood
bf2b5ca108
Skip hidden directories on indexing (#279) 2020-04-06 16:15:11 +02:00
Michael Mayer
ae5b6b759e Move share & sync to workers package #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-06 09:41:42 +02:00
Michael Mayer
aa220a06fe Backend: Refactor package structure
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-05 22:26:53 +02:00
Michael Mayer
c882b56f82 Sync: Download remote files #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-04 17:19:34 +02:00
Michael Mayer
3de78e3124 Sharing: Delete expired files #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-04 13:53:52 +02:00
Michael Mayer
2e5840f3b0 Implement share worker #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-03 18:08:49 +02:00
Michael Mayer
15d32016c6 Sharing: Refactor API and entities #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-02 18:17:07 +02:00
Michael Mayer
a836dd1497 Backend: Upgrade dependencies
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-02 14:13:41 +02:00
Michael Mayer
1adc144ac2 Backend: Insert shared file into files_share table #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-01 18:17:29 +02:00
Michael Mayer
86432c9974 Backend: Fix formatting issue in account API #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-01 13:07:44 +02:00
Michael Mayer
91b1d7a198 WebDAV sharing proof-of-concept #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-01 12:00:45 +02:00
Michael Mayer
5bea7d2a59 Maps: Add style to settings
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-31 21:03:13 +02:00
Michael Mayer
09e2385c67 Maps: Add animation duration to settings
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-31 18:56:52 +02:00
Michael Mayer
5f91d0d17b Add photo share dialog for WebDAV #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-31 17:26:25 +02:00
Michael Mayer
81d2a71b04 Backend: Update label rules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-30 18:48:09 +02:00
Michael Mayer
2cd3a3030c Backend: Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-30 13:34:53 +02:00
Michael Mayer
9f400a826c Frontend: Fix account management issues #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-30 09:17:46 +02:00
Michael Mayer
b592e67dfa Frontend: Improve account management #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-29 21:24:44 +02:00
Michael Mayer
a9ece37feb Backend: Enable service discovery in API #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-29 12:02:01 +02:00
Michael Mayer
1e681440a3 Backend: Implement simple service discovery #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-29 11:29:02 +02:00
Michael Mayer
ec051e5481 Backend: Improve file share and sync entities #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-29 08:34:25 +02:00
Michael Mayer
7f2cfc8446 Backend: Create settings.yml if not exists
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-28 21:44:30 +01:00
Michael Mayer
9f03b99d7b Backend: Code clean-up #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-28 19:54:12 +01:00
Michael Mayer
29c3880aeb Accounts: Rename "push" to "share" #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-28 19:46:09 +01:00
Michael Mayer
9f4a5e7170 Backend: Add account API test #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-28 18:01:50 +01:00
Michael Mayer
c98ed8a125 Backend: Code clean-up #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-28 17:17:41 +01:00
Michael Mayer
1d667ada79 Backend: Add account API #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-28 15:29:17 +01:00
Michael Mayer
81dc7bbb19 Backend: Add sharing entities (file sync & push) #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-27 18:17:07 +01:00
Michael Mayer
187a80f7e6 Backend: Recursively list directories #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-27 11:56:24 +01:00
Michael Mayer
b86f68c3f3 Backend: Add WebDAV client and dummy test server #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-27 11:01:41 +01:00
Michael Mayer
eedaae8f91 Backend: Move photo description to separate table
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-26 09:41:33 +01:00
Michael Mayer
ccd92a4715 Update index after editing photo metadata
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-25 14:14:00 +01:00
Michael Mayer
16e17b33bf Add photo keywords edit field and improve indexing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-25 12:39:07 +01:00
Michael Mayer
a1706a5922 Backend: Upgrade & improve Dockerfiles #263
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-23 20:29:31 +01:00
Michael Mayer
c1b08c8870 Backend: Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-09 01:13:32 +01:00
Michael Mayer
3165eb3ac5 Backend: Reduce default number of workers
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-09 00:51:10 +01:00
thielepaul
1d89858e4c
Backend: Add API endpoint for getting files by sha1 hash (#259)
* Backend: Add API endpoint for getting files by sha1 hash

* Test: Add test for Api.GetFile
2020-02-26 17:50:28 +01:00
Michael Mayer
01527c180e Add WebDAV server
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-21 04:23:16 +01:00
Michael Mayer
4deca6b1ed Metadata: Exclude null bytes from Exif #252
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-21 02:15:07 +01:00
ifedorenko
d43255885c
Serialize websocket writes with a mutex (#256)
Fixes #241

Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
2020-02-21 01:58:40 +01:00
François d'Yvoire
55693fab35
Some more comment improvements (#257)
* Improve comment in classify package

* improve comment in config package

* improve entity package comments

* grammar error in comments
2020-02-21 01:14:45 +01:00
François d'Yvoire
4fe5aaaccd
Improve command package comments (#251) 2020-02-18 23:42:51 +01:00
Michael Mayer
c583d7e994 Backend: Index Keywords, Subject and Artist #243
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-07 17:02:53 +01:00
Michael Mayer
c13e39e6d1 Backend: Add fields to Meta.Data struct #243
Added: Subject, Keywords, Comment, CameraOwner and CameraSerial

Todo: Read values from Exif.Image.XPTitle, XPSubject, XPKeywords,...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-07 14:40:06 +01:00
Anders Brander
3ed5370439
Do not print starting web server before starting web server. (#240)
Thnigs can go wrong and abort in server.Start() before the web server is
started. This commit will move the log message to where the webserver is
started to avoid confusing the user.
2020-02-05 23:05:37 +01:00
Michael Mayer
491751f4fc Frontend: Fixed infinite scroll and reload
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-04 14:51:48 +01:00
Michael Mayer
f57c6688a5 Upload: Publish photos.created event
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-04 13:11:18 +01:00
Michael Mayer
4ef19bb671 Backend: Sidecar file hashes may have duplicates
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-04 12:25:57 +01:00
Michael Mayer
3e6c85feb2 Labels: Publish labels.created event
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-04 11:38:43 +01:00
Michael Mayer
2ef03df895 Labels: Update rules for more accurate results
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-04 11:06:40 +01:00
Michael Mayer
e02cbe1b10 Labels: Add context menu
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-04 05:18:22 +01:00
Michael Mayer
afbbfbdc31 Labels: Update rules for more accurate results
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-04 05:04:37 +01:00
Michael Mayer
cf5c0db1d3 Albums: Optimize push updates
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-04 01:39:53 +01:00
Michael Mayer
1c934d48d3 Add ffmpeg and improve UX
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-03 23:40:45 +01:00
Theresa Gresch
a984543b54 Labels: Improve label rules 2020-02-03 20:15:57 +01:00
Theresa Gresch
2509952992 Test: Add test for api/preview 2020-02-03 15:50:46 +01:00
Theresa Gresch
000735188c Test: Add test for api/photo_thumbnail 2020-02-03 15:50:25 +01:00
Theresa Gresch
8ddc758504 Test: Add test for api/photo 2020-02-03 15:50:05 +01:00
Theresa Gresch
879466371e Test: Add test for api/photo_search 2020-02-03 15:49:49 +01:00
Theresa Gresch
63b5d62813 Test: Add test for api/photo_label 2020-02-03 15:49:32 +01:00
Theresa Gresch
4714b50a8f Test: Add test for api/label 2020-02-03 15:49:14 +01:00
Theresa Gresch
b6967671c7 Test: Add test for api/moments_time 2020-02-02 19:40:05 +01:00
Theresa Gresch
8d95900435 Test: Add test for api/label 2020-02-02 19:39:49 +01:00
Theresa Gresch
c4f4d1e578 Test: Add test for api/geo 2020-02-02 18:41:36 +01:00
Theresa Gresch
47ae1e2b65 Test: Add test for api/download 2020-02-02 18:41:18 +01:00
Theresa Gresch
c647908d3d Test: Add test for api/album 2020-02-02 18:41:03 +01:00
Theresa Gresch
14f7702d4f Test: Add test for api/album 2020-02-02 15:50:33 +01:00
Theresa Gresch
7cbdd31793 Test: Add tests to query/photo.go 2020-02-02 13:03:08 +01:00
Theresa Gresch
a3af75c7d7 Test: Add test for invalid query to query/label.go 2020-02-02 13:02:40 +01:00
Theresa Gresch
9069d1312c Test: Add test for invalid query to query/album.go 2020-02-02 13:02:14 +01:00
Theresa Gresch
223e4a5df4 Test: Add NewPhotoSearch function 2020-02-02 13:01:26 +01:00
Michael Mayer
c01e08c6ab Labels: Update rules for more accurate results
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-02 10:52:12 +01:00
Michael Mayer
4c15157878 Labels: Update rules for more accurate results
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-02 09:18:27 +01:00
Michael Mayer
780d859526 Labels: Update rules for more accurate results
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-02 08:43:40 +01:00
Michael Mayer
382a5a89f8 Labels: Update rules for more accurate results
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-02 08:29:59 +01:00
Michael Mayer
aaafa2f1e1 Labels: Update rules for more accurate results
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-02 06:18:16 +01:00
Michael Mayer
718e465201 Thumbnails: Change log level from Debug to Info
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-02 03:53:45 +01:00
Michael Mayer
4efa383c57 API: Proof-of-concept for form handling
We don't want to directly write to models so that only selected fields can be changed and values can be validated for security reasons.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-02 03:36:00 +01:00
Michael Mayer
1cbb0a6d56 Labels: Edit name in overview #212
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-02 02:00:47 +01:00
Michael Mayer
90dd094a21 Sharing: Add accounts table #11
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-02 00:31:09 +01:00
Michael Mayer
32f03ab149 Backend: Run multiple instances of Sips 2020-02-01 23:07:20 +01:00
Michael Mayer
c02b7ed65b Backend: Fix RAW to JPEG conversion with Sips (OS X) 2020-02-01 22:48:07 +01:00
Michael Mayer
a4070cf55c Backend: Store and index original file names during import #184
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-01 20:52:28 +01:00
Michael Mayer
1c592464bf Backend: Index keywords in non-canonical file names
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-01 10:29:44 +01:00
Michael Mayer
73050783f1 Optimize thumbnail generator
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-31 18:34:20 +01:00
Michael Mayer
17e1fb0f8a Docker: Fix demo after renaming import command
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-31 17:29:55 +01:00
Michael Mayer
807d986c64 Change default resample filter from cubic to lanczos
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-31 16:28:52 +01:00
Michael Mayer
a4e2867c86 Split import command into copy and move
Upgraded JS dependencies and did some refactoring along the way...

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-31 15:29:06 +01:00
Michael Mayer
ceb7d258fe Push updates: Add event types for photos & albums
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-30 18:19:26 +01:00
Michael Mayer
11c3ed70e3 Photo edit: Publish event to keep clients in sync
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-30 09:51:23 +01:00
Michael Mayer
d9ec032371 Photo edit: Refresh view after saving
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-30 06:17:02 +01:00
Michael Mayer
ab6680ed8a Import: Check if main file is nil #202
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-30 02:58:17 +01:00
Michael Mayer
777526ce82 Upload: Refactor UX
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-30 01:53:18 +01:00
Michael Mayer
183ebd3f03 Backend: Add FileError col to files table #202
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-29 17:41:51 +01:00
Michael Mayer
e8db8b2a3d Backend: Update label rules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-29 16:50:14 +01:00
Michael Mayer
91beb766fa Edit photo: Improve add and remove labels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-29 16:49:42 +01:00
Michael Mayer
bdf976abd7 Edit photo: Add and remove labels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-29 15:28:20 +01:00
Theresa Gresch
4b2259740b Test: Add test for query/geo 2020-01-28 22:16:59 +01:00
Theresa Gresch
204646babd Test: Add test for query/moments_time.go 2020-01-28 21:02:52 +01:00
Theresa Gresch
fbd5fbdf82 Test: Add test for query/file.go 2020-01-28 20:59:26 +01:00
Theresa Gresch
90bd73abed Test: Add test for query/label.go 2020-01-28 20:59:02 +01:00
Michael Mayer
7ecc146460 Backend: Rename utils.go to auth.go #221
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-28 13:12:29 +01:00
agolebiowska
81a587aa19 Backend: Support encrypted password (#231)
See issue #221, only handles bcrypt
2020-01-28 11:04:10 +01:00
Theresa Gresch
dc240cae8f Add fixtures for categories test 2020-01-27 17:19:47 +01:00
Theresa Gresch
616b16c9e6 Add test for query/album.go 2020-01-27 17:00:36 +01:00
Theresa Gresch
868c7fb38c Add NewAlbumSearch Function 2020-01-27 16:53:09 +01:00
Theresa Gresch
f89ec58a03 Add test for location.go 2020-01-27 15:27:07 +01:00
Theresa Gresch
0868f2a2d2 Add test for label.go 2020-01-27 15:26:48 +01:00
Theresa Gresch
4471a2e07f Add test for mediafile.go 2020-01-27 15:26:30 +01:00
Michael Mayer
e818e8bda1 Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-26 10:55:06 +01:00
Michael Mayer
8c8cb426f8 Update testdata.zip
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-26 10:22:27 +01:00
Michael Mayer
e1ad0684b3 Backend: Add "exif" prefix to log message #219
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-24 18:50:57 +01:00
Michael Mayer
49b329d45c Edit dialog: Make additional fields savable #212 #217
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-24 10:25:08 +01:00
Michael Mayer
d3330877d1 Frontend: Refactor photo model to use primary file as preview #212 #217
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-24 01:33:04 +01:00
thielepaul
f6a611bded Backend: Add API endpoint for photo count per month #152 #154 #218
* Backend: Add API endpoint for photo count per month

* URL: /api/v1/moments/time
2020-01-23 20:05:54 +01:00
Michael Mayer
b49d581850 API: Refactor album & photo not found messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-23 10:16:18 +01:00
Michael Mayer
9da3456813 Refactor API error messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-23 10:10:32 +01:00
Michael Mayer
54d33e2a43 Shorten unique IDs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-23 09:50:43 +01:00
Michael Mayer
2f4840f9c2 Only send full clientConfig if authenticated #216
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-23 07:39:04 +01:00
Michael Mayer
7342d5194a Add Websocket authentication #216
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-22 16:54:01 +01:00
Michael Mayer
f569c3adb6 Require password for all pages (if not running in public mode)
See https://github.com/photoprism/photoprism/issues/167#issuecomment-574866401

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-22 13:43:07 +01:00
Michael Mayer
2f62084d6f Backend: Improve command usage description #187
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-22 12:19:43 +01:00
Michael Mayer
02f605e6a8 Backend: Improve command help #187
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-22 10:35:00 +01:00
linosgian
afa307a28f Add --all flag to index command #187
PR #211
2020-01-22 09:57:49 +01:00
Michael Mayer
7d75683b3a Backend: Add filename to thumb error message #210
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-21 15:21:17 +01:00
Michael Mayer
11067b1ae5 Backend: Improve http log messages #194
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-21 15:12:26 +01:00
Michael Mayer
5fd454b856 Backend: Improve startup error messages #194
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-21 13:59:41 +01:00
Michael Mayer
a50d1b5d07 Backend: Hide archived photos on map
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-21 13:23:24 +01:00
Michael Mayer
5c0a2b70ef Backend: Disable WS origin check #209
Doesn't add much security, need to implement other auth for WS

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-20 20:47:19 +01:00
Theresa Gresch
8e16a9c832 Add test for index_options.go 2020-01-20 18:34:15 +01:00
Theresa Gresch
ff2014a29e Add test for label.go 2020-01-20 18:20:18 +01:00
Theresa Gresch
0260f1baa5 Add test for colors.go 2020-01-20 17:44:05 +01:00
Theresa Gresch
2c3d462390 Add test for nsfw.go 2020-01-20 17:43:43 +01:00
Michael Mayer
1f4dc66df6 Docker: Downgrade darktable-cli to 3.0.0 #109
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-20 01:18:36 +01:00
Michael Mayer
c0a694cc24 Backend: Update label rules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-19 22:34:08 +01:00
Theresa Gresch
6b1babe0ba Improve test coverage (#206)
* #83 Add NewLocation() function

* #83 Add NewPlace() function

* #83 Add tests for maps/places/location

* #83 Add tests for maps/location

* #83 Add tests for internal/config

* #83 Add test for meta/exif

* #83 Add testfiles
2020-01-19 13:27:15 +01:00
Michael Mayer
aafeda0919 Backend: Use goroutines image format conversion
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-19 12:50:44 +01:00
Michael Mayer
492a9839ff Backend: Increase location search radius to from 5 to 7
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-17 02:41:35 +01:00
Michael Mayer
64a16a27b0 Backend: Upgrade darktable and don't run more than one command at once #202
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-17 01:37:06 +01:00
Michael Mayer
9055581690 Backend: Re-add imports removed by make fmt (why?)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-15 20:05:29 +01:00
Michael Mayer
09bac902d0 Code clean-up (make fmt)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-15 19:59:25 +01:00
Michael Mayer
8a476edc2a Maps: Fix marker positions and refresh after loading #199
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-15 19:45:54 +01:00
Michael Mayer
e78080b3a6 Backend: Increase search radius for S2 cell IDs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-15 12:30:50 +01:00
Michael Mayer
624ade62c6 Backend: Fix indexing after import of non-JPEG files #196
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-15 05:05:47 +01:00
Michael Mayer
c31470dafb Initial code for new Places UI
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-15 04:04:33 +01:00
Michael Mayer
bba914878a Backend: Remove go-xmp import
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-14 03:41:40 +01:00
Dustin Oprea
9b1bf83abe Optimize EXIF integration (#192)
Use JPEG- and PNG-specific parsing if possible and brute-force search
only for others.

- Adopted go-exif/v2.

Fixes #172
2020-01-14 01:47:26 +01:00
Michael Mayer
4a223f133f Backend: Rename metadata example files #68
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 23:37:05 +01:00
Michael Mayer
4c8e7b6b15 Backend: Revert change in exif.go #68
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 23:19:06 +01:00
Michael Mayer
c978fa00f1 Backend: Proof-of-concept for indexing XMP files #68
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 23:14:10 +01:00
Michael Mayer
9cc918ce0d Backend: Update label rules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 20:32:37 +01:00
Michael Mayer
b5424d3b22 Backend: Disable NSFW detection by default to boost performance
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 16:48:32 +01:00
Michael Mayer
74a14e265f Backend: Rename "thumb-algorithm" to "thumb-filter" #157
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 13:46:05 +01:00
Michael Mayer
5bada6c339 Backend: Update label rules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 13:30:42 +01:00
Michael Mayer
ac7382971d Backend: Add blackman resample filter and set default to cubic #157
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 12:25:16 +01:00
Michael Mayer
c6866bb746 Backend: Update label rules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 11:08:50 +01:00
Michael Mayer
e184cad553 Backend: Add thumb config options and lower defaults #157
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 11:07:09 +01:00
Michael Mayer
106e9c3e1e Backend: Remove OLC code
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-12 17:23:41 +01:00
Theresa Gresch
9c767dbf39 Add test for classify/labels 2020-01-12 15:43:14 +01:00
Theresa Gresch
6bf12c4d12 Add test for classify/label_rule 2020-01-12 15:43:14 +01:00
Michael Mayer
90df882376 Backend: Update label rules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-12 15:39:45 +01:00
Michael Mayer
3e4e72b00f Backend: Move capture package to pkg/
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-12 14:25:58 +01:00
Michael Mayer
f8a45b14d9 Backend: Move reusable packages to pkg/
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-12 14:00:56 +01:00
Michael Mayer
fbea88bd74 Backend: Add PPID() to rnd package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-12 12:32:24 +01:00
Michael Mayer
d6b459186e Backend: Ignore label "ball"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-12 12:20:53 +01:00
Michael Mayer
387abb915b Backend: Add TitlesAndRanks to txt package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-12 12:20:10 +01:00
Michael Mayer
f7e865a979 Backend: Make fmt
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-11 02:33:07 +01:00
Michael Mayer
ba9b3cad72 Backend: Increase S2 cell level from 18 to 21 and remove suburb
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-11 01:59:43 +01:00
Kelvin
cd7339d8a0 [Minor/Wording] Update photo.go url route docs (#186)
Minor change.
2020-01-10 10:43:51 +01:00
Michael Mayer
17d7551be5 Frontend: Rename "archive" to "hide" for soft delete #185
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-09 02:09:54 +01:00
Michael Mayer
e9874d6e0c Backend: Compile labels into source #160
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-09 01:21:09 +01:00
Michael Mayer
182b169ac0 Backend: Improve thumbnail rendering #157
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-08 22:29:40 +01:00
Michael Mayer
719fd1a811 Backend: Use mutex in convert so that it can be canceled
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-08 20:51:49 +01:00
Michael Mayer
b37d4472e4 Backend: Use original file if thumb size exceeds limit #172
Plus some mutex and config refactoring along the way...

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-08 19:51:21 +01:00
Michael Mayer
21451e8263 Backend: Code refactoring and clean-up #172
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-08 09:27:39 +01:00
Michael Mayer
b21ad9bece Backend: Rename MediaFile.Exif() to MetaData() #172
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-07 18:13:53 +01:00
Michael Mayer
c147eee30f Backend: Add stub for meta package #172
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-07 17:36:49 +01:00
Michael Mayer
fc65ec61f7 Backend: Add workers config parameter
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 23:43:26 +01:00
Theresa Gresch
4cf7cd98b1 Add test for country.go 2020-01-06 20:16:31 +01:00
Michael Mayer
3d990fc3fd Backend: Add support for PNG, TIFF, BMP and GIF #38 #156
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 17:50:05 +01:00
Michael Mayer
49de1e83aa Backend: Remove filetypes.go from photoprism package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 15:42:00 +01:00
Michael Mayer
f6d4e62ea8 Backend: Split up "util" package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 15:22:46 +01:00
Michael Mayer
e43983d579 Backend: Refactor thumbnail package #157
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 14:32:15 +01:00
Michael Mayer
17f6cd9593 Backend: Fix error handling in location lookup #180
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 11:12:26 +01:00
Michael Mayer
5ec2d9e9a4 Backend: Add config parameters #99 #157 #180
This commit adds config parameters for thumbnail quality, max thumbnail size and geocoding api as well as a flag to to disable TensorFlow.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 06:59:35 +01:00
Michael Mayer
10b143f8ae Implement restore for hidden (deleted) photos #167
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 05:45:03 +01:00
Michael Mayer
582113fed4 Backend: Add write mutex to entities and improve test fixtures #164
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 04:24:49 +01:00
Michael Mayer
01ca94d536 Backend: Initialize test db with fixtures #84 #129
Fixtures can be found in assets/resources/examples/fixtures.sql and must be maintained manually for now

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 02:14:17 +01:00
Michael Mayer
0df82a27cd Backend: Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-05 14:26:13 +01:00
Michael Mayer
f89a3d7bb1 Backend: Rename repo package to query
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-05 14:18:40 +01:00
Michael Mayer
a3b3136498 Backend: Add "idx_photos_taken_uuid" for consistent sorting by time
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-05 14:09:17 +01:00
Michael Mayer
474c7a97c9 Backend: Improve photo title fallback
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-04 13:55:39 +01:00
Michael Mayer
be79dd521b Backend: Add stopwords for fulltext indexing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-04 12:10:05 +01:00
Michael Mayer
c87ec0a07a Backend: Add stopwords for fulltext indexing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-04 12:09:44 +01:00
Michael Mayer
dc0ba7b808 Backend: Fix config_test.go
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-04 08:10:47 +01:00
Michael Mayer
e27835fb21 Backend: Fix import / index bugs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-04 07:56:56 +01:00
Michael Mayer
28f62cb9ac Backend: Add mutex to NSFW detector initialization
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 06:16:58 +01:00
Michael Mayer
29db7abfd1 Backend: Add mutex for location updates
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 06:10:28 +01:00
Michael Mayer
4263061a89 Backend: Fix index events after refactoring
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 05:38:21 +01:00
Michael Mayer
b87465f776 Backend: Fix index API after refactoring
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 05:28:40 +01:00
Michael Mayer
f69d970f5a Backend: Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 05:12:18 +01:00
Michael Mayer
057204d379 Backend: Major code refactoring
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 05:03:47 +01:00
Michael Mayer
32fdb72ac9 Backend: Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 04:08:33 +01:00
Michael Mayer
6478417d23 Backend: Remove IndexRelated() (not needed anymore)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 04:01:40 +01:00
Michael Mayer
c74bb7d13a Import: Use goroutines and channels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 03:57:28 +01:00
Michael Mayer
d5d3fa8131 Indexer: Use goroutines and channels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 02:58:26 +01:00
Michael Mayer
a2db77af86 Backend: Refactor RelatedFiles()
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 00:45:58 +01:00
Michael Mayer
357b557aac Backend: Refactor config package and add Workers() func
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 00:03:07 +01:00
Michael Mayer
6da8bd098a Backend: Add support for new Places API #173
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-31 07:16:11 +01:00
Michael Mayer
cf909e2a4e Backend: Use S2 tokens for location and place ID #173
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-31 01:34:27 +01:00
Michael Mayer
7d5bc0619e Add "experimental" feature flag #152 #153 #154
Use this flag to test new features before they are stable.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-30 12:38:11 +01:00
Michael Mayer
843ac27e4a First draft for a "Discover" area #153
It should enable users to find photos by similarity, by color, by season or just randomly.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-29 15:35:23 +01:00
Michael Mayer
a559c0b23c Backend: Rename color "dark" back to "black"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-29 01:50:23 +01:00
Michael Mayer
cedb222c12 Backend: Move brown next to orange in color list
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-29 00:28:21 +01:00
Michael Mayer
a66d0887bd Add lens, category, color and year search filters
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-28 23:06:44 +01:00
Michael Mayer
fe705bb512 Code clean-up (make fmt)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-28 20:39:51 +01:00
Michael Mayer
ca8cfffc24 Backend: Prepare database for advanced filtering and grouping #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-28 20:24:20 +01:00
Michael Mayer
de6503646c Backend: Refactor location
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-28 12:28:06 +01:00
Michael Mayer
211ed6acb4 Backend: Fix usage description of NSFW flags #170
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-28 09:56:35 +01:00
Michael Mayer
bdf0cde8a6 Backend: Add session package #169
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-28 09:48:36 +01:00
Michael Mayer
875245f1d4 Backend: Use uint64 for location IDs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-27 23:58:51 +01:00
Michael Mayer
e93f49f87e Backend: Fix olc "out of range" log message
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-27 23:22:09 +01:00
Michael Mayer
e7f757a631 Backend: Refactor position data in client config
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-27 11:17:55 +01:00
Michael Mayer
14617b4387 Backend: Fix country list order
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-27 08:18:10 +01:00
Michael Mayer
a8a5384759 Locations: Reduce S2 level to 15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-27 07:25:40 +01:00
Michael Mayer
04cb2be1d4 Frontend: Edit album name
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-27 07:02:49 +01:00
Michael Mayer
366c70d992 Optimize performance and data structures
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-27 05:18:52 +01:00
Theresa Gresch
f433214c4d Add test for maps/location 2019-12-22 21:39:53 +01:00
Theresa Gresch
1e9fdf260a Add test for osm/title 2019-12-22 21:39:25 +01:00
Theresa Gresch
c7bb862008 Add test for osm/location 2019-12-22 21:38:55 +01:00
Theresa Gresch
a3e9e1a39a Add test for osm/categories 2019-12-22 21:38:33 +01:00
Theresa Gresch
6a480edba1 Add tests for test.go 2019-12-22 19:21:47 +01:00
Theresa Gresch
228682400b Add tests for config.go 2019-12-22 19:21:30 +01:00
Michael Mayer
8e15c1d6fd Code clean-up (make fmt)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-21 17:24:29 +01:00
Michael Mayer
974880401e Frontend: Make new albums favorite by default and refresh navigation
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-21 17:18:47 +01:00
Michael Mayer
245c8beb69 OSM: Add Village field to Address struct #166
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-21 16:22:24 +01:00
Michael Mayer
768b039889 Backend: Rename "black" to "dark" and "white" to "bright"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-21 14:29:08 +01:00
Michael Mayer
c4818417ee Backend: Remove drawing label
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-21 11:23:52 +01:00
Michael Mayer
1e7c0c2435 Backend: Improve location hashing and categories
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-20 23:05:44 +01:00
Michael Mayer
f3cf300590 Backend: Refactor location entity and indexer
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-20 20:23:16 +01:00
Michael Mayer
e55bc8330c Backend: Refactor maps and osm packages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-20 12:20:35 +01:00
Michael Mayer
1d0b1f8533 Backend: Refactor maps and osm packages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-20 12:04:26 +01:00
Michael Mayer
52b57e9fba Backend: Add maps package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-20 11:30:58 +01:00
Michael Mayer
410e82f5c3 Backend: Add OpenStreetMap package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-19 17:17:13 +01:00
Michael Mayer
be2376d986 Backend: Rename forms_test.go to form_test.go
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-19 17:16:35 +01:00
Michael Mayer
d0104560de Labels: Update labels.yml and location.go
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-19 12:31:13 +01:00
Michael Mayer
fc5d327494 Photo: DATETIME instead of TIMESTAMP for TakenAt #162
Error logging and labels were also improved along the way.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-19 09:37:10 +01:00
Theresa Gresch
10f3c11c61 Add test for settings.go 2019-12-17 19:29:43 +01:00
Theresa Gresch
2658767d72 Add test for entity/share.go 2019-12-17 18:28:47 +01:00
Theresa Gresch
98ebf18ff5 Add test for entity/photo_label.go 2019-12-17 18:28:07 +01:00
Theresa Gresch
b5336eebb0 Add test for entity/photo_keyword.go 2019-12-17 18:27:48 +01:00
Theresa Gresch
cf08fd4256 Add test for entity/photo_album.go 2019-12-17 18:27:25 +01:00
Theresa Gresch
156a13358e Add test for entity/location.go 2019-12-17 18:27:08 +01:00
Theresa Gresch
8cb5041f96 Add test for entity/lens.go 2019-12-17 18:26:50 +01:00
Theresa Gresch
a9f55ed73f Add test for entity/keyword.go 2019-12-17 18:26:33 +01:00
Theresa Gresch
11f29ba5e4 Add test for entity/file.go 2019-12-17 18:26:13 +01:00
Theresa Gresch
da2aefa446 Add test for entity/event.go 2019-12-17 18:25:56 +01:00
Theresa Gresch
2d12e6aa72 Add test for entity/category.go 2019-12-17 18:25:39 +01:00