Commit graph

1032 commits

Author SHA1 Message Date
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