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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
b4c27ffb51
Backend: Add tests to internal/query
2020-05-14 15:43:39 +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
160977fec4
Backend: Add tests to internal/query
2020-05-14 14:18:28 +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
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
9fc0265d9a
Backend: Add tests to internal/query
2020-05-13 19:47:17 +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
f949db0b38
Backend: Add tests to internal/query
2020-05-13 10:16:12 +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
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
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
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
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
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
842da9f09b
Backend: Query package refactoring
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 15:41:01 +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
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
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
2a21bc5158
Backend: Use new fixtures in query tests
2020-05-01 14:18:51 +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
260cca91fe
Backend: Refactor entity package
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 20:07:03 +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
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
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
3630a49df0
Backend: Improve metadata indexing
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-26 16:22:29 +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
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
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
a57ca79663
Improve settings page #288
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-24 16:05:57 +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
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
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
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
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
f07064c2c3
Refresh titles, labels and locations
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-18 23:20:54 +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
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
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
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
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
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
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
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
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
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
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
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
e02cbe1b10
Labels: Add context menu
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-04 05:18:22 +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
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
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
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
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
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
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
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
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
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
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
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
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
21451e8263
Backend: Code refactoring and clean-up #172
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-08 09:27:39 +01:00
Theresa Gresch
4cf7cd98b1
Add test for country.go
2020-01-06 20:16:31 +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
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