Commit Graph

481 Commits

Author SHA1 Message Date
Michael Mayer
125b05b489 Search: Remove sea. sinon, and sino from stopwords list 2021-09-25 15:56:44 +02:00
Michael Mayer
2929733f78 Index: Ignore files and folders starting with @ #1543
Synology stores hidden sidecar / thumbnail files in @eaDir.
2021-09-24 01:24:36 +02:00
Michael Mayer
eb8bc7b709 Backend: Improve resilience #1544 2021-09-23 23:46:17 +02:00
Michael Mayer
3c3b19aa8e People: Add search filter for finding unclustered faces #22 2021-09-23 14:23:00 +02:00
Michael Mayer
8eb970ae8b RAW: Remove unwanted characters like quotes from file extensions #1362 2021-09-21 18:10:21 +02:00
Michael Mayer
b081f27e17 RAW: Add File Extension Blacklists for Darktable and RawTherapee #1362 2021-09-21 15:33:46 +02:00
Michael Mayer
070efcbc66 Search: Improve "year", "month", and "day" filters 2021-09-20 23:32:35 +02:00
Michael Mayer
77b7fb2582 Text: Add tests for short words 2021-09-20 22:28:20 +02:00
Michael Mayer
0de2a492bb Text: Update and add tests for short words 2021-09-20 22:27:18 +02:00
Michael Mayer
04d2cfa650 People: Use slug as search filter #22 2021-09-20 12:36:59 +02:00
Michael Mayer
1f92f294dd People: Normalize names #22 2021-09-19 13:35:44 +02:00
Michael Mayer
f7cc61edbc People: Shorten names in titles #22 2021-09-18 21:40:57 +02:00
Michael Mayer
ed22f245db People: Add faces API endpoint & JS model #22 2021-09-18 15:32:39 +02:00
Michael Mayer
0f90258ef9 Search: Omit full text index if query is too short #1517 2021-09-17 15:52:25 +02:00
Michael Mayer
c584424183 Labels: Disable client-side capitalization #1509 2021-09-06 15:00:41 +02:00
Michael Mayer
cf9fb1db1a People: Combine family names in photo titles #22 2021-09-05 22:12:53 +02:00
Michael Mayer
6f5e839e2f People: Move crop package to internal #22 2021-09-05 11:05:33 +02:00
Michael Mayer
9ba396e50f Search: Detect and set filters based on search terms
Reduces the amount of typing necessary to search for faces, videos,
favorites, stacks, panoramas, scans, and monochrome pictures.
2021-09-03 20:14:11 +02:00
Michael Mayer
2bde7e5696 Panoramas: Increase projection type string limit to 32 characters #1508 2021-09-03 19:02:26 +02:00
Michael Mayer
34c8f9d7b1 People: Implement crop thumbnail API #22 2021-09-03 17:42:37 +02:00
Michael Mayer
c520cb4ee4 People: Add autocomplete for selecting a person #22 2021-09-03 16:14:09 +02:00
Michael Mayer
c179a790b8 People: Improve face crop caching #22 2021-09-02 23:47:37 +02:00
theresa
c61a0f7d0e Tests: Add unit tests 2021-09-02 17:44:27 +02:00
Michael Mayer
9acd4a25b9 People: Generate photo titles from subject names #22 2021-09-02 14:23:40 +02:00
Michael Mayer
a5f8e6149f Titles: Add German smallwords to improve capitalization 2021-09-02 09:37:23 +02:00
Michael Mayer
7f6fd7f47a Backend: Update Go build tags after upgrading to 1.17 2021-08-31 18:49:08 +02:00
Michael Mayer
c0a21045fb People: Improve search query parser #22 #882 2021-08-30 11:26:57 +02:00
Michael Mayer
71372c6f87 Videos: Add .mp to known file extensions #1501 2021-08-29 16:26:20 +02:00
Michael Mayer
11d1034752 People: Add keywords, subjects, and albums search filters #22 #882 2021-08-29 16:16:49 +02:00
Michael Mayer
2e85b3cccd People: Split facial recognition into smaller functions #22
Clustering and matching have been improved along the way. This opens
the door for further optimizations while keeping the code readable.
2021-08-22 16:14:34 +02:00
Michael Mayer
29a65dbaab People: Fork clusters library with fixed dbscan implementation #1478 2021-08-19 14:24:30 +02:00
Michael Mayer
97c3e0abe8 Import: Ignore dot files listed in .ppignore #1348 2021-07-16 18:27:28 +02:00
Michael Mayer
07c711a0b4 RAW: Skip Darktable when converting Canon CR3 and Fuji RAF files #1362 2021-07-16 18:12:42 +02:00
Michael Mayer
49fd531420 People: Implement marker update API #22 2021-06-02 17:25:04 +02:00
Michael Mayer
58e3573e10 People: Add include and exclude as aliases for yes and no in search #22 2021-05-26 11:04:14 +02:00
Michael Mayer
5ecba4926a People: Show number of faces in edit dialog #22 2021-05-26 09:51:00 +02:00
Michael Mayer
d3e53a89dd Metadata: Allow single quotes in keywords #1196 2021-05-05 12:32:49 +02:00
Michael Mayer
256c82fc93 Metadata: Trim trailing - from keywords #1153 2021-05-05 12:23:19 +02:00
Michael Mayer
1fea0b136e Backend: Fix potential issue in txt.Int() 2021-05-04 17:54:57 +02:00
Michael Mayer
50d2ff1e69 Backend: Upgrade dependencies and fix potential issues 2021-05-04 17:30:39 +02:00
Michael Mayer
e10118a65f Metadata: Merge keywords if priority is the same #1153
Also reduces length limit for latin words to 2 letters.
2021-05-04 15:02:54 +02:00
Michael Mayer
6cbf0696c4 Metadata: Don't remove stopwords from keywords #1153 2021-04-30 17:37:37 +02:00
Michael Mayer
014642f401 Stopwords: Remove done, elsewhere, ended, exactly #1153 2021-04-27 10:02:34 +02:00
Michael Mayer
27c106863d Metadata: Merge existing keywords #1153 2021-04-25 14:17:34 +02:00
Michael Mayer
7de3713024 Backup: Improve command flags and usage docs #1190 #1193 2021-04-19 13:48:46 +02:00
Krassimir Valev
2bace7954d
Remove Niagara Falls from country mapping (#1144)
The waterfalls are on a border, so they cannot be uniquely assigned to Canada
(or USA).
2021-03-28 20:23:49 +02:00
theresa
816aca7420 Tests: Add tests for internal/api 2021-03-10 16:55:55 +01:00
theresa
ce9651df10 Tests: Add tests for /pkg 2021-03-03 15:41:32 +01:00
Michael Mayer
d78310c8f0 Videos: Add .m4v to known mp4 video file extensions #703 #1039 2021-02-15 13:02:55 +01:00
Krassimir Valev
58d6d23967
Support .mts and .mpo files (#1029) 2021-02-14 19:25:52 +01:00
Michael Mayer
9039774cf7 Metadata: Rename unknown country code variable 2021-02-07 17:42:52 +01:00
Michael Mayer
e57e9aff70 Metadata: Improve country code from string estimate 2021-02-07 17:39:41 +01:00
Michael Mayer
789cab83c9 Metadata: Add special words for title capitalization 2021-02-05 09:13:05 +01:00
Michael Mayer
57dc591b12 Remove small words from filename title endings 2021-01-27 15:21:54 +01:00
Michael Mayer
ae2f761a05 Backend: Add strings to specialwords.go 2021-01-27 11:59:41 +01:00
Michael Mayer
899419383a Metadata: Fix indexing keywords in original file name and path #920 2021-01-25 19:30:29 +01:00
Michael Mayer
a564cff3af Metadata: Update countries.go 2021-01-15 11:52:12 +01:00
Krassimir Valev
405fb3c459
Metadata: Add more places to the countries mapping (#899) 2021-01-15 10:47:27 +01:00
theresa
e01b193f88 Stopwords: Add dscn 2021-01-11 17:41:34 +01:00
Michael Mayer
19b2f1de13 Import: Improve handling of severe errors (panics) #261 2021-01-09 13:50:14 +01:00
Michael Mayer
a8c46f616a Colors: Clean-up examples 2021-01-09 04:45:08 +01:00
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
4614cbe4ea Frontend: Enable search for 2 character words #773 #746 2020-12-30 13:59:27 +01:00
Michael Mayer
8cfabe3205 Metadata: Cache ExifTool JSON by original file hash #755 #759 2020-12-30 13:33:47 +01:00
Michael Mayer
91acaaa573 Index shorter keywords in languages like Chinese #746
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-27 16:37:28 +01:00
Michael Mayer
02722ab861 Config: Detect case-insensitive file systems
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-26 18:06:54 +01:00
Michael Mayer
d430ae24ee Indexer: Fix JSON sidecar creation using Exiftool
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-25 20:29:06 +01:00
Michael Mayer
92b99060c1 Add capitalization tests #737
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-23 22:54:46 +01:00
Michael Mayer
859e4f7d8c Indexer: Set a default color for photos with multiple files #715 2020-12-17 12:32:53 +01:00
Michael Mayer
3d7c9323d8 Indexer: Improve color & chroma classification #596 2020-12-17 11:47:31 +01:00
Michael Mayer
c4b42d7e61 Refactor txt package 2020-12-16 12:34:39 +01:00
Michael Mayer
473566f404 Videos: Enforce transcoding to MPEG-4 AVC #603 2020-12-12 17:20:31 +01:00
Michael Mayer
73a00efae8 Workaround for bad image rotation in Exif headers #637 2020-12-12 13:05:58 +01:00
Michael Mayer
8a86fbc60f Indexer: Update index after renaming related sidecar files 2020-12-11 19:39:42 +01:00
Michael Mayer
424c0ce616 Indexer: Automatically rename related sidecar files 2020-12-11 19:17:07 +01:00
Michael Mayer
004400b118 Albums: Improve folder indexing 2020-12-09 13:10:21 +01:00
Michael Mayer
ccdd048c47 Indexer: Ignore date in canonical file names
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-08 23:20:43 +01:00
Michael Mayer
846c635f22 Video: Transcoding to AVC1 #636 #513 #624 #603 #533 $440 2020-12-05 04:24:10 +01:00
Michael Mayer
0b16a67c90 WebDAV: Sync video files #504 2020-12-05 02:18:45 +01:00
Michael Mayer
b7876711ad Fallback to backup path if storage path is not defined or writable 2020-12-04 11:37:31 +01:00
Michael Mayer
3464bf35ed Config: Add backup path parameter 2020-12-04 11:02:19 +01:00
Michael Mayer
5daa689975 Backend: Format go imports 2020-11-21 18:08:41 +01:00
Theresa Gresch
b6d9d7e11f Backend: Add tests for pkg 2020-10-19 15:11:27 +02:00
Michael Mayer
45f1a34018 Backend: Use constants for home dir and path separator
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-19 09:52:52 +02:00
Michael Mayer
c8ded4c7c1 Backend: Refactor .ppignore pattern matching
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-19 09:23:09 +02:00
Michael Mayer
9eef7b37ab Backend: Improve .ppignore pattern matching
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-18 20:03:25 +02:00
Michael Mayer
4e172c450a Improve feedback form
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-05 07:40:11 +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
9e37c86b67 Backend: Fallback to file extension for mime type detection
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-20 15:12:45 +02:00
Michael Mayer
db4749a6f8 Config: Show helpful error message when a path is missing #418
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-18 19:09:46 +02:00
Michael Mayer
6e2849fba2 Index: Don't stack files based on XMP InstanceID
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-18 00:45:53 +02:00
Theresa Gresch
6c03ad73fd Backend: Add german cities to countries.go 2020-08-17 20:23:23 +02:00
Michael Mayer
d43d3a22e0 Backend: Improve country estimate from folder name
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-14 15:36:48 +02:00
Theresa Gresch
a6a4899ccc Backend: Add special word 2020-08-12 19:14:45 +02:00
Theresa Gresch
68d490c975 Backend: Add new stopword 2020-08-12 19:14:01 +02:00
Michael Mayer
0938fe1fa0 Backend: Move .cr3 in file type list #445
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-06 10:56:33 +02:00
Michael Mayer
91a1a1ca27 Backend: Ignore image unique IDs that are not standard UUIDs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-23 15:34:20 +02:00
Michael Mayer
7d00e68d92 Index: Refactor mime type detection #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-21 14:43:45 +02:00
Michael Mayer
ad93f04003 Backend: Add "des" to smallwords.go
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-21 03:30:18 +02:00
Michael Mayer
8d3b46a631 Backend: Add "los" to shortwords.go
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-21 03:19:03 +02:00
Michael Mayer
bf6c79ad67 Backend: Keep plus in titles generated from file names
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-20 13:30:25 +02:00
Michael Mayer
2283f6019a Backend: Keep ampersand in titles generated from file names
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-20 13:25:09 +02:00
Michael Mayer
138dabd0c8 Metadata: Use mime type to determine file format and exif parser #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-19 16:39:43 +02:00
Michael Mayer
0023fdb1e2 Fix indexing aborts when encountering broken symlink #414
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-19 14:45:49 +02:00
Michael Mayer
24cfa1aea2 Backend: Refactor file indexing / skipping
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-18 20:58:35 +02:00
Michael Mayer
cc946b8ea8 Use int64 for file modification timestamps #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-17 16:09:55 +02:00
Michael Mayer
ab7931732e File Browser: Add empty file to test directory
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-16 16:01:46 +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
5866ba307f Backend: Improve detection of generated file names
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-14 15:00:14 +02:00
Michael Mayer
8989c987a2 Unstack all types, except primary and sidecar files #394
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-14 11:00:49 +02:00
Theresa Gresch
832715f861 Backend: Improve Dsc regular expression and add test 2020-07-14 08:46:20 +02:00
Michael Mayer
70c6a68169 Use date from file name if no metadata was found #396
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 19:34:21 +02:00
Michael Mayer
2bcb954266 Show taken date incl source in photo info tab #396
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 16:29:36 +02:00
Michael Mayer
849225e1ea Backend: Tweak db connection params and add stack to panic logs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 15:16:09 +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
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
5c780c99db Backend: Add words to stopwords.txt
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 20:28:17 +02:00
Theresa Gresch
f58ca6dcda Backend: Add unit tests for internal/form 2020-07-07 18:03:20 +02:00
Theresa Gresch
0faf7dbb7f Backend: Add unit tests for pkg 2020-07-07 16:29:55 +02:00
Michael Mayer
f7c955053f Backend: Update short and small words list in txt package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 15:25:19 +02:00
Theresa Gresch
e74de4716e Backend: Add unit tests for pkg/fs 2020-07-07 15:13:42 +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
8e07f1c61a Backend: Add "eos" to stopwords list
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 10:31: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
f86a2fe50b Backend: Add "misc" to stopwords list
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-01 10:13: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
957638e0df Stopwords: Remove "fuji"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-27 14:50:58 +02:00
Michael Mayer
045f5915c2 Backend: Add "xd" to SpecialWords list
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-27 14:27:37 +02:00
Michael Mayer
f0af60a82b Stopwords: Add "unknown", "title", "caption" and "description"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-27 14:24:30 +02:00
Michael Mayer
6c7ed8fdff Backend: Add "edit" and "edited" to stopwords list
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-27 14:22:03 +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
4976788c5b Backend: Add list of small words #361
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-24 07:38:08 +02:00
Michael Mayer
5b312cc1b5 Backend: Add stopwords
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-24 06:56:54 +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
3ddc88e755 Backend: Add tests for using filename as title #361
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-23 11:03:29 +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
eaa1bb7d25 Backend: Improve country code detection
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-13 07:40:35 +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
856cd52dd5 Backend: Update stopwords.txt
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-10 08:40:25 +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
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
f8ec76d6c9 Backend: Simplify and fix path names for development
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-02 15:51:14 +02:00
Michael Mayer
d580158c3b Backend: Add title capitalization tests
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-01 13:31:49 +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
7e82decbb2 Backend: Improve location list for estimates #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 17:56:39 +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
5c2ae9e698 Backend: Refactor txt package #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 15:17:01 +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
9a5d4fa719 Backend: Indexing improvements #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-29 18:04:30 +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
0527dd655f Backend: Add text index stopwords #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-28 15:37:47 +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
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
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
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
ce5d124af8 Add tests for date matching regular expressions #304
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-20 22:03:29 +02:00
Michael Mayer
a81fa0c959 Improve date matching regular expressions #304
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-20 21:57:45 +02:00
Michael Mayer
5f6c2af78e Increase min year for dates in file names #304
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-20 19:58: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
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
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
9fc12c917f Backend: Add tests to internal/pkg.txt 2020-05-18 11:17:14 +02:00
Theresa Gresch
d4e3c675c5 Backend: Add test cases to TestWords 2020-05-18 11:12:40 +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
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
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
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
4e9e84ac9a Backend: Ignore comments in .ppignore files #233 #287
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-04 10:10:56 +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
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
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
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
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
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
Theresa Gresch
b8416f3d04 Merge remote-tracking branch 'origin/develop' into develop 2020-04-29 10:30:57 +02:00
Michael Mayer
b33983b566 Backend: Add stopwords
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-28 18:20:33 +02:00
Theresa Gresch
d21926f760 Backend: Add tests to pkg/txt 2020-04-28 17:25:14 +02:00
Theresa Gresch
44ce09bb29 Backend: Add tests to pkg/s2 2020-04-28 17:04:52 +02:00
Theresa Gresch
ddc696c650 Backend: Add tests to pkg/pluscode 2020-04-28 17:04:33 +02:00
Theresa Gresch
62a6ede86f Backend: Add tests to pkg/fs 2020-04-28 17:04:03 +02:00
Theresa Gresch
a384235022 Backend: Add tests to pkg/txt 2020-04-28 17:03:37 +02:00
Theresa Gresch
a7c32cd869 Backend: Add testfiles 2020-04-28 17:02:15 +02:00
Theresa Gresch
f51280b541 Backend: Add tests to pkg/colors 2020-04-28 16:00:42 +02:00
Theresa Gresch
825e629bb9 Backend: Add tests for pkg/colors/luminance.go 2020-04-28 14:51:01 +02:00
Theresa Gresch
c5a371ed18 Backend: Add tests for pkg/colors/lightmap.go 2020-04-28 14:50:39 +02:00
Theresa Gresch
f99542e91e Backend: Add tests for pkg/colors/colors.go 2020-04-28 14:50:18 +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
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
46f5fcef40 Backend: Index file names with txt.FilenameKeywords()
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-16 23:30:42 +02:00
Michael Mayer
64958118b2 Backend: Sort keywords case insensitive
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-16 21:49:31 +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
96ec67f868 Group related files #283
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-14 14:28:47 +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
57a8f79479 LightMap Diff: Add link to Goldberg research paper
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-13 11:17:42 +02:00
Michael Mayer
8dc263027e Add docs to Diff() function used for "similar" sorting
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-12 12:39:12 +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
590420c870 Search: Remove stopwords
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-07 22:03:31 +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
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
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
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
98abbfc94e Backend: Assume symlinks are directories #267
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-23 20:55:23 +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
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
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
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
0a62d7bc82 Add xml, txt and md types to Ext variable 2020-01-27 15:28:01 +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
09bac902d0 Code clean-up (make fmt)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-15 19:59:25 +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
c6866bb746 Backend: Update label rules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 11:08:50 +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