Commit graph

2155 commits

Author SHA1 Message Date
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
Theresa Gresch 1b78ae2513 Add test for entity/album.go 2019-12-17 18:25:13 +01:00
Theresa Gresch 4c5219c4f4 Add test for strings.go 2019-12-17 17:03:56 +01:00
Theresa Gresch dffd61037a Add test for token.go 2019-12-17 17:03:36 +01:00
Theresa Gresch 1f40f7eab7 Add test for mime.go 2019-12-17 17:03:14 +01:00
Theresa Gresch 6e53a88708 Add test for keywords.go 2019-12-17 17:02:56 +01:00
Michael Mayer f39d34b43a Places: Improve UX
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-17 15:28:54 +01:00
Michael Mayer ed182537f1 Frontend: Add button to show all labels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-17 07:13:09 +01:00
Michael Mayer 4ab44c5c23 Frontend: Add photos to new album
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-17 04:39:23 +01:00
Michael Mayer 1cc8cefc92 Labels: Add cache, fix bugs & improve SQL queries
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-16 23:33:52 +01:00
Michael Mayer 2d490812d2 Backend: Higher default threshold for labels #160
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-16 20:22:46 +01:00
Michael Mayer 2281c0c675 Backend: Refactor API source structure
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-16 11:04:49 +01:00
Michael Mayer 5b44d3137f Backend: Exclude location types from labels #160
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-16 10:34:11 +01:00
Michael Mayer e9c8ca3e54 Backend: Reduce labels and sort them by name #160
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-15 22:49:37 +01:00
Michael Mayer 06b0296797 Backend: Only send count.labels event if priority >= 0
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-15 18:46:20 +01:00
Michael Mayer 4b7857891a Backend: Fix tensorflow_test.go
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-15 18:36:27 +01:00
Michael Mayer a4b475cbd6 Backend: Improve classification labels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-15 18:26:16 +01:00
Michael Mayer b5da75a2e6 Backend: Delete upload folder after import #158
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-15 17:43:17 +01:00
Michael Mayer 016d90054e Backend: Implement NSFW config flags
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-15 17:19:16 +01:00
Theresa Gresch 94c3f534be Make label search working for umlauts 2019-12-15 13:29:18 +01:00
Theresa Gresch 67cf854ae8 Make album search working for umlauts 2019-12-15 13:25:23 +01:00
Theresa Gresch 08d2b29219 Add test to search for umlauts to album search 2019-12-15 13:24:27 +01:00
Theresa Gresch 0a86cad638 Add test to search for umlauts to label search 2019-12-15 13:24:10 +01:00
Theresa Gresch 1053cd0fe3 Add test to search for umlauts to photo search 2019-12-15 13:23:45 +01:00
Michael Mayer d2eac5aacf Backend: Improve indexer and labels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-15 11:52:10 +01:00
Michael Mayer 8cce9f7c8c Backend: Set NSFW flag while indexing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-14 20:35:14 +01:00
Michael Mayer 78eae2f14e Backend: Add NSFW detector
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-14 15:41:37 +01:00
Michael Mayer 9987d65933 Backend: Remove NSFW code from photoprism package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-14 14:38:43 +01:00
Michael Mayer 63dab60a5e Backend: Prepare TensorFlow for NSFW model
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-13 16:25:47 +01:00
Michael Mayer 13536bb8b2 Backend: Log indexing duration for files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-13 07:54:05 +01:00
Michael Mayer f92c21aef9 Indexer: Improve labels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-13 03:07:26 +01:00
Michael Mayer 645d02d782 Indexer: Improve titles, labels and performance
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-12 16:31:55 +01:00
Michael Mayer 845cc5a77d Backend: API stub for editing photo metadata
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 19:11:44 +01:00
Michael Mayer 4e06deda76 Backend: Rename "models" package to "entity"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 16:55:18 +01:00
Michael Mayer dac272468e Sharing: Render preview image & site info
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 14:10:20 +01:00
Michael Mayer a24bf5611a Backend: Add test workaround, solution requires db fixtures
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 08:36:14 +01:00
Michael Mayer a702844782 Improve repo test logging
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 08:18:48 +01:00
Michael Mayer d4b3e456f7 Backend: Move SQL queries to repo package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 07:37:39 +01:00
Michael Mayer 458a2afbd4 Use Errorf() instead of Printf() for panic log
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 05:38:03 +01:00
Michael Mayer 9d3bb8fb73 Indexing: Disable "convert to jpeg" if library is read only (backend)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 05:04:41 +01:00
Michael Mayer 592a6eac7a Indexing: Add "Groom metadata" option to UI
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 04:57:32 +01:00
Michael Mayer 559da16f23 Indexing: Move log
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 04:37:15 +01:00
Michael Mayer 288e40aa83 Indexing: Set photo title default to "Unknown"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 04:35:10 +01:00
Michael Mayer 27ca260942 Indexing: Add "convert to jpeg" and "create thumbnails" options
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 04:12:54 +01:00
Michael Mayer 9086bd18f6 Search for all words that start with query string
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-10 17:12:02 +01:00
Michael Mayer dc46ab9bc8 Fix indexer issues & use go generate to create stopwords map
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-10 16:58:01 +01:00
Michael Mayer 6d4e42c79e Added option to skip indexing existing files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-09 08:04:41 +01:00
Michael Mayer 760df93214 Backend: Only return distinct labels and keywords
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-09 04:48:30 +01:00
Michael Mayer 84bf4700ec Fix search query parser (unicode)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-08 22:45:45 +01:00
Michael Mayer c796431e1b Faster keyword search (proof-of-concept)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-08 15:05:35 +01:00
Michael Mayer 661f1bfa9b Albums: Select, delete & download #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-06 16:47:30 +01:00
Michael Mayer a32970a888 Albums: Delete API #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-06 11:56:24 +01:00
Michael Mayer af154d2f47 Backend: Add/update db columns for sharing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-06 10:26:57 +01:00
Michael Mayer 47450cad91 Albums: Download single file #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-05 21:06:53 +01:00
Michael Mayer 1e4d272ee7 Albums: Change zip file name and remove downloaded archives #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-05 19:49:05 +01:00
Michael Mayer 25d0e92036 Albums: Zip download #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-05 19:21:35 +01:00
Michael Mayer 85489bf5e1 Albums: Remove photo #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-05 14:11:45 +01:00
Michael Mayer 77af67dd36 Albums: Refactor API #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-05 12:10:30 +01:00
Michael Mayer 309317d23d Backend: Improve log messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-05 02:52:00 +01:00
Michael Mayer fc3d319dfd Backend: Fix API after switching to UUIDs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-04 16:47:47 +01:00
Michael Mayer 2c95d73520 Albums: Add photos by UUID #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-04 15:14:04 +01:00
Michael Mayer c1088d4b54 Albums: Use month and year as default name #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-04 12:11:11 +01:00
Michael Mayer ded37fc486 Albums: Add BatchPhotosAlbum API #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-04 01:46:17 +01:00
Michael Mayer 6f3593ec9a Albums: Use album slug in URL #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-03 23:55:24 +01:00
Michael Mayer d3cdffb0a0 Albums: Routing & navigation #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-03 23:17:55 +01:00
Michael Mayer c584a79a6f Add album name edit dialog #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-03 21:25:40 +01:00
Michael Mayer 7339e67201 Backend: Fix profiling timer test
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-03 13:21:41 +01:00
Michael Mayer 2b6b1b9f79 API: Improve logging
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-03 12:51:23 +01:00
Michael Mayer cd461d5594 Frontend: Real-time logging
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-02 13:14:01 +01:00
Michael Mayer a2963e9fc6 Add event hook for sending logs to frontend
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-02 00:30:58 +01:00
Michael Mayer fcca602bfc Import: Change filename after removing old file #136
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-01 20:24:19 +01:00
Michael Mayer 895a1cf175 Import: Fix for "invalid cross-device link" error #136
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-01 16:23:18 +01:00
Michael Mayer 1547ee2145 Refactor clientConfig (frontend configuration)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-17 06:21:43 +01:00
Michael Mayer 5a85fe9f83 Save and load settings to / from settings.yml
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-17 03:08:13 +01:00
Michael Mayer 53078f41a0 Frontend: Run import / index in background (cancel request)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-17 02:11:27 +01:00
Michael Mayer 98cb0b2c28 Improve notifications for import / index
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-17 00:55:40 +01:00
Michael Mayer 25742c9f1e Fix: Don't change private together with story flag
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-16 23:56:47 +01:00
Michael Mayer 2c3d6070cc Code clean-up: Rename alert to notify
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-16 23:55:56 +01:00
Michael Mayer aebbb17a53 Update client config after upload, import or index
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-16 23:22:50 +01:00
Michael Mayer c602ce82b8 Fix upload page
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-16 17:48:51 +01:00
Michael Mayer 65f084193e Add event hub & websocket for push notifications
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-16 16:06:34 +01:00
Michael Mayer f88c574f3f Improve HTTP header auth
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-12 05:49:10 +01:00
Michael Mayer 0becb8a92d Stub for settings page & api
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-12 04:34:37 +01:00
Michael Mayer 8e1d872a7b Canonical API headers
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-11 23:38:43 +01:00
Michael Mayer a14b74dfa6 Config: Add public flag to disable auth #16
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-11 21:10:41 +01:00
Michael Mayer 56c97ec057 Basic login for admin #16
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-08 06:53:40 +01:00
Michael Mayer 49c7fafa87 Upgrade from Mysql 8.0 to MariaDB 10.4
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-07 20:31:50 +01:00
Michael Mayer 3fedffe21b Index F Number instead of Aperture
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-07 19:00:26 +01:00
Theresa Gresch 37602a0956 Feature/improve support for exif (#149)
* #13 Extract flash and imageDescription information from exif

* #13 Add tests for exif.go
2019-11-07 14:22:45 +01:00
Michael Mayer b194090d6b Make sure TakenAt and TakenAtLocal are always set
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-09-19 15:46:04 -07:00
Michael Mayer 0f47c84138 Implement time zone support for "TakenAt"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-09-19 14:23:39 -07:00
vijay korimilli 31d5f30637 Handle filenames with special characters #131 2019-09-08 05:53:04 +02:00
Michael Mayer de1a02694c Mediafile: Remove test for filesystem case-sensitivity #126
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-07-18 16:24:29 +02:00
Theresa Gresch 01b35d0cf5 Add tests for thumbnail api 2019-07-17 17:38:51 +02:00
Theresa Gresch c7e7014c3a Add tests for labels api 2019-07-17 17:16:33 +02:00
Theresa Gresch 43aebf6066 Add util_test.go to log test logs 2019-07-17 17:03:12 +02:00
Theresa Gresch 418b638999 Add test for time util 2019-07-17 17:01:53 +02:00
Theresa Gresch 7fc789e639 Add tests for album api 2019-07-17 16:46:54 +02:00
Theresa Gresch 4811fc9146 Add test conditions to photos api test 2019-07-17 16:44:21 +02:00
Theresa Gresch f527dbd272 Add test condition to IsSeparator test 2019-07-17 15:34:34 +02:00
Theresa Gresch 5bc213f6f2 Adapt DirectoryIsEmpty test to create and delete empty directory 2019-07-17 14:59:29 +02:00
Theresa Gresch 8f52e57d9c Add tests for file util 2019-07-17 14:33:01 +02:00
Theresa Gresch 411d998ac6 Add more test conditions to strings test 2019-07-17 13:46:21 +02:00
Theresa Gresch f7063e7643 Add test for strings functions 2019-07-17 13:26:20 +02:00
Theresa Gresch 429f226c5c Add test for hash function 2019-07-17 13:22:55 +02:00
Theresa Gresch a995bb87de Add test for makeTensor 2019-07-17 12:22:50 +02:00
Theresa Gresch 30013b6ea7 Add NewTestParamsError and NewTestErrorConfig function 2019-07-17 12:00:15 +02:00
Theresa Gresch e66f795783 Add test for loadLabels function 2019-07-17 11:59:21 +02:00
Theresa Gresch d63f4ec09f Created loadLabels function 2019-07-17 11:53:33 +02:00
Theresa Gresch 73b16162ab Add test for bestLabels function 2019-07-17 11:52:26 +02:00
Theresa Gresch 1972662669 Add test for loadlLabelRule function 2019-07-17 10:59:19 +02:00
Theresa Gresch 4aa110396e Add tests for LoadLabelRules, LabelsFromFile, Labels and LoadModel functions 2019-07-17 10:48:23 +02:00
Theresa Gresch e782abd7e3 Add new test condition to openstreetmap test 2019-07-17 09:53:53 +02:00
Theresa Gresch a6bf3161c2 Add test for openstreetmap.go 2019-07-17 09:49:00 +02:00
Theresa Gresch 99738790cb Refactored order of tests in mediafile_test.go 2019-07-16 17:27:51 +02:00
Theresa Gresch ffcb498fce Add tests for HastTimeAndPlace, Aperture, Iso and Exposure functions 2019-07-16 17:11:22 +02:00
Theresa Gresch f2b6d4f31f Add tests for TimeZone, CameraModel, CameraMake, LensModel, LensMake and FocalLength functions 2019-07-16 17:02:40 +02:00
Theresa Gresch 253923ce48 Add tests for Extension, Basename and Directory functions of mediafiles 2019-07-16 16:45:32 +02:00
Theresa Gresch 3c7dba5d51 Add tests for decodeDimension, Jpeg, IsPhoto, IsRaw, IsHEIF, HasType and IsJpeg functions 2019-07-16 16:25:36 +02:00
Theresa Gresch bd5d32fa84 Add tests for aspect ratio, height and orientation function to mediafile_test.go 2019-07-16 14:12:10 +02:00
Theresa Gresch 7f444185c0 Add test condition for camera model 2019-07-16 14:11:33 +02:00
Theresa Gresch 8d7cbe3cb0 Add test photoLabel model 2019-07-16 13:10:31 +02:00
Theresa Gresch d2c9b73a38 Add test for lens model 2019-07-16 13:02:42 +02:00
Theresa Gresch adead738cd Add tests for label model 2019-07-16 12:57:55 +02:00
Theresa Gresch 2eb0011377 Add test for country model 2019-07-16 12:53:23 +02:00
Theresa Gresch 67c21ab0d1 Add tests for album model 2019-07-16 12:44:13 +02:00
Theresa Gresch 1fec474bd0 Add tests for camera model 2019-07-16 12:36:30 +02:00
Theresa Gresch ab9938999c Add tests for label search form 2019-07-16 11:18:30 +02:00
Theresa Gresch 8cedf9d192 Add tests for album search form 2019-07-16 11:17:52 +02:00
Theresa Gresch 0b26f813ca Add more test conditions to photos search form 2019-07-16 11:17:33 +02:00
Theresa Gresch 81f6ded2cc Add tests for photos search form 2019-07-16 10:41:30 +02:00
Michael Mayer 9b73c91ed5 Remove index from label name (use slug instead)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-07-15 23:11:29 +02:00
Michael Mayer 7afb7a87db Search performance improvements (indexes and labels) 2019-07-15 22:54:54 +02:00
Michael Mayer b628592510 Fix TestConfig_ClientConfig 2019-07-15 21:19:11 +02:00
Michael Mayer 61c1478533 Fix for finding existing photo by time and place 2019-07-15 20:42:49 +02:00
Michael Mayer c531c5aec9 Use test config for TestConfig_Db and TestConfig_CloseDb 2019-07-14 19:06:44 +02:00
Theresa Gresch 801097c368 Revert change to Db function 2019-07-10 10:33:16 +02:00
Theresa Gresch 31b29fa42b Adapt Db function to return nil in case the db is not initialized 2019-07-10 09:10:46 +02:00
Theresa Gresch 73d5871886 Add tests for config.go 2019-07-10 09:10:02 +02:00
Theresa Gresch 9c6c6f2539 Add tests for config.go 2019-07-09 17:43:34 +02:00
Theresa Gresch 3813ee327a Add tests for config.co 2019-07-09 16:57:37 +02:00
Theresa Gresch 92e03b2069 Add test for indexAll function 2019-07-09 14:30:08 +02:00
Theresa Gresch 775a48727b Add assertion for chroma hex value to colors test 2019-07-09 14:16:41 +02:00
Theresa Gresch 064a5b7c09 Add tests ThumbnailFromFile and CreateThumbnail functions 2019-07-09 13:55:31 +02:00
Theresa Gresch 7e537014e2 Add test for ThumbnailFilename function 2019-07-09 13:26:54 +02:00
Theresa Gresch 46f997e8ba Add tests for invalid thumbnail type and invalid image format for thumbnail function 2019-07-09 12:46:43 +02:00
Theresa Gresch b99753b051 Add tests for more search queries 2019-07-08 17:42:06 +02:00
Theresa Gresch 0db08e26d2 Add tests for different search queries 2019-07-08 17:25:51 +02:00
Theresa Gresch f7c18a17f8 Use more suited testdata in lables test 2019-07-08 16:23:34 +02:00
Theresa Gresch 03d7e6af2f Add tests for mediafile.go 2019-07-08 16:09:10 +02:00
Theresa Gresch 416c8ccec0 Refactored RelativeFilename and RelativePath function to be able to deal with paths ending with or without slashes 2019-07-08 16:08:32 +02:00
Theresa Gresch 3dc9abea67 Add tests for label.go 2019-07-08 14:09:21 +02:00
Theresa Gresch 61b5bb028c Add tests for mediafile 2019-07-05 15:56:21 +02:00
Theresa Gresch f85b7904a3 Adapt importer test to use files from new smaller testdata 2019-07-05 13:48:34 +02:00
Theresa Gresch 3a10911659 Adapt converter test to use files from new smaller testdata 2019-07-05 13:48:13 +02:00
Theresa Gresch a85805c8e1 Update testdata hash 2019-07-05 13:47:48 +02:00
Theresa Gresch 0173d4943a Use example data instead of testdata in thumbnail tests 2019-07-05 12:38:59 +02:00
Theresa Gresch a5152e71b0 Remove initialize testdata in search tests 2019-07-05 12:35:57 +02:00
Theresa Gresch 687a1829eb Remove logger declaration from time.go as it is already defined in utils.go 2019-07-05 12:32:59 +02:00
Theresa Gresch 562341e197 Add logger to util.go 2019-07-05 12:32:06 +02:00
Theresa Gresch fa332454c5 Use file basename in colors test so that assertion gets executed independent from the files location 2019-07-05 10:36:19 +02:00
Theresa Gresch 10a18914da Add HEIF as possible main file format 2019-07-04 18:39:54 +02:00
Theresa Gresch 77bbb1ee84 Add check for HEIF file to converter to convert HEIF images to jpg 2019-07-04 18:38:26 +02:00
Theresa Gresch c379a936e2 Convert HEIF files to jpeg during import 2019-07-04 18:37:20 +02:00
Theresa Gresch d145e9258a Make HEIF files compatible with exif functionality 2019-07-04 18:35:14 +02:00
Theresa Gresch 23e0dde0e3 Renamed ctx to conf in search test 2019-07-04 09:52:30 +02:00
Theresa Gresch 4e088ef7b7 Correct spelling mistake (Change Filemame to Filename) in converter test 2019-07-04 09:51:43 +02:00
Theresa Gresch 4b44373253 Use image from examples to prevent use of initialize testdata in tensorflow test to make test faster 2019-07-04 09:50:39 +02:00
Theresa Gresch 516c9a892e Use images from examples to prevent use of initialize testdata in mediafile test to make test faster 2019-07-04 09:49:32 +02:00
Theresa Gresch 31896eda13 Use images from example data to prevent initializing testdata in colors test to make test faster 2019-07-04 09:48:09 +02:00
Michael Mayer f9c18446bf PhotoLabel: Change index order for improved performance #121 2019-07-03 19:58:53 +02:00
Michael Mayer 10269c6f6c Code clean-up in commands 2019-07-03 19:56:47 +02:00
Michael Mayer 909b1d9f8a Mediafile: Basename should also trim " copy" at the end of file names 2019-07-03 10:55:46 +02:00
Michael Mayer 8f35907533 Importer: Revert replace 2019-07-03 09:49:53 +02:00
Michael Mayer 874e728c9c Importer: DestinationFilename should always return file name 2019-07-03 09:43:11 +02:00
Michael Mayer d93acb0a63 Importer: Skip / delete files that already exist and check for errors 2019-07-03 09:27:30 +02:00
Michael Mayer cf61c66ce5 Remove SQL_CALC_FOUND_ROWS from search query #121 2019-07-03 07:56:44 +02:00
Michael Mayer d596818928 Indexer: Fix query for existing files #56 2019-07-02 23:56:47 +02:00
Michael Mayer d4526bedd2 Read-only mode: Disable upload & import in frontend and show info #56 2019-07-02 23:01:56 +02:00
Michael Mayer 1c4bd8e218 Fix for photo model (typo in gorm annotations) 2019-07-02 22:14:20 +02:00
Michael Mayer bc65ad57d5 Disable import, upload and raw converter in read-only mode #56 2019-07-02 22:09:06 +02:00
Michael Mayer b976c095f3 Code clean-up #56 2019-07-02 22:09:06 +02:00
Michael Mayer 772251ca0d Revert extended names for imported files and fix related test #56 2019-07-02 22:09:06 +02:00
Michael Mayer 89b7886581 Add index to photo_lat, photo_long and taken_at 2019-07-02 22:09:06 +02:00
Michael Mayer 5662fc35ed Refactor indexer in preparation to read only mode #56 2019-07-02 22:09:06 +02:00
Michael Mayer 3655ebf9d8 Use daemon server mode to run acceptance tests #58 2019-06-30 05:38:39 +02:00
Michael Mayer 74f8044cd2 Database: Change init log message 2019-06-30 00:21:02 +02:00
Michael Mayer 5e37cd54fc Update Docker images: new directory structure 2019-06-29 23:27:42 +02:00
Michael Mayer ad93ad1289 Use dsoprea/go-exif to parse Exif tags #21 2019-06-20 05:38:23 +02:00
Vedhavyas Singareddi f63efc5f51 Implement daemon mode (#119)
* add daemon process
* add daemon stop command
* add daemon log to log file
* check for running daemons
* minor changes
2019-06-20 01:11:03 +02:00
Michael Mayer dd10265ae8 Frontend: Add story toggle button to clipboard menu 2019-06-18 07:28:30 +02:00
Michael Mayer df5aa57e68 Albums: Code clean-up and small fixes #15 2019-06-18 06:37:10 +02:00
Michael Mayer 4553344550 Add event table 2019-06-17 22:39:32 +02:00
Michael Mayer 6404b76c97 Add views counter to album, photo and share 2019-06-17 22:39:32 +02:00
Michael Mayer 27530bc0be Add shares table for sharing photos and albums 2019-06-17 22:39:32 +02:00
Michael Mayer bb8c2dbbea Photos: Add story flag for blogging / timeline 2019-06-17 22:39:32 +02:00
Theresa Gresch 5f63f2999c Implement first album functionality 2019-06-17 21:45:06 +02:00
Michael Mayer e2c630e57c Change chroma max value from 16 to 100 for better results 2019-06-15 16:11:55 -07:00
Michael Mayer 3ee3946011 Proof-of-concept for import and index from Web UI 2019-06-15 11:03:54 -07:00
Michael Mayer 0f6867af79 Photos: Add private and sensitive flag 2019-06-14 18:44:10 -07:00
Michael Mayer ea3f209f8f Proof-of-concept for batch like & delete
Requires additional code clean-up and unit / acceptance tests
2019-06-14 16:35:18 -07:00
Michael Mayer 9e761549e4 API: Remove debug log from upload 2019-06-14 15:29:12 -07:00
Michael Mayer e141b9edcd Photos: Add LocationEstimated flag 2019-06-14 15:15:49 -07:00
Michael Mayer c133dbe3f9 Indexer: Code and label clean-up 2019-06-14 13:01:58 -07:00
Michael Mayer 2005da9a25 Rename "Import" to "Library" and add tabs to page 2019-06-14 12:16:59 -07:00
Michael Mayer 60e9346f08 Proof-of-concept for upload & import 2019-06-13 11:26:01 -07:00
Michael Mayer f47d93be7f Format Go code: go fmt ./internal/... ./cmd/... 2019-06-09 05:22:53 +02:00
Michael Mayer 8642b6f664 Proof-of-concept for labels and search filters 2019-06-09 04:37:02 +02:00
Michael Mayer 9ead0ceef9 Fix TimeZone() 2019-06-07 00:19:12 +02:00
Michael Mayer c230de6b2b Add time zone info to photos (if available) 2019-06-07 00:04:34 +02:00
Michael Mayer aab504ffd6 Initial support for HEIF image files incl improved tests & example files 2019-06-06 14:44:35 +02:00
Michael Mayer 648d35115d Use labels up to 85% uncertainty for photo titles (without location) 2019-06-05 18:49:35 +02:00
Michael Mayer a6131eeddd Move all config files to assets/config and resources to assets/resources 2019-06-05 18:25:20 +02:00
Michael Mayer b835c22f7f Rename synonyms to categories 2019-06-05 14:05:21 +02:00
Michael Mayer 3d0ec3892f Skip city name in title if sub string of location name 2019-06-05 11:58:20 +02:00
Michael Mayer c81b389799 Improve photo titles 2019-06-05 11:39:50 +02:00
Michael Mayer c501abe932 Improve photo classification, indexing, titles & location info 2019-06-05 10:18:03 +02:00
Michael Mayer df995b4f15 Rename tags to labels incl priority, source and uncertainty 2019-06-04 18:26:41 +02:00
Michael Mayer 89a1e8e7fc Console output text changes 2019-06-04 00:22:25 +02:00
Vedhavyas Singareddi 38b9889ef2 Add context for graceful shutdown #112
see pull request #114
2019-06-03 22:58:15 +02:00
Michael Mayer cc4de67c3c Improve DateCreated() comment 2019-06-03 16:32:26 +02:00
Theresa Gresch a18a7d9477 Rename materialColor to indexedColor 2019-06-03 12:32:51 +02:00
Michael Mayer c7f426ac23 OSM: Translate location names to English 2019-05-30 02:53:35 +02:00
Michael Mayer d31305a503 Move static assets from public/ to static/ for clearer structure 2019-05-22 13:55:11 +02:00
Theresa Gresch 8c63c345f0 Removes dark brown from color map to improve color indexing 2019-05-20 21:42:29 +02:00
Michael Mayer d26f7fb0dc Docker: Add testcafe and firefox to development image; change mysql port 2019-05-20 16:39:41 +02:00
Michael Mayer 8124a8cde1 Use label rules to optimize image classification 2019-05-16 08:41:16 +02:00
Michael Mayer 7eeab25ae1 Rename file_saturation to file_chroma in search query 2019-05-16 04:17:45 +02:00
Michael Mayer 0400b6ec7a Add download links to thumbnails in photo viewer 2019-05-16 04:03:55 +02:00
Michael Mayer b73093c2f0 Disable SQL query logger and enable photo model preload for search 2019-05-16 03:57:18 +02:00
Michael Mayer a1f2146648 Set default distance to ~20km 2019-05-16 02:24:02 +02:00
Michael Mayer 1cf23aac3e Additional search parameters incl distance and location (lat/long) 2019-05-16 02:22:38 +02:00
Michael Mayer 9b6ad9968d Add support for time values in photo search, see #2 2019-05-15 23:07:25 +02:00
Michael Mayer 40b542276c Profiling log message for photo search, see #2 2019-05-15 23:00:16 +02:00
Theresa Gresch 5eb32d3353 Change color map for improved color indexing 2019-05-15 22:42:37 +02:00
Michael Mayer 9a320c60df Search string parser similar to GitHub, see #2 2019-05-15 21:51:00 +02:00
Michael Mayer feda86f0e2 Location search must only return results with known location 2019-05-15 14:37:31 +02:00
Michael Mayer 7fd1ed7a7b New "mosaic" view (tiny tiles) 2019-05-15 11:07:26 +02:00
Michael Mayer 441922c35e Add download button to photo viewer 2019-05-14 18:16:35 +02:00
Michael Mayer db261d40b3 Share available thumbnail types with JS frontend 2019-05-14 16:04:17 +02:00
Michael Mayer 5262cce647 Thumbnails code clean-up 2019-05-14 10:28:21 +02:00
Michael Mayer 40b7c33198 Fix for thumbnail size: fit_3840 instead of fit_3540 2019-05-13 21:22:16 +02:00
Michael Mayer 34b14c7099 Additional fix for running thumb unit tests on CI 2019-05-13 19:11:40 +02:00
Michael Mayer 1fc73e7285 Potential fix for running thumb unit tests on CI
testdata/ could not be found
2019-05-13 18:57:38 +02:00
Michael Mayer dc4536b249 Improve thumbnail rendering and indexing performance 2019-05-13 18:01:50 +02:00
Theresa Gresch f154c27b1c Change map and resampling for improved color indexing 2019-05-12 14:31:01 +02:00
Theresa Gresch dc67f8ccb2 Merge branch 'develop' of /Users/theresa/Development/graciousgrey/photoprismRepo/photoprism with conflicts. 2019-05-12 13:03:18 +02:00
Michael Mayer 1125ba2da4 exif.RegisterParsers() should only be called once 2019-05-12 09:44:20 +02:00
Michael Mayer a612609854 Thumbnail cache warm-up for demo 2019-05-09 07:48:41 +02:00
Michael Mayer c5e2783b8d Upgrade Go to 1.12.5, improve Makefile and add chromium-browser 2019-05-09 06:18:22 +02:00
Michael Mayer 55c19635c9 Update inline comment regarding the use of Context 2019-05-06 23:41:49 +02:00
Michael Mayer 0ddef3a02d Rename context package to config and fsutil to util 2019-05-06 23:18:10 +02:00
Michael Mayer cf8d4ce29b Remove syscall.Kill from context Shutdown() 2019-05-06 22:13:35 +02:00
Michael Mayer 1e6f41b417 Improve image classification performance and logging in debug mode 2019-05-04 17:34:51 +02:00
Michael Mayer d83e81b49b Graceful web and database server shutdown; add log-level flag 2019-05-04 13:29:32 +02:00
Michael Mayer ff09f76bc5 Add PhotoTag model to weight photo tags based on confidence and source 2019-05-04 11:50:19 +02:00
Michael Mayer e148e7af46 Add ColorPerception struct and improve Color() tests, see #7
Since we're not using the very same colors as material design anymore,
MaterialColor was renamed to IndexedColor.
2019-05-04 11:27:33 +02:00
Michael Mayer e565195f23 Add config flag for read-only mode, see #56 2019-05-04 09:11:33 +02:00
Michael Mayer 7074faabe0 Additional airport image for testing, see #7 2019-05-04 07:19:02 +02:00
Michael Mayer 5d80af8434 Add static testdata for color indexing and image classification, see #7
Images are scaled down to ~331px. Filenames contain object and color.
2019-05-04 07:10:39 +02:00
Michael Mayer 868e1b80b9 Use reflection and yaml.Unmarshal() for configuration, see #66 2019-05-04 05:25:00 +02:00
Michael Mayer bd60b5d398 Remove deprecated PerceptualHashSize const 2019-05-04 01:24:43 +02:00
Michael Mayer 3389b5115e Use hash to keep TensorFlow model up to date 2019-05-04 00:53:02 +02:00
Michael Mayer 3589a410c2 Add test.jpg fixture for fsutil package 2019-05-03 18:58:33 +02:00
Michael Mayer 71adb35cff Remove test and frontend packages; app and test context refactoring 2019-05-03 18:57:28 +02:00
Michael Mayer 6cba9d061f Remove unnecessary getter prefix
See https://golang.org/doc/effective_go.html#Getters
2019-05-02 17:26:44 +02:00
Michael Mayer 3315b87305 Use logrus for logging 2019-05-02 14:10:05 +02:00
Michael Mayer 8289de2746 Improve logging and set optional password for built-in TiDB server 2019-05-01 14:54:11 +02:00
Michael Mayer 818019a7ec Use nasnet mobile instead of inception v1 for image classification 2019-04-30 13:17:01 +02:00
Michael Mayer a82696f067 Move color, luminance and saturation to files table 2019-04-29 21:54:36 +02:00
Michael Mayer b079882354 Slow test refactoring (now using testing.Short()) 2019-04-29 20:09:17 +02:00
Michael Mayer 900e8c5e23 Color extraction: Add saturation value 2019-04-29 17:12:24 +02:00
Michael Mayer 5e1210c508 Add luminance and monochrome return values to MediaFile.Colors() 2019-04-29 01:59:57 +02:00
Sebastian Kunert 6267118acf Fix broken tensorflow test (#107)
* Fix broken tensorflow test

* Introduce rounding to fix tests
2019-04-28 11:09:25 +02:00
Michael Mayer 2e418d6e1e Fix API photo like / unlike test (failed existing photos), see #79 2019-04-26 04:25:00 +02:00
Michael Mayer bc208c378c Set max length for file name to 512 chars because of utf8mb4, see #106 2019-04-26 04:13:50 +02:00
Michael Mayer 2f15ca2c59 Reduce length for file names to 2048 chars to fix error on CI, see #106 2019-04-26 02:44:57 +02:00
Michael Mayer ffc64cceb0 Use 3x3 thumbnail for color indexing #7
Other implementations were unstable due to the use of random numbers.
This seems to be fast and also enables us to search specific parts
of an image. 16 colors are indexed (Material Design).
2019-04-26 02:22:53 +02:00
Michael Mayer 94205f0113 Models: Allow 4096 chars for file names, fix #106 2019-04-25 03:52:25 +02:00
Michael Mayer b294ad10b3 Fix TestMediaFile_GetColors_Slow test 2019-04-18 20:16:09 +02:00
Sebastian Kunert 48a9f78cb3 Improve color indexing by using k-means clustering (#103)
* First commit for color-improvements

* Use k-means for prominent color detection

* Remove debugging code

* Add color checks to tests

* Add additional test for color names
2019-04-18 17:27:08 +02:00
Michael Mayer 57d5d2a183 OpenStreetmap: PlaceID now uint instead of string
API seems to have changed.
2019-04-18 06:58:35 +02:00
Vedhavyas Singareddi 4edfc4fa4c error chacks and minor api refactoring (#92)
* error chacks and minor api refactoring

* consistant naming
2019-01-15 14:00:42 +01:00
Vedhavyas Singareddi 74dc8be598 Fix/defer leaks (#91)
* fix defer leaks
* go mod tidy
2019-01-13 00:45:22 +01:00
Michael Mayer 95b041e25f Add error handling for ExpandedFilename(), see #89 2019-01-03 05:45:54 +01:00
Michael Mayer e9425329f1 Add SqlServerPassword() and HttpServerPassword() to Config, see #16 2018-12-26 11:40:20 +01:00
Michael Mayer e37a674e94 Improve thumbnail error messages, see #50 2018-12-26 11:40:20 +01:00