Commit Graph

304 Commits

Author SHA1 Message Date
Michael Mayer
5acc02e248 Config: Initialize storage folder with serial
To detect non-permanent storage and configuration issues.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-12-05 06:21:16 +01:00
Michael Mayer
d0f8c577b3 Indexer: Add optimize command & automatically fix location data #546 2020-12-05 00:13:44 +01:00
Michael Mayer
902aacece9 Indexer: Merge identical photos (stack files) #576 2020-12-04 19:51:51 +01:00
Michael Mayer
390dc7f7e5 Refactor backend api package 2020-12-04 13:10:32 +01:00
Michael Mayer
b3abe6840a Config: Create settings.yml if it doesn't exist 2020-12-04 12:15:59 +01:00
Michael Mayer
b7876711ad Fallback to backup path if storage path is not defined or writable 2020-12-04 11:37:31 +01:00
Michael Mayer
3464bf35ed Config: Add backup path parameter 2020-12-04 11:02:19 +01:00
Michael Mayer
5daa689975 Backend: Format go imports 2020-11-21 18:08:41 +01:00
Michael Mayer
edb52b85a4 Backend: Use version 0.0.0 for all tests 2020-11-16 19:39:40 +01:00
Michael Mayer
28ec2df70f Limit number of default workers when using SQLite #558
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-21 07:33:24 +02:00
Michael Mayer
fc9e3d1c58 Config: Improve docker-compose.yml examples
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-09 15:25:46 +02:00
Michael Mayer
3b02449903 Backend: Fix config tests
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-09 11:35:05 +02:00
Michael Mayer
5fa47652ee Backend: Refactor config initialization
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-08 08:52:03 +02:00
Michael Mayer
13383ac701 Config: Don't error if settings path does not exist #535
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-07 12:22:45 +02:00
Michael Mayer
b87e860444 Add feedback form
Signed-off-by: Michael Mayer <michael@lastzero.net>
2020-10-04 22:22:53 +02:00
Michael Mayer
78f2470421 Backend: Refresh api keys and send to frontend
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-10-04 04:47:54 +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
Michael Mayer
d38c84bbfb Update trademark
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-21 02:48:22 +02:00
Michael Mayer
641ffd397d Backend: Add signature to PhotoPrism Places API requests
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-06 14:48:09 +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
Michael Mayer
53c48cd570 Config: Remove deprecated "sidecar-hidden" flag #488
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-06 12:42:38 +02:00
Michael Mayer
6577d99363 Postgres: Add docker-compose.postgres.yml, see #47
Postgres support additionally requires a GORM upgrade to 2.0 (v1.20) as the current version doesn't support generic column types like "bytes" (VARBINARY in MySQL, different in Postgres and other SQL dialects).

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-06 12:38:23 +02:00
Michael Mayer
7d95a2cd5d Improve sidecar config hints #488
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-06 12:26:25 +02:00
Michael Mayer
b3bb2883fc Frontend: Disable route when PHOTOPRISM_SETTINGS_HIDDEN is true #474
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-19 12:45:26 +02:00
Michael Mayer
db4749a6f8 Config: Show helpful error message when a path is missing #418
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-18 19:09:46 +02:00
Michael Mayer
ebe5143fc6 RAW: Render CR3 files using Rawtherapee 5.8 #445
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-08-12 13:16:25 +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
710888c59f Darktable: Disable presets by default
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-21 12:18:53 +02:00
Michael Mayer
ee8d9ad919 Show max cached thumbnail size if uncached is disabled #413
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-18 17:33:02 +02:00
Michael Mayer
1ad34478de Increase default jpeg-size to 7680 x 4320 px #388
It's easier to decrease this when you've made a mistake than the other way.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-15 08:30:28 +02:00
Michael Mayer
c0f10e2288 Use gettext for backend translations too
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-15 01:26:54 +02:00
Michael Mayer
f4e8b59c3b Rename PHOTOPRISM_CONVERT_SIZE to PHOTOPRISM_JPEG_SIZE #388
Naming more consistent with PHOTOPRISM_JPEG_QUALITY.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-14 14:30:19 +02:00
Theresa Gresch
f270b67632 Backend: Add unit tests for internal/config 2020-07-14 09:18:47 +02:00
Theresa Gresch
434bbd751c Backend: Add unit tests for internal/config 2020-07-14 09:18:24 +02:00
Theresa Gresch
832715f861 Backend: Improve Dsc regular expression and add test 2020-07-14 08:46:20 +02:00
Michael Mayer
b1eac027f3 Remove database DSN and init call from test config
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 20:41:16 +02:00
Michael Mayer
161b36f8a4 Refactor config and worker tests for better performance
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 20:25:47 +02:00
Theresa Gresch
119784ef2c Backend: Add unit tests for internal/config 2020-07-13 19:25:27 +02:00
Theresa Gresch
6504c7ae74 Backend: Add unit tests for internal/config 2020-07-13 18:48:56 +02:00
Theresa Gresch
6cea8f0d3b Backend: Add unit tests for internal/config 2020-07-13 18:05:10 +02:00
Theresa Gresch
c827df2c04 Backend: Add unit tests for internal/config 2020-07-13 17:37:43 +02:00
Michael Mayer
4d42222caf Rename "thumbnails" to "thumbs" and group api functions in one file
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 17:25:27 +02:00
Michael Mayer
212857318b UX: Rename group(ed) to stack(ed) #394
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-13 15:59:54 +02:00
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
Michael Mayer
4fb263f8a4 Add location field to album metadata
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-12 16:36:39 +02:00
Michael Mayer
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
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
1f4a1a942e Backend: Remove debug logs from client config
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-06 19:56:06 +02:00
Michael Mayer
68843a626d Backend: Add translations for API messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-07-04 12:54:35 +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
2a24bf293d Backend: Rename PrismWorker to MetaWorker
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-29 13:35:38 +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
1fb8b5cd63 Use static logo in sidebar navigation
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-26 16:11:56 +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
01c78639ef Config: Shorten default site caption
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-25 18:39:55 +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
1a0398d01f Docs: Fix indentation
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-23 13:53:11 +02:00
Michael Mayer
4154715512 Docs: Update package information and copyright
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-23 13:44:14 +02:00
Michael Mayer
cd3a2afdbc Backend: Add settings to public / share client config #363
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-23 12:37:37 +02:00
Michael Mayer
06b43da8c2 Fix s.style not set when loading places #363
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-22 20:41:18 +02:00
Michael Mayer
0ed82c690c Add link sharing template #18
Public mode only, auth not implemented yet.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-22 20:15:08 +02:00
Michael Mayer
5d4b36b53c Update copyright notice
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-20 14:29:11 +02:00
Michael Mayer
178ae9190b Config: Update site description default
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-16 10:08:34 +02:00
Michael Mayer
20d0a88bf6 Add setting to remove Library from navigation
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-09 08:37:43 +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
793fd55712 Fix readonly check for sidecar files #268 #348
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 14:33:07 +02:00
Michael Mayer
83cb004d47 Improve description for read-only flag #344
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 10:39:23 +02:00
Michael Mayer
250a2ea62d Enable sidecar files in readonly mode if path is absolute #268 #348
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-07 10:33:56 +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
c0a3ab5ac5 Favorites: Don't count private photos #334
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-04 17:33:00 +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
23df85375e Originals and import path auto-configuration #66
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 12:20:32 +02:00
Michael Mayer
4684f66298 Improve storage path auto-configuration #66
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 11:28:28 +02:00
Michael Mayer
d0199598d0 Simplify configuration #66
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 02:09:52 +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
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
Alex Kay
c5c07d58f9
Fix inconsistent naming for PHOTOPRISM_READONLY (#337)
The actual name used throughout all Docker and YAML config files is `PHOTOPRISM_READONLY`
2020-05-29 09:23:26 +02:00
Michael Mayer
52473a1ca9 Add thumbnail filename cache and reuse db connections
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-28 16:26:22 +02:00
Michael Mayer
ed8390906c Add PHOTOPRISM_DATABASE_CONNS config parameter
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-28 15:37:08 +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
94846c2337 Rename ThumbToken to PreviewToken
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-27 19:56:56 +02:00
Michael Mayer
6f6e3799dc Refactor download urls and client config
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-27 19:38:40 +02:00
Michael Mayer
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
968cd71f34 Backend: Add groom worker and test stubs #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 15:15:14 +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
f9b6952947 Support for Live Photos #177
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-21 13:26:28 +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
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
da067f52e7 Improve command flag descriptions for sidecar files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 22:21:27 +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
39878b3f83 Store created files in .photoprism sub directory
See #268, #311 and #313

Hidden directory name poll: https://twitter.com/browseyourlife/status/1262320988081074178

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 15:45:55 +02:00