Commit graph

750 commits

Author SHA1 Message Date
Michael Mayer
f7cc61edbc People: Shorten names in titles #22 2021-09-18 21:40:57 +02:00
Michael Mayer
e82533cdf0 People: Add unknown faces overview page #22 2021-09-18 20:41:30 +02:00
Michael Mayer
ed22f245db People: Add faces API endpoint & JS model #22 2021-09-18 15:32:39 +02:00
Michael Mayer
8492efebcf People: Improve face thumbnails on overview page #22 2021-09-17 18:51:24 +02:00
Michael Mayer
6bcfb29fa2 Labels: Show photo count #584 #1444 2021-09-17 16:13:47 +02:00
Michael Mayer
79961ec11b MySQL: Fix compatibility issues #22 #1519 2021-09-17 14:39:08 +02:00
Michael Mayer
ece15c6ade People: Add overview page with search and context menu #22 2021-09-17 14:26:12 +02:00
Michael Mayer
deaca4b588 Backend: Fix typo in comment 2021-09-06 14:39:30 +02:00
Michael Mayer
24107eef82 People: Remove deprecated development database tables #22 2021-09-06 14:32:31 +02:00
Michael Mayer
92748180c1 Calendar: Improve hiding empty months #1456 2021-09-06 11:19:18 +02:00
Michael Mayer
fb10bda98f People: Limit sample radius to reduce false positives #22 2021-09-06 05:25:20 +02:00
Michael Mayer
aae4997da1 People: Avoid adding duplicates faces #22 2021-09-06 05:13:53 +02:00
Michael Mayer
b853317cdf People: Tweak face clustering parameters #22 2021-09-06 03:24:11 +02:00
Michael Mayer
527a3ff015 People: Refresh photo metadata after faces got identified #22 2021-09-06 01:16:36 +02:00
Michael Mayer
0ebff285e5 People: Refresh photo metadata when subjects change #22 2021-09-06 00:52:10 +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
6d1179dc03 People: Refactor face cropping #22 2021-09-05 17:10:52 +02:00
Michael Mayer
6f5e839e2f People: Move crop package to internal #22 2021-09-05 11:05:33 +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
57b79f983a People: Upgrade temp dev table names #22 2021-09-03 16:26:01 +02:00
Michael Mayer
c520cb4ee4 People: Add autocomplete for selecting a person #22 2021-09-03 16:14:09 +02:00
Michael Mayer
02932c3758 People: Change field order in marker_json.go #22 2021-09-02 23:50:39 +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
theresa
157823e65d Tests: Update fixtures 2021-09-02 17:43:46 +02:00
Michael Mayer
97af133763 People: Add subjects API #22 2021-09-02 16:12:31 +02:00
Michael Mayer
5f07b8bb10 Config: Refactor client data types 2021-09-02 14:45:26 +02:00
Michael Mayer
9acd4a25b9 People: Generate photo titles from subject names #22 2021-09-02 14:23:40 +02:00
Michael Mayer
1be409d654 People: Add SubjectNames() to file entity #22 2021-09-02 11:12:42 +02:00
Michael Mayer
e923391427 People: Improve collision handling and subject renaming #22 2021-09-01 21:16:08 +02:00
Michael Mayer
69014e8216 People: Switch to UIDs for marker API and entity #22 2021-09-01 20:46:15 +02:00
theresa
995b87373c Tests: Refactor tests to prevent nil pointer 2021-09-01 14:05: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
Michael Mayer
86f8bf58a7 People: Improve MergeFaces() resilience and logging #22 2021-08-31 15:33:42 +02:00
theresa
6b10ae5511 People: Add unit tests #22 2021-08-31 14:59:53 +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
1e33ce9e17 People: Add unit tests #22 2021-08-30 15:34:41 +02:00
theresa
5e88c386b6 People: Add unit tests #22 2021-08-30 14:58:37 +02:00
theresa
fb5cf1b9c0 People: Add unit tests #22 2021-08-30 13:40:14 +02:00
theresa
6187525f07 People: Add fixtures #22 2021-08-30 13:39:53 +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
a0f49f2d56 People: Sync subject name with markers table #22 2021-08-29 13:42:34 +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
0503011f87 People: Add "faces audit" command #22 2021-08-28 15:26:26 +02:00
Michael Mayer
327cd20a50 Run "make fmt" 2021-08-28 13:55:37 +02:00
theresa
630a599955 People: Add unit tests #22 2021-08-27 16:21:10 +02:00
theresa
64ad674f5f Tests: Add user fixtures and unit test 2021-08-27 15:33:33 +02:00
theresa
3bdabdedef People: Add fixtures unit tests #22 2021-08-27 15:33:06 +02:00
theresa
49ad7bb64a People: Add unit tests #22 2021-08-27 09:53:47 +02:00
theresa
af83a51496 Tests: Add unit tests 2021-08-26 18:02:53 +02:00
theresa
d0d62f470a Tests: Add unit tests 2021-08-26 17:26:48 +02:00
theresa
cfa105d3d6 Tests: Add file fixture 2021-08-26 17:24:48 +02:00
theresa
a2671b3428 People: Add unit tests #22 2021-08-26 16:31:05 +02:00
theresa
29be2cca27 People: Throw correct error in ReportCollision when embedding is empty #22 2021-08-26 16:00:11 +02:00
theresa
1761e139de People: Add unit tests #22 2021-08-26 15:51:21 +02:00
theresa
3a601f3953 People: Add unit tests #22 2021-08-26 11:58:52 +02:00
theresa
01742c13ea People: Add face + subject fixtures #22 2021-08-26 11:58:28 +02:00
theresa
c51452a90a People: Add unit tests #22 2021-08-25 17:54:06 +02:00
theresa
c99059567a People: Skip midpoint calculation if dimensions don't match #22 2021-08-25 17:53:45 +02:00
theresa
7a90c0209e Tests: Add tests for internal/entity 2021-08-25 15:29:00 +02:00
Michael Mayer
06835a3c5c People: Optimize face clustering and matching #22 2021-08-24 20:15:36 +02:00
Timo Volkmann
e71c398b1e Auth: Set role admin on user creation #98 2021-08-24 18:17:03 +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
theresa
9238d569e4 Tests: Update fixtures 2021-08-23 17:20:03 +02:00
Michael Mayer
fefe70f9a4 People: Improve face clustering and matching #22 2021-08-23 16:22:01 +02:00
Timo Volkmann
5442c04c75 Auth: Add user delete Tests #98 2021-08-23 11:52:37 +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
acde5c2dae People: Reset related fields when clearing marker subject #22 2021-08-21 17:11:02 +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
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
Michael Mayer
29a65dbaab People: Fork clusters library with fixed dbscan implementation #1478 2021-08-19 14:24:30 +02:00
Michael Mayer
6911c9f78b People: Change unknown face id #22 2021-08-19 11:36:45 +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
Michael Mayer
db95ceba65 People: Add threshold option for faces worker #22 2021-08-17 22:49:32 +02:00
theresa
e8d07e070c Tests: Update fixtures 2021-08-17 17:26:47 +02:00
theresa
b2fe042cf3 Tests: Update file fixtures 2021-08-17 17:26:47 +02:00
theresa
e27d363c3e Tests: Update photo fixtures 2021-08-17 17:26:47 +02:00
Timo Volkmann
19e9c7560e Auth: Add user entity functions and tests #98 2021-08-16 20:51:55 +02:00
theresa
35869c6620 Tests: Adapt tests to fixture updates 2021-08-16 18:19:23 +02:00
theresa
2a02bf74e8 Tests: Update file fixtures 2021-08-16 18:18:55 +02:00
theresa
cb427cf5d5 Tests: Update photo fixtures 2021-08-16 18:18:37 +02:00
theresa
41f0e08ba6 Tests: Adapt tests to updated fixtures 2021-08-16 17:15:06 +02:00
theresa
8895f95841 Tests: Update file fixtures 2021-08-16 17:14:37 +02:00
theresa
6c86800d97 Tests: Update photo fixtures 2021-08-16 17:14:18 +02:00
theresa
b877c14ada Tests: Adapt tests to fixture updates 2021-08-16 15:19:10 +02:00
theresa
2f674c5bb7 Tests: Update places fixtures 2021-08-16 15:18:30 +02:00
theresa
49c40b9d9a Tests: Update file fixtures 2021-08-16 15:18:06 +02:00
theresa
0deba0d4c7 Tests: Update photo fixtures 2021-08-16 15:17:43 +02:00
Michael Mayer
003982afe0 People: Remove face embeddings and landmarks from JSON response #22
Improves performance by reducing response size.
2021-08-16 01:45:36 +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
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
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
b6b38b54bb People: Move detectFaces() to index_faces.go #22 2021-08-14 16:01:44 +02:00
Michael Mayer
9057e39fb2 People: Add sample threshold to faces worker #22 2021-08-14 15:45:51 +02:00
Michael Mayer
45355c7303 People: Update entity database table names #22
Work in progress.
2021-08-13 20:31:41 +02:00
Timo Volkmann
754a48c8d5 Auth: adapt tests for recent changes 2021-08-12 20:33:14 +02:00
Timo Volkmann
7f90e3615b Auth: Add tests for finding users by uid #98 2021-08-12 20:33:14 +02:00
Michael Mayer
e78c4df22e People: Create person based on existing marker labels #22
Work in progress.
2021-08-12 17:49:48 +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
Michael Mayer
733b84a03b People: Add person entity and people count #22 2021-08-11 21:42:31 +02:00
Michael Mayer
2b0e266b16 People: Multiple embeddings per face crop #22 2021-08-11 13:21:22 +02:00
Timo Volkmann
e5b1b7b5f6 Auth: Add user and password fixtures #98 2021-08-10 12:30:04 +02:00
theresa
9263895408 Tests: Adapt tests to fixture changes 2021-08-05 12:33:52 +02:00
theresa
c13af0408d Tests: Update photo fixtures 2021-08-05 12:33:02 +02:00
theresa
a0cb73bd12 Tests: Update photo fixtures 2021-08-05 10:30:08 +02:00
theresa
c0cd45afe8 Tests: Update photo fixtures 2021-08-04 18:43:39 +02:00
theresa
a5152bad4d Tests: Adapt tests for internal/entity to fixture updates 2021-08-04 17:09:36 +02:00
theresa
c241faf248 Tests: Update file fixtures 2021-08-04 17:08:26 +02:00
Michael Mayer
0c42ded320 Tests: Reformat link_fixtures.go
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2021-07-25 23:48:34 +02:00
theresa
09c51c8db6 Tests: Update test fixtures 2021-07-23 13:25:28 +02:00
theresa
ca390351d8 Tests: Update fixtures 2021-07-22 18:31:56 +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
theresa
830fba9d0b Tests: Update test fixtures 2021-07-22 13:53:28 +02:00
Michael Mayer
bc86997ba3 Backend: Replace gopkg.in/ugjka/go-tz with gopkg.in/photoprism/go-tz
Original package was archived and not maintained anymore.
2021-07-17 15:21:03 +02:00
Michael Mayer
2d9918e72b People: Store detected face embeddings in markers table #22 #1406 2021-07-16 14:34:05 +02:00
Michael Mayer
c87d5da2e3 Config: Add CDN URL option #425 #1351 2021-07-05 16:41:43 +02:00
Michael Mayer
1a78bc7052 Tests: Code clean-up 2021-06-28 12:45:00 +02:00
theresa
1a90f4a454 Tests: Add tests for internal/entity 2021-06-23 15:34:19 +02:00
Michael Mayer
49fd531420 People: Implement marker update API #22 2021-06-02 17:25:04 +02:00
Michael Mayer
e29e9977a9 UI: Add people tab to photo edit dialog #22
Work in progress. Buttons don't work yet.
2021-06-01 17:39:03 +02:00
Michael Mayer
11b4fbd5a0 People: Refactor face marker indexing #22 2021-05-31 15:40:52 +02:00
Michael Mayer
64d45c6dab People: Save face markers #22 2021-05-26 14:41:59 +02:00
Michael Mayer
5ecba4926a People: Show number of faces in edit dialog #22 2021-05-26 09:51:00 +02:00
Michael Mayer
a6bf89d104 People: Detect number of faces (experimental) #22 2021-05-25 18:01:21 +02:00
Michael Mayer
27b14087e2 People: Add "people" search filter #22 2021-05-25 11:55:44 +02:00
Michael Mayer
07d1a74be8 People: Add PhotoPeople property to Photo struct #22 2021-05-25 11:39:22 +02:00
Michael Mayer
c2a8098b6c People: Add Marker entity #22 2021-05-25 11:38:04 +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
630de81c9f Metadata: Don't remove stopwords from existing keywords #1153 2021-05-01 11:06:51 +02:00
Michael Mayer
7de3713024 Backup: Improve command flags and usage docs #1190 #1193 2021-04-19 13:48:46 +02:00
theresa
c0d5da40e1 Tests: Add tests for internal/api 2021-03-10 15:52:38 +01:00
theresa
b2eee0d34d Tests: Add test fixtures 2021-03-10 11:30:09 +01:00
theresa
3f68c2f6e4 Tests: Add tests for internal/query 2021-03-03 11:49:32 +01:00
theresa
539562368e Tests: Add tests for internal/entity 2021-02-25 15:42:20 +01:00
theresa
bd8b5d9954 Tests: Add tests for internal/entity 2021-02-25 15:17:47 +01:00
theresa
c7a9c437ad Tests: Add tests for internal/entity 2021-02-24 18:10:15 +01:00
theresa
6c4c07f064 Tests: Add tests for internal/entity 2021-02-24 15:31:10 +01:00
theresa
7714ab893b Tests: Add tests for internal/entity 2021-02-24 11:38:28 +01:00
Michael Mayer
d42eb4e01b Classify: Improve moments & location labels 2021-02-21 17:18:36 +01:00
Michael Mayer
f986f21f47 Metadata: Remove estimate when setting a new country #1018 2021-02-11 19:48:33 +01:00
Michael Mayer
9b43e96659 Index: Improve log messages #1010 2021-02-08 08:19:30 +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
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
ee555e8f6a Upload: Add duplicates to selected album(s) as well #991 2021-02-05 21:12:40 +01:00
Michael Mayer
2a96c019f4 Metadata: Update camera model map 2021-02-05 19:48:53 +01:00
Michael Mayer
128cdf4bac Backend: Fix typo in photo entity 2021-02-05 19:18:33 +01:00
Krassimir Valev
c27e809308
Additional photo location unit tests (#918) 2021-02-05 18:32:32 +01:00
Michael Mayer
63ba28426e Navigation: Update counts when saving a photo #996 2021-02-05 18:22:52 +01:00
Michael Mayer
bf592bdf7c Backup: Restore archive flag from yaml files #912 2021-02-05 16:32:08 +01:00
Michael Mayer
a99c6978d2 Metadata: Update camera make map 2021-02-05 09:12:13 +01:00
Michael Mayer
b55c06dca1 Metadata: Rename SetTimeZone to UpdateTimeZone #930 2021-01-27 23:39:46 +01:00
Michael Mayer
480b186b3c Metadata: Ignore UTC time zone estimates #930 2021-01-27 23:31:13 +01:00
Michael Mayer
28e2e85d48 Metadata: Apply time zone estimate if date was not set manually #930 2021-01-27 22:47: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
40ccb29313 Metadata: Improve date extraction for mod time and file names #930 2021-01-27 15:21:54 +01:00
Michael Mayer
e175251783 Metadata: Remove time zone if taken date is from file name #930 2021-01-27 12:36:23 +01:00
Michael Mayer
2d0ba9c60e Backend: Add "OLYMPUS CORPORATION" to camera.go 2021-01-27 12:00:02 +01:00
Michael Mayer
52532c4579 Metadata: Improve handling of time zones and estimates #930 2021-01-26 19:18:37 +01:00
Michael Mayer
05b417acfa Metadata: Apply existing time zone when changing TakenAt 2021-01-26 13:00:54 +01:00
Michael Mayer
ef2f231d5b Indexer: Improve taken date fallback when other metadata is missing #930 2021-01-25 21:41:57 +01:00
Michael Mayer
378dd0812e Metadata: Simplify keyword indexing #920 2021-01-25 20:30:52 +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
6ee2613e90 Metadata: Improve time zone estimates #914 2021-01-19 13:47:41 +01:00
Michael Mayer
019a649c61 Metadata: Set time zone based on pictures taken at a similar time #914 2021-01-19 11:41:25 +01:00
Michael Mayer
9dad595c3e Photo: Allow overwriting estimated locations #918 2021-01-19 11:38:35 +01:00
Krassimir Valev
a90ee62cd6
Search albums by country (#905) 2021-01-16 12:48:43 +01:00
Michael Mayer
ed0aa11ee8 UX: Document min password length and reduce to 4 chars 2021-01-02 14:06:34 +01:00
Michael Mayer
8e22fbf8f6 Metadata: Store and compare data source for details #755 2020-12-31 13:51:31 +01:00
Michael Mayer
bbd0af3dd3 Shares: Allow reuse of the same share slugs & tokens #776 2020-12-31 12:02:26 +01:00
Michael Mayer
29a57fd846 Settings: Add estimate feature flag #622 2020-12-30 11:11:58 +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
4ac0ef3556 Indexer: Improve merging and performance
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-27 07:43:39 +01:00
Michael Mayer
fd53d30caa Indexer: Reset photo quality after merging
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-26 23:08:08 +01:00
Michael Mayer
45c0e2f60d Folders: Fix title capitalization #737
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-25 14:31:06 +01:00
Michael Mayer
1ad8eb343d Photo: Omit Stack property in YAML files if 0 2020-12-21 18:43: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
a067fe46ec UX: Add global server config options tab to Settings UI 2020-12-18 20:42:12 +01:00
Michael Mayer
7940786ce9 UX: Refactor config options to be more intuitive
Make sure to update your local config files when upgrading as
the name of some config values has changed. The default
config path has changed from "settings" to "config".
2020-12-18 09:11:42 +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
1f386533cf Indexer: Use lookup table to prioritize metadata sources 2020-12-17 10:23:17 +01:00
Michael Mayer
717da1bd34 Downloads: Configure file name schema #675
There is no UI for this setting yet.
2020-12-16 11:59:16 +01:00
Michael Mayer
28880e682d Database: Improve config and SQL queries 2020-12-15 20:14:06 +01:00
Michael Mayer
387452858e Indexer: Use mutex when saving photos to avoid concurrency issues 2020-12-14 20:56:33 +01:00
Michael Mayer
c2e5663da0 Indexer: Add folder albums while indexing 2020-12-14 20:37:54 +01:00