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
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
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
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
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
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
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
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
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
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
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
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
03ec4b586d
Initial commit for folders and moments #154 #260 #331
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-23 20:58:58 +02:00
Michael Mayer
a7122ff4e1
Add /folders API to get directory lists for browsing #260
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-22 16:29:12 +02:00
Michael Mayer
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
4300d45482
Backend: Log errors in database
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 13:48:05 +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
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
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
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
687c85ed73
Backend: Fix bug in addLabels function
2020-05-12 11:52:46 +02:00
Michael Mayer
a61f2384b3
Initial video support #17
...
Still need to add a player and index metadata. Work in progress.
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 18:29:17 +02:00
Michael Mayer
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
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
Michael Mayer
1479a3ec5b
Refactor indexer so that thumbs and jpegs can be created on demand #258
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-06 10:35:41 +02:00
Michael Mayer
2032b40f2b
Backend: Code clean-up
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-03 18:00:50 +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
260cca91fe
Backend: Refactor entity package
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 20:07:03 +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
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
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
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
9a763541ac
Keywords: Improve indexing and logging
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-17 14:16:34 +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
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
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
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
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
90dd094a21
Sharing: Add accounts table #11
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-02-02 00:31:09 +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
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
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
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
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
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
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
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
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
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