Commit Graph

203 Commits

Author SHA1 Message Date
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
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
6936b7f8d1 Frontend: Show description in photo viewer and card view
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 08:51:25 +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
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
2d1763edbe Add videos to main navigation #17
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-14 19:03:12 +02:00
Michael Mayer
0611e0e1bb Frontend: Show additional photo infos in card view
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-14 12:11:04 +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
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
Michael Mayer
4f8b4d58a2 Frontend: Proof-of-concept for relative label popularity
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-10 19:45:43 +02:00
Michael Mayer
40ed6f118a Frontend: Fix displayed date for photos without time zone
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 11:07:08 +02:00
Michael Mayer
8a3973aaa2 Frontend: Update dependencies
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-29 10:31:00 +02:00
Michael Mayer
9c72a2168c Frontend: Only show thumbs for which a hash exists
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-29 10:22:33 +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
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
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
e9c9601a22 Frontend: Add like button to photo viewer
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-24 09:55:14 +02:00
Michael Mayer
7181adb360 Frontend: Fix photo model and card view
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-23 18:47:19 +02:00
Michael Mayer
4e23987c05 Frontend: Long click select for mobile
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-23 15:29:08 +02:00
Michael Mayer
5a7ff13a4c Frontend: Fix infinite scrolling for grouped photos
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-23 15:29:08 +02:00
Michael Mayer
3a257684bd Frontend: Add thumb model (photo viewer refactoring)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-21 16:34:43 +02:00
Michael Mayer
9344a52760 Frontend: Fix Photo.getThumbnailUrl()
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-21 14:16:59 +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
10e912f31a Frontend: Skip headers in rest model if empty
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-20 20:25:33 +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
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
d05cbf6fde Frontend: Format code
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-19 01:28:35 +02:00
Michael Mayer
a0f94cd88e Frontend: Fix label editing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-19 01:27:07 +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
855781658b Add library settings #283
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-14 13:13:45 +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
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
c882b56f82 Sync: Download remote files #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-04 17:19:34 +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
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
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
b592e67dfa Frontend: Improve account management #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-29 21:24:44 +02: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
a1feb1c99e Frontend: Code clean-up #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-28 18:18:05 +01:00
Michael Mayer
0f5d7a7e42 Frontend: Add account model #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-28 18:17:11 +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
5fba038442 Frontend: Set Modified* flags #243
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-07 17:24:24 +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
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
bdf976abd7 Edit photo: Add and remove labels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-29 15:28:20 +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
Michael Mayer
2f48dae860 Frontend: First draft for an edit dialog #212 #217
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-24 00:45:59 +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
366c70d992 Optimize performance and data structures
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-27 05:18:52 +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
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
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
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
85489bf5e1 Albums: Remove photo #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-05 14:11:45 +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
55918a40fe Frontend: Fix tests & code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-03 13:08:48 +01:00
Michael Mayer
05bdf1ea72 Frontend: Config / settings refactoring for themes and translations
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-01 22:45:28 +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
0becb8a92d Stub for settings page & api
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-12 04:34:37 +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
0f47c84138 Implement time zone support for "TakenAt"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-09-19 14:23:39 -07:00
Theresa Gresch
5f63f2999c Implement first album functionality 2019-06-17 21:45:06 +02:00
Michael Mayer
971135f782 Frontend: Rename export to share and some code clean-up 2019-06-09 05:20:23 +02:00
Michael Mayer
8642b6f664 Proof-of-concept for labels and search filters 2019-06-09 04:37:02 +02:00
Michael Mayer
ec0eb4d59c Increase max js / css asset size in webpack.config.js 2019-06-07 00:54:15 +02:00
Michael Mayer
c230de6b2b Add time zone info to photos (if available) 2019-06-07 00:04:34 +02:00
Michael Mayer
c501abe932 Improve photo classification, indexing, titles & location info 2019-06-05 10:18:03 +02:00
Michael Mayer
2e4f2d0966 Frontend: Add photo clipboard component and refactor photos page #15 2019-05-21 17:59:12 +02:00
Michael Mayer
65648450a4 Frontend: Add global clipboard for photo selection #15 2019-05-21 11:54:39 +02:00
Michael Mayer
ed4b06d5c3 Add camera make to camera info in detail view 2019-05-16 12:24:13 +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
dc4536b249 Improve thumbnail rendering and indexing performance 2019-05-13 18:01:50 +02:00
Michael Mayer
8d4291de38 Use double quotes for JS files to avoid confused Go developers 2019-05-09 06:48:10 +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
0f0a1b5f12 UI improvements for gallery, maps and alerts 2019-05-08 04:37:45 +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
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
Sebastian Kunert
9a00403aff Integrate PhotoSwipe as photo viewer (#96)
* Implement photoswipe

* - Make images fit correctly in lightbox mode
- Use photoswipe also for detail view

* Add responsive image resizing

* Clean up code

* Remove old viewer code

* Move lightbox to bottom

* Move images with sizes to computed properties

* Remove unnecessary formatting
2019-02-11 22:55:29 +01:00
Philipp Knobel
00f79b2d01 First implementation of liking a photo (#48)
First implementation of liking a photo
2018-10-31 03:33:18 +01:00
Michael Mayer
b549d87b1b Fixed photo model image sizes (largest size first) 2018-09-25 11:00:09 +02:00
Michael Mayer
fc3baa3cba Bugfix for photo model 2018-09-24 19:26:25 +02:00
Michael Mayer
bbab05f9db Added additional photo meta data like aperture, lens and camera make; smaller perceptive hash; implemented stub for single photo view 2018-09-24 19:07:43 +02:00
Michael Mayer
16a89c84c0 Refactoring: Separate file for each REST route and changed thumbnail URL 2018-09-24 11:27:46 +02:00
Michael Mayer
b881bbcf17 Implemented client config and 404 error image for thumbnails, if original was not found 2018-09-13 10:23:06 +02:00
Michael Mayer
801b680f12 Major search API and database refactoring 2018-09-12 16:37:30 +02:00
Michael Mayer
cea3d70835 Improved photo search 2018-08-09 23:10:05 +02:00
Michael Mayer
6a6017a478 Improved tile view with link button 2018-08-07 20:17:14 +02:00
Michael Mayer
fcddb5ddfe Implemented frontend proof of concept with Webpack and VueJS 2018-07-27 17:31:39 +02:00