Michael Mayer
4fc693fb0b
Permanently delete non-primary files #435
...
This is a fix for unstacking issues in certain situations. More general
photo delete functionality will be added later, see #167 .
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-04 14:21:40 +02:00
Michael Mayer
46b9239026
Backend: Refactor user entity and add pro package
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-10-03 13:50:30 +02:00
Phil Davis
c90f19ec21
Fix minor typos
2020-10-01 16:00:43 +05:45
Michael Mayer
226f218f80
Backend: Count login attempts and localize error messages
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-21 09:40:35 +02:00
Michael Mayer
6d58b76394
Backend: Remove GlobalUID from Address entity
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-21 08:55:33 +02:00
Michael Mayer
dc8640ca2b
Person: Revert previous commit
...
EulaSigned might cause confusion as it's commonly used for proprietary software.
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-17 19:20:12 +02:00
Michael Mayer
48ec25bcba
Person: Add EulaSigned date field
...
Users might need to accept terms & conditions when using external services / APIs.
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-16 18:14:09 +02:00
Michael Mayer
9950bc9975
Person: Rename UserActive to IsActive #98 #144
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-16 16:44:20 +02:00
Michael Mayer
a44351f332
Person: Refactor / rename entity fields #98 #144
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-16 16:24:03 +02:00
Michael Mayer
d18414e468
Person: Rename optional UserUUID to GlobalUID #98 #144
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-16 15:35:35 +02:00
Michael Mayer
3af6e9b83e
Frontend: Update user model #98 #144
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-13 18:10:31 +02:00
Michael Mayer
84b17194af
Backend: Refactor person entity #98 #144
...
Database column types are now UPPERCASE so that developers can easily recognize them. After upgrading to GORM 2.0, we can use generic types instead.
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-13 17:51:43 +02:00
Michael Mayer
a071642629
Backend: Refactor person entity fields #144
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-07 17:10:43 +02:00
Michael Mayer
01c4b483dd
Backend: Refactor person entity for smaller db row size #144
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-07 12:18:12 +02:00
Michael Mayer
33888fd231
Backend: Add credentials and extend person entity #98 #144
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-06 14:18:40 +02:00
Theresa Gresch
7e7b53590a
Backend: Add validation for valid dates in setTakenAt()
2020-08-18 10:42:09 +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
d43d3a22e0
Backend: Improve country estimate from folder name
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-14 15:36:48 +02:00
Michael Mayer
28595497b1
Backend: Limit place estimates to 36h time difference
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-24 14:06:26 +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
d20d9c50dd
Metadata: Upgrade go-exif v3
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-21 10:52:39 +02:00
Michael Mayer
ab6228fb9a
Index: Skip empty files #391
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-21 10:44:41 +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
0da72687e6
Backend: Add Huawei P10 models to camera model lookup table
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-20 13:03:14 +02:00
Michael Mayer
cd7cd064b6
Backend: Add Huawei Mate models to camera model lookup table
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-20 12:43:57 +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
812e550d76
Backend: Remove unused duplicate field from file entity
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-18 12:39:04 +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
13fe9af2fc
Backend: Fix panorama detection #352
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-17 10:10:01 +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
6c13b75562
Backend: Improve places logging #399
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-16 14:00:22 +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
f484dd004c
Add Huawei P20 and P20 Pro #399
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-15 09:18:58 +02:00
Michael Mayer
d6b848c0e9
Backend: Use common log prefix for places and their cells
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-15 08:31:36 +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
Theresa Gresch
e6cc639040
Backend: Add unit tests for internal/api
2020-07-14 14:46:27 +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
7a7c5aa190
UX: Reduce some levels to keep logs clean
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-14 12:39:56 +02:00
Theresa Gresch
a5987a0b33
Backend: Add unit tests for internal/api
2020-07-14 11:24:00 +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
Michael Mayer
a507f21740
Backend: Remove unused notes field from file entity
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 18:09:44 +02:00
Theresa Gresch
dac846ba01
Backend: Add unit tests for internal/workers
2020-07-13 16:44:17 +02:00
Michael Mayer
4a9f992056
Thumbs: Use fit_4096 in favor of fit_3840 and add convert limit #362 #388
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 15:23:54 +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
Theresa Gresch
0144458664
Backend: Add unit tests for internal/query
2020-07-13 12:29:11 +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
Theresa Gresch
edb9bba671
Backend: Add unit tests for internal/photoprism
2020-07-12 14:36:36 +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
8c53049b4a
Backend: Remove deprecated columns from geo and places
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-12 06:54:07 +02:00
Michael Mayer
2bef7e7e9d
Backend: Reduce location estimate time difference to 3 days
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-12 05:20:16 +02:00
Michael Mayer
8bf6a7b678
Backend: Fix location estimate query
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-12 05:10:00 +02:00
Michael Mayer
00e334657a
Photo: Set defaults for PlaceID, GeoID, CameraID and LensID
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-12 04:48:17 +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
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
2c6552ff73
Backend: Remove log in Photo.Create()
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-11 09:41:35 +02:00
Theresa Gresch
d4935c2d13
Backend: Add unit tests for internal/entity
2020-07-10 17:35:22 +02:00
Theresa Gresch
dcc43ed45d
Backend: Add unit tests for internal/entity
2020-07-10 17:27:06 +02:00
Michael Mayer
174e6d53c9
Backend: Use FirstOrCreate() instead of Create() when adding new photos
...
Not perfect as metadata should rather be merged. Ideally some kind of mutex avoids database conflicts / locks / errors in the future. Right now, we're (intentionally) using the database as "mutex" so that the application code needs less complexity. This is especially problematic on powerful servers with many CPUs and index workers. See also issue #392 .
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-10 17:09:39 +02:00
Theresa Gresch
dad0ba9d27
Backend: Add unit tests for internal/entity
2020-07-10 15:15:56 +02:00
Theresa Gresch
d6c910c16b
Backend: Add unit tests for internal/entity
2020-07-10 15:06:37 +02:00
Theresa Gresch
4196420dc7
Backend: Add unit tests for internal/entity
2020-07-10 13:57:51 +02:00
Theresa Gresch
560849ec52
Backend: Add unit tests for internal/entity
2020-07-10 11:44:51 +02:00
Theresa Gresch
1f9528562f
Backend: Add unit tests for internal/entity
2020-07-10 10:58:06 +02:00
Theresa Gresch
b480bbefcc
Backend: Add unit tests for internal/entity
2020-07-10 10:29:56 +02:00
Michael Mayer
3f9454876d
Concurrency fix for photo details #357
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-09 17:45:56 +02:00
Theresa Gresch
f857198178
Backend: Add unit tests for internal/entity
2020-07-09 16:46:13 +02:00
Theresa Gresch
6212c8d63d
Backend: Add unit tests for internal/entity
2020-07-09 15:37:30 +02:00
Theresa Gresch
dd7b5b3a1b
Backend: Add unit tests for internal/entity
2020-07-09 12:24:44 +02:00
Theresa Gresch
131e822a58
Backend: Add unit tests for internal/entity
2020-07-09 11:50:58 +02:00
Theresa Gresch
15d66fc304
Backend: Add unit tests for internal/entity
2020-07-09 11:27:44 +02:00
Theresa Gresch
006e833249
Backend: Fix unit test
2020-07-08 18:36:37 +02:00
Theresa Gresch
226eafec7b
Backend: Add unit tests for internal/entity
2020-07-08 18:09:18 +02:00
Theresa Gresch
e1487238e6
Backend: Add unit tests for internal/entity
2020-07-08 17:36:06 +02:00
Theresa Gresch
3e6c21a566
Backend: Add unit tests for internal/entity
2020-07-08 17:06:23 +02:00
Theresa Gresch
380aa0ba4b
Backend: Add unit tests for internal/entity
2020-07-08 15:25:33 +02:00
Michael Mayer
e2845981c1
Concurrency fixes for cameras, lenss, folders, keywords, and labels #357
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 20:44:33 +02:00
Michael Mayer
4b7551fb99
Try fetching country again if create fails #357
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 16:56:02 +02:00
Michael Mayer
14420b02a9
Try fetching places and location again if create fails #357
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 16:40:29 +02:00
Michael Mayer
3bfbd3070e
Fix time difference threshold in Photo.EstimatePlace()
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 13:18:34 +02:00
Michael Mayer
6273e77867
Try saving photo a second time after deadlocks #357
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 12:59:47 +02:00
Michael Mayer
3fec93ee4e
Load existing photo if uid was found in YAML sidecar file #357
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 12:20:38 +02:00
Michael Mayer
d1db3d04f7
Logs: Improve event log and messages in i18n package
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-07 10:51:55 +02:00
Michael Mayer
8f74fdb8a0
Backend: Fix Photo.GetDetails()
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 20:20:03 +02:00
Michael Mayer
eeef16f07e
Backend: Refactor photo details entity #379 #357
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 19:15:57 +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
1284091b77
Backend: Improve FileTitle() function
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 11:31:03 +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
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
4721f9d044
Backend: Improve metadata logs
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-02 08:16:27 +02:00
Michael Mayer
f576b000b7
Add event log in Library > Errors
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-01 17:16:24 +02:00
Michael Mayer
d4f4af313d
Add change password command and improve account page in settings
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-01 12:38:58 +02:00
Michael Mayer
95802d9f6c
Add album edit dialog
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-30 11:27:02 +02:00
Michael Mayer
2f88ab2ebc
Improve UX of account page
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-30 09:06:59 +02:00
Michael Mayer
0e426a547b
Disable account page in public mode
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-30 08:50:44 +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
1c72f88e8c
Backend: Improve logging #369
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-29 13:16: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
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
2b2cd8ed23
Backend: Sanitize metadata titles and descriptions
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-27 14:15:25 +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
cfd23666a9
Sharing: Link expiration, view counter and permissions #18
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-26 12:16:13 +02:00
Michael Mayer
5d59b50912
Sharing: ACL authorization for REST API #18
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-25 14:54:04 +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
43abf0bd83
Photos: Rename maintained_at to checked_at
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-24 08:34:23 +02:00
Michael Mayer
12cfe6efec
Backend: Prefer file title over image classification #361
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-23 11:12:24 +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
2f7c002b4d
Backend: Fix location estimate query
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-16 10:08:34 +02:00
Michael Mayer
961fda3b11
Add photos from other albums (clone)
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-14 11:39:53 +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
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
f2738c1f65
Backend: Update size limit for (U)UIDs to 42 bytes
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-09 19:40:32 +02:00
Michael Mayer
e83bb6ff02
Add comments to entity package constants
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-09 10:51:22 +02:00
Michael Mayer
aedc0279e3
Fix places count while indexing
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-09 10:49:27 +02:00
Michael Mayer
d72480200e
Add approve button to photo card view
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-09 09:20:20 +02:00
Michael Mayer
8fa1cb9392
Add favorite places
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-08 18:32:51 +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
5c574e3837
Backend: Hide private photos in moments
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-05 10:59:59 +02:00
Michael Mayer
5a06433a1c
Fix restore photo data from YAML files
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-05 10:17:00 +02:00
Michael Mayer
5b1c0f2afe
Refactor Photo.LoadLocation and LoadPlace
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-04 22:26:00 +02:00
Michael Mayer
f16169c259
Refactor Photo.PlaceLoaded and LocationLoaded
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-04 22:05:24 +02:00
Michael Mayer
6564e7a548
NewPhoto should only set default IDs, not entities
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-04 21:55:00 +02:00
Michael Mayer
c0a3ab5ac5
Favorites: Don't count private photos #334
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-04 17:33:00 +02:00
Michael Mayer
916e3a570c
Backend: Don't index sidecar files if main file failed
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-04 17:06:42 +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
15113afaa6
Backend: Fix handling of deleted labels
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-02 17:57:12 +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
a1238c94cc
Fix photo test after improving location estimate #260
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 18:19:24 +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
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
946f7967b5
Implement download as zip for moments, calendar and folders #154
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 21:31:32 +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
ea6ed61d1f
Automatically create albums from folders #260
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 15:42:04 +02:00
Michael Mayer
0b1bcf0d4a
Replace TiDB with SQLite for improved stability #66
...
As a side effect, we need less configuration values.
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 14:52:47 +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
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
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
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
301e510b2d
Photos: Generate title based on estimated place #154
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 21:51:34 +02:00
Michael Mayer
1df0d9a549
Change name of maintenance worker to "prism" #154
...
See https://twitter.com/browseyourlife/status/1265289044856123393
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 19:27:29 +02:00
Michael Mayer
24cc8089fa
Fix favorite counter for archived files #334
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 13:43:16 +02:00
Michael Mayer
fe732e274c
Fix saving photo metadata
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 12:46:22 +02:00
Michael Mayer
dd42d2b823
Entities: Refactor FirstOrCreate
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 11:00:39 +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
4421e7d203
Add simple file browser to Library #260
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-24 22:16:06 +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
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
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
6f3ccc95aa
Backend: Make sure .photoprism directory exists
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 19:49:32 +02:00
Michael Mayer
4300d45482
Backend: Log errors in database
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 13:48:05 +02:00
Michael Mayer
a785a9d708
Backend: Update TestPhoto_Save test
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 12:51:19 +02:00
Michael Mayer
27ea0cb214
Backend: Improve entity log and error messages
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 12:48:32 +02:00
Michael Mayer
1cf0893b18
Backend: Fix AfterCreate after upgrading GORM
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 12:30:26 +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
7777fa95a5
Backend: Don't backup albums to photo yaml (just yet)
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 09:44:49 +02:00
Michael Mayer
bbe60d120b
Backend: Set DescriptionSrc when restored from YAML
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 09:21:10 +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
f057880df3
Backend: Fix panic in File.Save()
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 17:57:40 +02:00
Michael Mayer
0bf17206d0
Entity: Return error in File.Save() if PhotoID is 0
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 17:25:28 +02:00
Theresa Gresch
1fdc2cf610
Backend: Add tests to internal/entity
2020-05-18 16:37:37 +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
Theresa Gresch
d2975666e5
Backend: Make LocLabel unique in place fixtures
2020-05-18 10:05:33 +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
7ee4d5eda5
Photo: Update year and month whenever takenAt may change
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-15 16:06:32 +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
Theresa Gresch
e4c521d9b3
Backend: Update FindPlaceByLabel function
2020-05-15 13:16:03 +02:00
Theresa Gresch
4aaa4e9fc2
Backend: Add tests to internal/entity
2020-05-15 13:15:10 +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
Theresa Gresch
afc1e10646
Backend: Add tests to internal/api
2020-05-14 18:10:01 +02:00
Theresa Gresch
07e4d22464
Backend: Add tests to internal/entity
2020-05-14 15:28:11 +02:00
Theresa Gresch
156c7b295e
Backend: Add tests to internal/entity
2020-05-14 15:27:12 +02:00
Theresa Gresch
05078b0e4b
Backend: Add test fixtures
2020-05-14 14:17:12 +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
Theresa Gresch
c0a2da8bab
Backend: Add tests fixtures
2020-05-13 19:46:49 +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
Theresa Gresch
25da779c43
Backend: Add tests fixtures
2020-05-13 11:51:51 +02:00
Theresa Gresch
0284f7c101
Backend: Add test fixtures
2020-05-13 10:15:43 +02:00
Theresa Gresch
c0b6eaa9d5
Backend: Add tests to internal/entity
2020-05-12 13:52:09 +02:00
Theresa Gresch
687c85ed73
Backend: Fix bug in addLabels function
2020-05-12 11:52:46 +02:00
Theresa Gresch
96208d2c51
Backend: Add tests to internal/entity
2020-05-12 11:51:54 +02:00
Theresa Gresch
ac698b6eab
Backend: Add test fixtures
2020-05-12 11:51:28 +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
Theresa Gresch
e95260e3ab
Backend: Add tests to internal/entity
2020-05-11 17:01:19 +02:00
Theresa Gresch
95ab6dfb94
Backend: Add test fixtures
2020-05-11 17:01:05 +02:00
Theresa Gresch
7cce763864
Backend: Refactor test fixtures
2020-05-11 14:49:53 +02:00
Michael Mayer
3c47a85ea5
Backend: Move UpdatePhotoCounts() to entity package
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 11:01:28 +02:00
Michael Mayer
4fbed12e94
Backend: Skip archived photos while indexing #300
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 08:57:58 +02:00
Michael Mayer
923093042a
Purge: Improve photo counts and logging
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 07:23:23 +02:00
Michael Mayer
8ccaaff4e5
Backend: Update label photo count and refactor entity fixtures
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-10 19:43:49 +02:00
Michael Mayer
4beeebe5cc
Backend: Add Hidden column to PhotoAlbum
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-09 21:00:02 +02:00
Michael Mayer
252e67ce03
Add photo_count column to labels table
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-09 11:00:22 +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
2f28c6840e
Backend: Try migrations a second time if they fail
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 18:18:19 +02:00
Michael Mayer
40b7a1285f
Backend: Reduce db migration error log level to debug
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 18:02:53 +02:00
Michael Mayer
c5dbe1bc14
Backend: Refactor database migration
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 17:45:32 +02:00
Michael Mayer
94dfb3cd19
Add WaitForMigration() function to avoid db test failures
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 16:36:09 +02:00
Michael Mayer
05d9187167
Update count in places are restoring photos #234
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 16:01:34 +02:00
Theresa Gresch
aaf1ff64ad
Backend: Add tests to internal/entity
2020-05-08 15:46:16 +02:00
Michael Mayer
842da9f09b
Backend: Query package refactoring
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 15:41:01 +02:00
Theresa Gresch
0d0ba28331
Backend: Add tests to internal/entity
2020-05-08 14:18:11 +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
3288ede6e6
Simplify Purge() function #234
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 12:01:28 +02:00
Theresa Gresch
dc23632556
Backend: Add tests to internal/entity
2020-05-08 11:46:09 +02:00
Theresa Gresch
a136945470
Backend: Add tests to internal/entity
2020-05-08 10:21:03 +02:00
Michael Mayer
c0c0c96c30
Remove primary flag for missing files #234
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 09:36:34 +02:00
Michael Mayer
979a5f5c76
Code clean-up and refactoring of purge command #234
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 21:55:34 +02:00
Michael Mayer
252672b291
Run purge after indexing files in Web UI #234
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 21:46:00 +02:00
Michael Mayer
f0187df4a1
Purge command to remove missing files from the index #234
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 19:42:04 +02:00
Theresa Gresch
5c0d12c4d9
Backend: Add tests to internal/entity
2020-05-07 18:08:12 +02:00
Theresa Gresch
4c6aec9912
Backend: Add tests to internal/entity
2020-05-07 17:29:35 +02:00
Theresa Gresch
a0465e0e10
Backend: Add tests to internal/entity
2020-05-07 16:45:33 +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
Theresa Gresch
b16216819b
Backend: Add test fixtures
2020-05-05 09:28:30 +02:00
Theresa Gresch
5388b785bf
Backend: Add tests to internal/api
2020-05-04 17:54:42 +02:00
Theresa Gresch
6e2062ea4b
Backend: Add tests to api/labels
2020-05-04 16:02:49 +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
Theresa Gresch
d81fe794eb
Backend: Add label fixtures
2020-05-03 17:26:26 +02:00
Theresa Gresch
6edb578b34
Backend: Add test fixtures
2020-05-01 14:18:51 +02:00
Theresa Gresch
9e343cef04
Backend: Add fixtures for files
2020-05-01 14:18:51 +02:00
Theresa Gresch
409cea4659
Backend: Add fixtures for photokeywords
2020-05-01 14:18:51 +02:00
Theresa Gresch
5d2c4fa5d6
Backend: Add fixtures for photolabels
2020-05-01 14:18:51 +02:00
Theresa Gresch
c0a37ca36a
Backend: Add fixtures photoalbum
2020-05-01 14:18:51 +02:00
Theresa Gresch
0008f68b71
Backend: Add fixtures for links
2020-05-01 14:18:51 +02:00
Theresa Gresch
5f33848b14
Backend: Add fixtures for keywords
2020-05-01 14:18:51 +02:00
Theresa Gresch
3127eef80f
Backend: Add fixtures for categories
2020-05-01 14:18:51 +02:00
Theresa Gresch
5c86f02106
Backend: Add test fixtures for albums
2020-05-01 14:18:51 +02:00
Theresa Gresch
434948d57a
Backend: Add test fixtures for photos
2020-05-01 14:18:51 +02:00
Theresa Gresch
9234c5797a
Backend: Add test fixtures for labels
2020-05-01 14:18:50 +02:00
Theresa Gresch
6188c7f736
Backend: Add test fixtures for countries
2020-05-01 14:18:50 +02:00
Theresa Gresch
785d433ba9
Backend: Add test fixtures for cameras
2020-05-01 14:18:50 +02:00
Michael Mayer
59f1c0d786
Backend: Code clean-up
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-01 13:54: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
Michael Mayer
b4a04a478f
Backend: Set test database using PHOTOPRISM_TEST_DSN
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 22:39:38 +02:00
Michael Mayer
f8de34dac7
Backend: Add account fixtures
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 22:25:53 +02:00
Michael Mayer
c30476f120
Backend: Refactor test db initialization
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 21:21:09 +02:00
Michael Mayer
260cca91fe
Backend: Refactor entity package
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 20:07:03 +02:00
Michael Mayer
eaae910014
Backend: Refactor entity tests
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 14:32:48 +02:00
Michael Mayer
3da7719728
Backend: Don't use UTC as unknown time zone
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-29 02:22:59 +02:00
Michael Mayer
428d5f34b5
Backend: Remove event entity until we need it
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-28 19:44:27 +02:00
Michael Mayer
96098913ff
Places: Add support for new keywords field
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-28 19:41:06 +02:00
Michael Mayer
95cc4ec43f
Backend: Code clean-up
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-26 17:15:17 +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
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
e9948344c0
Backend: Use type varbinary(2) for country
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-25 16:23:16 +02:00
Michael Mayer
e29897715d
Change unknown place ID to "zz"
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-25 16:17:59 +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
e8e0639d78
Backend: Provide unknown camera & lens as default
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-25 14:22:47 +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
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
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
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
9f188a7b93
Albums: Set default sort order to "oldest first"
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-20 12:53: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
0c3a06d355
Sync: Skip existing files
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-20 07:43:49 +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
d2d3f7eb52
Fix automatic titles for photos without location
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-18 23:48:56 +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
af3945d2fe
Label: Remove log messages
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-17 23:17:31 +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
9a763541ac
Keywords: Improve indexing and logging
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-17 14:16:34 +02:00
Theresa Gresch
74e33e1917
Backend: Improve labels
2020-04-16 23:16:55 +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
61ebd1ac90
Locations: Refactor indexing
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-16 18:05:22 +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
6941028c4f
Backend: View and edit archived photos
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-15 14:27:48 +02:00
Michael Mayer
3b27f8d3f4
Skip exact duplicates #283
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-14 15:08:39 +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
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
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
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
1adc144ac2
Backend: Insert shared file into files_share table #225
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-01 18:17:29 +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
2cd3a3030c
Backend: Code clean-up
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-30 13:34:53 +02:00
Michael Mayer
9f400a826c
Frontend: Fix account management issues #225
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-30 09:17:46 +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
a9ece37feb
Backend: Enable service discovery in API #225
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-29 12:02:01 +02:00
Michael Mayer
ec051e5481
Backend: Improve file share and sync entities #225
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-29 08:34:25 +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
1d667ada79
Backend: Add account API #225
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-28 15:29:17 +01:00
Michael Mayer
81dc7bbb19
Backend: Add sharing entities (file sync & push) #225
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-27 18:17:07 +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
François d'Yvoire
55693fab35
Some more comment improvements ( #257 )
...
* Improve comment in classify package
* improve comment in config package
* improve entity package comments
* grammar error in comments
2020-02-21 01:14:45 +01:00
Michael Mayer
c583d7e994
Backend: Index Keywords, Subject and Artist #243
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-07 17:02:53 +01:00
Michael Mayer
4ef19bb671
Backend: Sidecar file hashes may have duplicates
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-04 12:25:57 +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
90dd094a21
Sharing: Add accounts table #11
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-02 00:31:09 +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
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
183ebd3f03
Backend: Add FileError col to files table #202
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-29 17:41:51 +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
f569c3adb6
Require password for all pages (if not running in public mode)
...
See https://github.com/photoprism/photoprism/issues/167#issuecomment-574866401
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-22 13:43:07 +01:00
Michael Mayer
c978fa00f1
Backend: Proof-of-concept for indexing XMP files #68
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 23:14:10 +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
Michael Mayer
fbea88bd74
Backend: Add PPID() to rnd package
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-12 12:32:24 +01:00
Michael Mayer
ba9b3cad72
Backend: Increase S2 cell level from 18 to 21 and remove suburb
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-11 01:59:43 +01:00
Michael Mayer
b37d4472e4
Backend: Use original file if thumb size exceeds limit #172
...
Plus some mutex and config refactoring along the way...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-08 19:51:21 +01:00
Michael Mayer
21451e8263
Backend: Code refactoring and clean-up #172
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-08 09:27:39 +01:00
Michael Mayer
c147eee30f
Backend: Add stub for meta package #172
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-07 17:36:49 +01:00
Theresa Gresch
4cf7cd98b1
Add test for country.go
2020-01-06 20:16:31 +01:00
Michael Mayer
3d990fc3fd
Backend: Add support for PNG, TIFF, BMP and GIF #38 #156
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 17:50:05 +01:00
Michael Mayer
f6d4e62ea8
Backend: Split up "util" package
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 15:22:46 +01:00
Michael Mayer
e43983d579
Backend: Refactor thumbnail package #157
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 14:32:15 +01:00
Michael Mayer
5ec2d9e9a4
Backend: Add config parameters #99 #157 #180
...
This commit adds config parameters for thumbnail quality, max thumbnail size and geocoding api as well as a flag to to disable TensorFlow.
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 06:59:35 +01:00
Michael Mayer
582113fed4
Backend: Add write mutex to entities and improve test fixtures #164
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 04:24:49 +01:00
Michael Mayer
01ca94d536
Backend: Initialize test db with fixtures #84 #129
...
Fixtures can be found in assets/resources/examples/fixtures.sql and must be maintained manually for now
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 02:14:17 +01:00
Michael Mayer
a3b3136498
Backend: Add "idx_photos_taken_uuid" for consistent sorting by time
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-05 14:09:17 +01:00
Michael Mayer
29db7abfd1
Backend: Add mutex for location updates
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 06:10:28 +01:00
Michael Mayer
4263061a89
Backend: Fix index events after refactoring
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 05:38:21 +01:00
Michael Mayer
32fdb72ac9
Backend: Code clean-up
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 04:08:33 +01:00
Michael Mayer
6da8bd098a
Backend: Add support for new Places API #173
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-31 07:16:11 +01:00
Michael Mayer
cf909e2a4e
Backend: Use S2 tokens for location and place ID #173
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-31 01:34:27 +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
de6503646c
Backend: Refactor location
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-28 12:28:06 +01:00
Michael Mayer
875245f1d4
Backend: Use uint64 for location IDs
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-27 23:58:51 +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
d0104560de
Labels: Update labels.yml and location.go
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-19 12:31:13 +01:00
Michael Mayer
fc5d327494
Photo: DATETIME instead of TIMESTAMP for TakenAt #162
...
Error logging and labels were also improved along the way.
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-19 09:37:10 +01:00
Theresa Gresch
2658767d72
Add test for entity/share.go
2019-12-17 18:28:47 +01:00
Theresa Gresch
98ebf18ff5
Add test for entity/photo_label.go
2019-12-17 18:28:07 +01:00
Theresa Gresch
b5336eebb0
Add test for entity/photo_keyword.go
2019-12-17 18:27:48 +01:00
Theresa Gresch
cf08fd4256
Add test for entity/photo_album.go
2019-12-17 18:27:25 +01:00
Theresa Gresch
156a13358e
Add test for entity/location.go
2019-12-17 18:27:08 +01:00
Theresa Gresch
8cb5041f96
Add test for entity/lens.go
2019-12-17 18:26:50 +01:00
Theresa Gresch
a9f55ed73f
Add test for entity/keyword.go
2019-12-17 18:26:33 +01:00
Theresa Gresch
11f29ba5e4
Add test for entity/file.go
2019-12-17 18:26:13 +01:00
Theresa Gresch
da2aefa446
Add test for entity/event.go
2019-12-17 18:25:56 +01:00
Theresa Gresch
2d12e6aa72
Add test for entity/category.go
2019-12-17 18:25:39 +01:00
Theresa Gresch
1b78ae2513
Add test for entity/album.go
2019-12-17 18:25:13 +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
2d490812d2
Backend: Higher default threshold for labels #160
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-16 20:22:46 +01:00
Michael Mayer
13536bb8b2
Backend: Log indexing duration for files
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-13 07:54:05 +01:00
Michael Mayer
645d02d782
Indexer: Improve titles, labels and performance
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-12 16:31:55 +01:00
Michael Mayer
845cc5a77d
Backend: API stub for editing photo metadata
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 19:11:44 +01:00
Michael Mayer
4e06deda76
Backend: Rename "models" package to "entity"
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 16:55:18 +01:00