Commit graph

194 commits

Author SHA1 Message Date
Michael Mayer
9ec2381307 Update copyright after year change 2021-01-01 22:37:25 +01:00
Michael Mayer
8e22fbf8f6 Metadata: Store and compare data source for details #755 2020-12-31 13:51:31 +01:00
Michael Mayer
12cb89eca5 Stacks: Use "Stackable" int8 instead of "Unstacked" bool #616 #667 2020-12-19 19:15:32 +01:00
Michael Mayer
c2e5663da0 Indexer: Add folder albums while indexing 2020-12-14 20:37:54 +01:00
Michael Mayer
c6dd1c608d Search: Use quotes for serializing strings containing ":" 2020-12-14 10:35:37 +01:00
Michael Mayer
1321192eff Search: Ignore escaped ":" in query parser 2020-12-14 09:21:29 +01:00
Michael Mayer
04c17fb77b Indexer: Improve stacking settings and merging 2020-12-11 17:21:13 +01:00
Michael Mayer
902aacece9 Indexer: Merge identical photos (stack files) #576 2020-12-04 19:51:51 +01:00
Michael Mayer
8ea5a882b4 Backend: Add filename search filter
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-03 21:07:38 +01:00
Simon Waldherr
f10459c447
Backend: Add comments (#562) 2020-11-22 10:38:45 +01:00
Michael Mayer
5daa689975 Backend: Format go imports 2020-11-21 18:08:41 +01:00
Theresa Gresch
f38434dfb0 Backend: Add unit tests 2020-10-20 11:05:02 +02:00
Theresa Gresch
c72ddbedcb Backend: Add unit tests 2020-10-20 10:07:27 +02:00
Michael Mayer
b87e860444 Add feedback form
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-04 22:22:53 +02:00
Michael Mayer
d38c84bbfb Update trademark
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-21 02:48:22 +02:00
Michael Mayer
28ff51d5cf Backend: Adjust log levels and messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-18 13:21:43 +02:00
Michael Mayer
9c1518c5ef Backend: Remove unused duplicate filter from photo search
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-18 13:09:22 +02:00
Michael Mayer
6847b8b5f9
Complete file browser with symlink support and full folder / file names (#412)
* Backend: Code clean-up

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

* File Browser: Show complete, original file and folder names #408

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

* File Browser: Follow symlinks #201 #403 #407

Warning: Following symlinks can make folder lists non-deterministic
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-16 15:43:23 +02:00
Michael Mayer
0e5fe5eb43 Index image projection and add panorama filter
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-16 13:02:48 +02:00
Michael Mayer
db5edb8e4d Add flag for 360° panoramas #352
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-15 20:59:33 +02:00
Michael Mayer
be94ff624c Edit photo type and sort by recently edited #394
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-14 12:42:31 +02:00
Michael Mayer
212857318b UX: Rename group(ed) to stack(ed) #394
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 15:59:54 +02:00
Michael Mayer
4fb263f8a4 Add location field to album metadata
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-12 16:36:39 +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
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
Theresa Gresch
db2819821b Backend: Add unit tests for internal/form 2020-07-08 08:45:31 +02:00
Theresa Gresch
f58ca6dcda Backend: Add unit tests for internal/form 2020-07-07 18:03:20 +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
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
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
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
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
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
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
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
1f1f92408a Sharing: Token authentication #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-25 01:20:58 +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
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
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
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
41608d077d Add album share dialog #18
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-16 12:51:46 +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
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
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
5d92ece264 Albums: Add category filter
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 21:11:56 +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
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
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
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
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
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
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
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
cbeaab64e7 Backend: Remove story flag code
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-13 21:22:49 +02:00
Theresa Gresch
c0b6eaa9d5 Backend: Add tests to internal/entity 2020-05-12 13:52:09 +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
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
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
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
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
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
f9b2ff326b Refactor feature flags and settings
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-04 18:28:23 +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
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
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
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
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
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
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
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
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
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
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