Commit graph

423 commits

Author SHA1 Message Date
Michael Mayer
d51aa86f0d Search: Add "in" as an alias for "and" #22 2021-09-06 15:59:38 +02:00
Michael Mayer
4a6b0baacf Search: Add "with" as an alias for "and" #22 2021-09-06 15:54:38 +02:00
Michael Mayer
ed89552631 People: Add "people" search alias for "faces" #22 2021-09-06 15:42:30 +02:00
Michael Mayer
960fce2933 People: Improve searching for names #22 2021-09-06 14:16:46 +02:00
Michael Mayer
afcf78efe2 Calendar: Update albums_test.go #1456 2021-09-06 11:22:44 +02:00
Michael Mayer
92748180c1 Calendar: Improve hiding empty months #1456 2021-09-06 11:19:18 +02:00
Michael Mayer
b853317cdf People: Tweak face clustering parameters #22 2021-09-06 03:24:11 +02:00
Michael Mayer
29ed7168d1 People: Sort subject names by file count and add new to the top #22 2021-09-05 22:32:24 +02:00
Michael Mayer
bd8f8b1ddb People: Remove review flag from markers with recognized faces #22 2021-09-05 21:34:51 +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
6ad1fffd77 People: Fix typo in previews.go #22 2021-09-03 16:15:43 +02:00
Michael Mayer
c520cb4ee4 People: Add autocomplete for selecting a person #22 2021-09-03 16:14:09 +02:00
theresa
c61a0f7d0e Tests: Add unit tests 2021-09-02 17:44:27 +02:00
Michael Mayer
97af133763 People: Add subjects API #22 2021-09-02 16:12:31 +02:00
Michael Mayer
69014e8216 People: Switch to UIDs for marker API and entity #22 2021-09-01 20:46:15 +02:00
Michael Mayer
fd785faf68 People: Automatically resolve face cluster collisions #22 2021-09-01 12:48:17 +02:00
Michael Mayer
a2ff0477c9 People: Fix face cluster optimization #22 2021-08-31 20:08:53 +02:00
theresa
e5bfa6d78e Tests: Add unit tests 2021-08-31 17:18:48 +02:00
theresa
bf2d4ceb43 Tests: Add unit tests 2021-08-31 16:33:55 +02:00
Michael Mayer
86f8bf58a7 People: Improve MergeFaces() resilience and logging #22 2021-08-31 15:33:42 +02:00
Michael Mayer
bc3036599b People: Refactor album, subject, and label previews #22 2021-08-30 18:58:27 +02:00
theresa
052ff011ac People: Add unit tests #22 2021-08-30 17:20:39 +02:00
theresa
fb5cf1b9c0 People: Add unit tests #22 2021-08-30 13:40:14 +02:00
Michael Mayer
38eadb095e People: Default to AND search for subject names #22 #882 2021-08-30 11:56:34 +02:00
Michael Mayer
c0a21045fb People: Improve search query parser #22 #882 2021-08-30 11:26:57 +02:00
Michael Mayer
f5fc97be27 Calendar: Automatically toggle visibility of months #1456 2021-08-29 19:54:50 +02:00
Michael Mayer
cbf604b477 People: Lower wildcard threshold for subject and keyword search #22 #882 2021-08-29 19:19:54 +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
d198a056a7 People: Improve face matching performance and accuracy #22
By default, matching is now limited to unmatched faces and markers.
2021-08-29 13:26:05 +02:00
Michael Mayer
ee7fbef4b5 People: Improve "faces audit" command #22 2021-08-28 17:27:37 +02:00
Michael Mayer
0503011f87 People: Add "faces audit" command #22 2021-08-28 15:26:26 +02:00
theresa
3bdabdedef People: Add fixtures unit tests #22 2021-08-27 15:33:06 +02:00
Michael Mayer
06835a3c5c People: Optimize face clustering and matching #22 2021-08-24 20:15:36 +02:00
Michael Mayer
3fc7b1b523 People: Match faces less often by default #22 2021-08-24 15:20:05 +02:00
Michael Mayer
03cdc8bb7d People: Improve edit UI and stability #22 2021-08-24 14:27:34 +02:00
Michael Mayer
fefe70f9a4 People: Improve face clustering and matching #22 2021-08-23 16:22:01 +02:00
Michael Mayer
981c51f977 People: Optimize manually clustered faces #22 2021-08-22 21:06:44 +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
d88d9b3781 People: Add API endpoint for removing marker subject associations #22 2021-08-21 16:36:00 +02:00
Michael Mayer
4d915af2b5 Auth: Remove DeleteUserByName() #98 2021-08-20 00:13:49 +02:00
Michael Mayer
fa8e02b430 Auth: Refactor user management commands #98 2021-08-20 00:10:26 +02:00
Michael Mayer
5cec098524 People: Improve face matching #22 2021-08-19 23:12:51 +02:00
Michael Mayer
885024d592 People: Improve face clustering and indexing #22 2021-08-19 21:12:38 +02:00
Timo Volkmann
da7e4fbc97 Auth: Refactor user entity functions #98 2021-08-18 20:18:39 +02:00
Michael Mayer
6a450c463e People: Add PhotoUID to Subject entity #22 2021-08-18 11:33:23 +02:00
theresa
48c1bd5e43 Tests: Adapt test to fixture updates 2021-08-17 17:26:47 +02:00
theresa
41f0e08ba6 Tests: Adapt tests to updated fixtures 2021-08-16 17:15:06 +02:00
theresa
b877c14ada Tests: Adapt tests to fixture updates 2021-08-16 15:19:10 +02:00
Michael Mayer
da94e9ed0f People: Refactor faces worker and related entities #22 2021-08-16 00:29:36 +02:00
Michael Mayer
39856657d5 People: Refactor faces worker and related entities #22 2021-08-15 20:57:26 +02:00
Michael Mayer
494dea4880 People: Add "photoprism faces reset" command #22 2021-08-15 14:14:27 +02:00
Michael Mayer
b7d9557f67 People: Automatically update faces and people on user input #22 2021-08-14 21:37:57 +02:00
Michael Mayer
41cc0c596d People: Match markers with known faces and people #22 2021-08-14 20:48:38 +02:00
Michael Mayer
0cb44f7b45 People: Skip clustering when there are no new face markers #22 2021-08-14 19:52:49 +02:00
Michael Mayer
5ea6f70938 People: Fix assertion in TestFaces() #22 2021-08-14 18:16:47 +02:00
Michael Mayer
57c5f1f2fb People: Match known faces in one go #22
This commit also adds additional test fixtures.
2021-08-14 18:13:03 +02:00
Michael Mayer
28a4ed88c4 Run make fmt 2021-08-13 20:50:49 +02:00
Michael Mayer
45355c7303 People: Update entity database table names #22
Work in progress.
2021-08-13 20:31:41 +02:00
Michael Mayer
a974b3a7ea People: Improve Facial Recognition Accuracy, Command, and UI #22
Work in progress. Performed refactoring along the way.
2021-08-13 20:04:59 +02:00
Michael Mayer
d767e50b37 People: Improve face clustering #22
Work in progress.
2021-08-12 12:05:10 +02:00
Michael Mayer
1fc4ef123b People: Add face clustering worker #22
Work in progress. No performance optimizations yet.
2021-08-12 04:54:20 +02:00
theresa
9263895408 Tests: Adapt tests to fixture changes 2021-08-05 12:33:52 +02:00
theresa
8b47775315 Tests: Adapt tests for internal/query to fixture updates 2021-08-04 17:10:26 +02:00
theresa
de1eee18bf Tests: Update fixtures 2021-07-22 15:05:23 +02:00
theresa
dcebf32c2c Tests: Adapt tests to fixture changes 2021-07-22 13:53:28 +02:00
Michael Mayer
49fd531420 People: Implement marker update API #22 2021-06-02 17:25:04 +02:00
Michael Mayer
0d160fe833 People: Simplify "faces" search #22 2021-05-26 10:46:32 +02:00
Michael Mayer
5ecba4926a People: Show number of faces in edit dialog #22 2021-05-26 09:51:00 +02:00
Michael Mayer
171a4e799a People: Change search filter behavior #22 2021-05-25 19:32:36 +02:00
Michael Mayer
27b14087e2 People: Add "people" search filter #22 2021-05-25 11:55:44 +02:00
Michael Mayer
7de3713024 Backup: Improve command flags and usage docs #1190 #1193 2021-04-19 13:48:46 +02:00
theresa
aadc870c11 Tests: Add tests for internal/api 2021-03-10 11:30:26 +01:00
theresa
3f68c2f6e4 Tests: Add tests for internal/query 2021-03-03 11:49:32 +01:00
Michael Mayer
d42eb4e01b Classify: Improve moments & location labels 2021-02-21 17:18:36 +01:00
Michael Mayer
07ed8ed914 Search: Allow negative values for lat / lng filter 2021-02-11 20:06:23 +01:00
Michael Mayer
cc93e78bc0 Albums: Improve database query #1010 2021-02-08 14:52:33 +01:00
Michael Mayer
1db5b36dde Purge: Fix and simplify database queries #599 #1010 2021-02-08 14:09:58 +01:00
Michael Mayer
b09edde419 Index: Improve log messages #1010 2021-02-08 08:09:23 +01:00
Michael Mayer
568685f991 Index: Improve query for photos with missing primaries #1010 2021-02-08 07:39:29 +01:00
Michael Mayer
84ab1bc575 Index: Shorten log message for missing primaries #1010 2021-02-08 07:17:10 +01:00
Michael Mayer
906376ea31 Index: Reduce log level for missing primaries to info #1010 2021-02-08 07:14:55 +01:00
Michael Mayer
63ce5ea933 Backend: Remove log from FolderCoverByUID #1011 2021-02-07 20:30:50 +01:00
Michael Mayer
c7753b87ff Library: Show folder covers in Originals #1011 2021-02-07 19:04:17 +01:00
Michael Mayer
1bfb2e1774 Index: Improve save / update functions, remove orphans 2021-02-06 16:30:30 +01:00
Michael Mayer
8177f36f43 Search: Remove unused countries from dropdown #982 2021-02-05 20:40:37 +01:00
Michael Mayer
993e7466fa Download all related files using their existing name by default #449
Related issues:
- Configure download name for files and albums #848
- When downloading live photos, zip all the associated files #437
2021-01-27 21:30:10 +01:00
Michael Mayer
a71946a2ea Albums: Hide folders with private photos only #942 2021-01-25 12:36:10 +01:00
Michael Mayer
274c9347f5 Purge: Hide missing files in UI and set new primary if needed #917 2021-01-24 20:40:40 +01:00
Michael Mayer
e04f0f937f Add cleanup command that removes orphaned thumbnails and index entries 2021-01-24 17:46:18 +01:00
Michael Mayer
cb27fc1928 API: Apply limit and sort order when searching for IDs #890 2021-01-20 12:08:48 +01:00
Krassimir Valev
a90ee62cd6
Search albums by country (#905) 2021-01-16 12:48:43 +01:00
Michael Mayer
5eea2eac41 API: Add composite id to photo search results 2021-01-10 15:30:21 +01:00
Alexander Konovalov
dcf94e26a5
Backend: Optimize photos search query (#871) 2021-01-10 12:38:51 +01:00
Michael Mayer
9ec2381307 Update copyright after year change 2021-01-01 22:37:25 +01:00
Michael Mayer
f439a6d050 Shares: Show all albums on overview page #776 2020-12-31 12:34:06 +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
13bd176f0f Albums: Handle missing entries and pure emoji titles
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-27 13:11:08 +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
7b5ae77e61 Search: Reduce chroma threshold for mono filter to 0 #596 2020-12-19 01:56:00 +01:00
Michael Mayer
449fb7a2c1 Backup and restore albums from YAML files #567 2020-12-17 18:24:55 +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
5a801f442d Frontend: Fix layout of live photos in landscape orientation 2020-12-16 15:52:44 +01:00
Michael Mayer
28880e682d Database: Improve config and SQL queries 2020-12-15 20:14:06 +01:00
Michael Mayer
0999eca362 Search: Use | as OR separator 2020-12-14 22:57:07 +01:00
Michael Mayer
473566f404 Videos: Enforce transcoding to MPEG-4 AVC #603 2020-12-12 17:20:31 +01:00
Michael Mayer
9f4066edb6 Indexer: Improve stacking and indexing of moved files 2020-12-11 22:09:11 +01:00
Michael Mayer
8a86fbc60f Indexer: Update index after renaming related sidecar files 2020-12-11 19:39:42 +01:00
Michael Mayer
04c17fb77b Indexer: Improve stacking settings and merging 2020-12-11 17:21:13 +01:00
Michael Mayer
fe9884331f make fmt
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-09 21:49:41 +01:00
Michael Mayer
0d16e31154 Albums: Disable date update queries on SQLite #692 2020-12-09 21:44:39 +01:00
Michael Mayer
c0fb3deb06 Indexer: Stack photos while optimizing 2020-12-09 21:44:04 +01:00
Michael Mayer
382e001053 Albums: Improve update queries 2020-12-09 13:36:01 +01:00
Michael Mayer
004400b118 Albums: Improve folder indexing 2020-12-09 13:10:21 +01:00
Michael Mayer
b7cd2facb9 Indexing: Use fallback for MySQL to improve performance on MariaDB #599 2020-12-09 13:08:55 +01:00
Michael Mayer
ee49073cf2 Albums: Improve UX and indexing 2020-12-08 22:40:13 +01:00
Michael Mayer
466a1bc3dd Albums: Hide empty folder albums after re-indexing #684 2020-12-08 19:47:27 +01:00
Michael Mayer
a43f8be231 Stacks: Repair merge query #681 #667 #593 2020-12-07 17:51:35 +01:00
Michael Mayer
ae0af699c6 Stacks: Add advanced indexing options #681 #667 #593 2020-12-07 16:19:03 +01:00
Michael Mayer
d0f8c577b3 Indexer: Add optimize command & automatically fix location data #546 2020-12-05 00:13:44 +01:00
Michael Mayer
e77fefd78f Indexer: Improve stacking SQL #576 2020-12-04 20:33:17 +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
Michael Mayer
59a806c685 Indexer: Fix purge and restore of RAW files #568 #614
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-11-21 23:28:03 +01:00
Michael Mayer
8516c749b7 Fix search for folders with special characters in their name #581 #587
This will remove the ability to search for multiple folders.
2020-11-21 18:32:04 +01:00
Michael Mayer
5daa689975 Backend: Format go imports 2020-11-21 18:08:41 +01:00
Michael Mayer
668025c050 Fix album cover after update #575 2020-11-21 18:05:20 +01:00
Michael Mayer
28f59947df Indexer: Update index when files were renamed #568 2020-11-15 15:15:56 +01:00
Michael Mayer
2bad5b3cdd Backend: Wrap SQL select for MySQL 8 #599
In MySQL, you can't modify the same table which you use in the
SELECT part (DELETE and UPDATE with subquery):
https://dev.mysql.com/doc/refman/8.0/en/update.html

We need to verify how this affects large photo libraries
as it probably "breaks" the query optimizer. So might lead to
bad performance as well as high CPU and/or memory usage.
2020-11-15 12:15:14 +01:00
Michael Mayer
e22e6c6d37 Indexer: Improve duplicate detection #568
Only non-sidecar files in the originals folder will be added to the
duplicates table to avoid side effects.
In addition, the duplicates table is cleaned before and after indexing.
2020-11-15 10:31:46 +01:00
Theresa Gresch
c72ddbedcb Backend: Add unit tests 2020-10-20 10:07:27 +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
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
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
a01e54070d Index: Skip duplicates and handle files with wrong extension #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-20 19:48:31 +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
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
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
31647943d9 Add file timestamp map for faster indexing #391
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-17 12:47:12 +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
b62af742ae Backend: Improve log messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-14 18:00:32 +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
Theresa Gresch
0b55a9278e Backend: Add unit tests for internal/query 2020-07-13 13:12:32 +02:00
Theresa Gresch
0144458664 Backend: Add unit tests for internal/query 2020-07-13 12:29:11 +02:00
Theresa Gresch
f71dd8359f Backend: Add unit tests for internal/query 2020-07-13 11:40:49 +02:00
Theresa Gresch
b21433479e Backend: Add unit tests for internal/query 2020-07-13 11:11:52 +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