Commit graph

605 commits

Author SHA1 Message Date
Michael Mayer
9eda12ac20 Performance: Refactor database schema and UI components #995 #1438 #1811 2022-03-30 20:36:25 +02:00
Michael Mayer
9d110e8b80 Search: Improve album, albums, lens, and camera filters #1994 #2079
Camera and lens can now also be searched by name. Escaping and parsing
of albums has been improved so that albums whose names start with and/or
contain numbers will be found.
2022-03-24 18:30:59 +01:00
Michael Mayer
d0beab3f09 Config: Update expected flags in config_test.go and client_test.go 2022-03-16 17:41:50 +01:00
Michael Mayer
6bebf9043b Config: Add Docker env string to backend requests (develop, prod)
For easier debugging so that development environments can be identified.
2022-03-02 14:16:49 +01:00
Michael Mayer
3d9cb51641 Darktable: Set explicit cache and config path, log exact commands #2076 2022-03-02 12:20:02 +01:00
Michael Mayer
c256664a1b WebDAV: Fix upload of complete albums #1376 2022-02-27 17:32:54 +01:00
Michael Mayer
c853b3cd2d Backend: Shorten source file headers and normalize email addresses 2022-02-21 15:30:18 +01:00
Michael Mayer
6c4fc42415 API: Add Explicit Cache Header for Existing Thumbs #822 2022-02-20 17:36:51 +01:00
Michael Mayer
9c0a47b8bc Videos: Stream directly without CDN and fix content header #1648 #1937 2022-01-18 12:28:27 +01:00
Michael Mayer
03457bdb75 Frontend: Refactor asset loading #1648 2022-01-18 12:26:33 +01:00
Michael Mayer
f5b7ef834e Index: Prevent two primary files in photo stacks #1823 2022-01-06 14:33:49 +01:00
Michael Mayer
dd9d7123d9 Index: Improve indexing and unstacking of related files #1823
This commit also adds initial HDR flag extraction from metadata.
2022-01-05 16:37:19 +01:00
Michael Mayer
58a5f94069 Backups: Rename album backups to exports and improve command help #1887 2022-01-05 11:40:44 +01:00
Michael Mayer
8efe473d30 Copyright: Update year in source files and footer.vue 2022-01-03 13:46:52 +01:00
Michael Mayer
5f229ecb53 Albums: Exclude private pictures from downloads #1836 2022-01-03 12:51:59 +01:00
Michael Mayer
e8a1e85f14 Search: Improve query string normalization and sanitation #1814 #1820 2021-12-16 15:26:54 +01:00
Michael Mayer
2636255c95 Search: Add uid:... search filter #1820 2021-12-16 11:42:57 +01:00
Michael Mayer
0f0c0aaa0b API: Improve path and filename parameter sanitation #1814 2021-12-14 20:01:39 +01:00
Michael Mayer
cce371d35a Sharing: Fix link redirect on shared domains #1617 2021-12-14 18:36:36 +01:00
Michael Mayer
4e94919030 API: Improve request parameter sanitation #1814 2021-12-14 18:34:52 +01:00
Michael Mayer
9a8144c046 Log4j: Sanitize user input in logs like filenames and album titles #1814 2021-12-14 17:07:38 +01:00
Michael Mayer
35ac1e730c Docs: Update URL 2021-12-12 20:48:05 +01:00
Michael Mayer
1b583e071e People: Add mutex so changes don't get processed concurrently 2021-12-09 02:33:41 +01:00
Michael Mayer
9df31e2592 CLI: Update command descriptions, log messages and levels 2021-11-27 18:41:10 +01:00
Michael Mayer
2d350c190f Places: Only show nearby photos in viewer if > 50 results on map 2021-11-26 21:10:52 +01:00
Michael Mayer
650817a9e0 API: Add prefix to the source filename of search request handlers
Finding the right code is easier when the name matches related
functionality in other packages.
2021-11-26 14:28:50 +01:00
Michael Mayer
3e6c7052bb Places: Refactor GeoJSON API endpoint 2021-11-26 13:59:10 +01:00
Michael Mayer
45d1360c18 Metadata: Improve location estimates and UTC handling #1668 2021-11-23 19:23:10 +01:00
Michael Mayer
c48310f077 Albums: Improve state geodata and sort by country #1608 #1664 2021-11-18 00:46:34 +01:00
Michael Mayer
0b36818704 People: Update test for updating markers of non-primary files #1710 2021-11-09 18:02:44 +01:00
Michael Mayer
8f9796637d People: Fix updating markers of non-primary files #1710 2021-11-09 18:00:24 +01:00
Michael Mayer
c029b2a78c Docker: Rename and update dummy-webdav service 2021-11-09 16:55:16 +01:00
Michael Mayer
2a119380a7 Folders: Ignore names listed in .ppignore #1609 2021-10-09 13:57:28 +02:00
Michael Mayer
d1f68e4f7a People: Fix form handling in subject API endpoint #22 #1554 2021-10-06 20:06:52 +02:00
Michael Mayer
767e3ca492 People: Hide person from people and new faces overviews #1554 2021-10-06 15:27:17 +02:00
Eng Zer Jun
44f7700c0c
Enable module graph pruning and deprecate io/ioutil (#1600)
* Backend: Enable Go module graph pruning and lazy module loading

This commit applies the changes by running `go mod tidy -go=1.17` to
enable module graph pruning and lazy module loading supported by Go 1.17
or higher.

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>

* Backend: Move from io/ioutil to io and os package

The io/ioutil package has been deprecated as of Go 1.16, see
https://golang.org/doc/go1.16#ioutil. This commit replaces the existing
io/ioutil functions with their new definitions in io and os packages.

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2021-10-06 07:10:50 +02:00
Michael Mayer
a5c2794611 CLI: Improve help for purge command 2021-10-05 22:44:27 +02:00
Michael Mayer
de63227767 CLI: Update help texts for commands and flags 2021-10-05 22:33:29 +02:00
Michael Mayer
4f1ecb6ced People: Improve log messages #22 2021-10-05 19:06:05 +02:00
Michael Mayer
f7153cdd21 People: Improve logging, command help, and handling of broken files #22 2021-10-05 18:42:39 +02:00
Michael Mayer
de737a6eef Logs: Always put time in brackets 2021-10-02 15:19:11 +02:00
Michael Mayer
9a88d7fc6a Logs: Tweak messages and log levels for improved readability 2021-10-02 14:24:44 +02:00
Michael Mayer
74233809b9 Covers: Rename "preview images" to "cover thumbs" for consistency #383 2021-10-01 16:44:50 +02:00
Michael Mayer
f6c18f7767 People: Count the number of photos for each subject #22
Also fixes issues with older versions of MariaDB, see #1544
2021-10-01 16:34:29 +02:00
Michael Mayer
24eff21aa4 Search: Default to photo names and keywords #1517 #1560
Default to photo name when search term is too short or on the stop list.
Search full text index otherwise, which now include names of people
(requires reindexing).
2021-09-29 20:09:34 +02:00
Michael Mayer
f23d288380 Index: Replace changed file hashes and remove orphan markers 2021-09-24 13:13:59 +02:00
Michael Mayer
4a545767d4 API: Add descriptions to config handlers 2021-09-24 02:03:34 +02:00
Michael Mayer
eb8bc7b709 Backend: Improve resilience #1544 2021-09-23 23:46:17 +02:00
Michael Mayer
7767d0c892 People: Update photo and file counts after faces have been updated #22 2021-09-23 16:06:59 +02:00
Michael Mayer
8e5a97ed4a People: Simplify thumbnail API for face crops #22 2021-09-20 16:17:10 +02:00
theresa
68dbcf4039 People: Add unit test #22 2021-09-20 09:31:30 +02:00
Michael Mayer
1f92f294dd People: Normalize names #22 2021-09-19 13:35:44 +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
theresa
885b2b0e00 People: Add unit tests #22 2021-09-17 17:23:42 +02:00
Michael Mayer
0f90258ef9 Search: Omit full text index if query is too short #1517 2021-09-17 15:52:25 +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
92748180c1 Calendar: Improve hiding empty months #1456 2021-09-06 11:19:18 +02:00
Michael Mayer
82e1fe12a4 People: Use server generated face crops #22 2021-09-05 21:19:52 +02:00
Michael Mayer
6d1179dc03 People: Refactor face cropping #22 2021-09-05 17:10:52 +02:00
Michael Mayer
b9d1c7afb3 People: Improve thumb size config and flag descriptions #22 2021-09-05 13:48:53 +02:00
Michael Mayer
d21dc3457c People: Refactor thumb package and variable names #22 2021-09-05 12:32:08 +02:00
Michael Mayer
6f5e839e2f People: Move crop package to internal #22 2021-09-05 11:05:33 +02:00
Michael Mayer
34c8f9d7b1 People: Implement crop thumbnail API #22 2021-09-03 17:42:37 +02:00
Michael Mayer
c520cb4ee4 People: Add autocomplete for selecting a person #22 2021-09-03 16:14:09 +02:00
Michael Mayer
c179a790b8 People: Improve face crop caching #22 2021-09-02 23:47:37 +02:00
Michael Mayer
97af133763 People: Add subjects API #22 2021-09-02 16:12:31 +02:00
Michael Mayer
9acd4a25b9 People: Generate photo titles from subject names #22 2021-09-02 14:23:40 +02:00
Michael Mayer
69014e8216 People: Switch to UIDs for marker API and entity #22 2021-09-01 20:46:15 +02:00
theresa
6b10ae5511 People: Add unit tests #22 2021-08-31 14:59:53 +02:00
Michael Mayer
5db93bb731 People: Abort marker API request if feature is disabled #22 2021-08-31 13:34:29 +02:00
Michael Mayer
72b517d7c7 API: Add code comments 2021-08-31 13:33:27 +02:00
Michael Mayer
bc3036599b People: Refactor album, subject, and label previews #22 2021-08-30 18:58:27 +02:00
Michael Mayer
fe321b946f People: Add subjects.* websocket event subscription #22 2021-08-30 12:22:23 +02:00
Michael Mayer
f5fc97be27 Calendar: Automatically toggle visibility of months #1456 2021-08-29 19:54:50 +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
981c51f977 People: Optimize manually clustered faces #22 2021-08-22 21:06:44 +02:00
Michael Mayer
2e85b3cccd People: Split facial recognition into smaller functions #22
Clustering and matching have been improved along the way. This opens
the door for further optimizations while keeping the code readable.
2021-08-22 16:14:34 +02:00
Michael Mayer
d88d9b3781 People: Add API endpoint for removing marker subject associations #22 2021-08-21 16:36:00 +02:00
Michael Mayer
babc6a2d6c API: Add more detailed upload error logs #1486 2021-08-19 12:51:55 +02:00
Michael Mayer
67bf46dd9a Auth: Refactor ACL Roles and Resources #98
Renamed ResourcePeople to ResourceUsers. Work in progress.
Added a few "default" roles as a reminder for later.
2021-08-13 21:23:34 +02:00
Timo Volkmann
754a48c8d5 Auth: adapt tests for recent changes 2021-08-12 20:33:14 +02:00
Timo Volkmann
62c38f00b9 Auth: do not allow user to change other users passwords 2021-08-12 20:33:14 +02:00
Michael Mayer
35f0a1925c API: Update config_test.go 2021-08-12 12:06:55 +02:00
Michael Mayer
5d9e26719c Run make fmt 2021-08-11 13:23:17 +02:00
Timo Volkmann
177367e78d Auth: add change password tests #98 2021-08-11 12:58:38 +02:00
Timo Volkmann
daf81b20ee Auth: fix wrong api test init sequence #98 2021-08-11 12:57:54 +02:00
Michael Mayer
371a9b3c45 Run make fmt 2021-08-11 11:01:14 +02:00
Timo Volkmann
3829377824 Auth: fixed typo in tests 2021-08-11 10:47:52 +02:00
Timo Volkmann
dd0ee298cd Auth: added api tests for user sessions #98 2021-08-10 17:22:15 +02:00
theresa
9263895408 Tests: Adapt tests to fixture changes 2021-08-05 12:33:52 +02:00
theresa
7c16183998 Tests: Adapt tests for internal/api to fixture updates 2021-08-04 17:09:12 +02:00
theresa
ca390351d8 Tests: Update fixtures 2021-07-22 18:31:56 +02:00
Michael Mayer
49fd531420 People: Implement marker update API #22 2021-06-02 17:25:04 +02:00
Michael Mayer
7de3713024 Backup: Improve command flags and usage docs #1190 #1193 2021-04-19 13:48:46 +02:00
Michael Mayer
25adf01d79 Backend: Upgrade Go dependencies 2021-04-19 12:24:14 +02:00
theresa
fc6227ae58 Tests: Add tests for internal/api 2021-03-11 09:36:47 +01:00
theresa
816aca7420 Tests: Add tests for internal/api 2021-03-10 16:55:55 +01:00
theresa
c0d5da40e1 Tests: Add tests for internal/api 2021-03-10 15:52:38 +01:00
theresa
aadc870c11 Tests: Add tests for internal/api 2021-03-10 11:30:26 +01:00
Michael Mayer
01d4b1ee31 Exif: Refactor JPEG rotation based on orientation flag #1064
We now manually detect and change the rotation, the imaging
autorotation functionality was disabled for our core use-cases.

anymore.
2021-02-21 22:53:25 +01:00
Michael Mayer
4939e36ac6 Video: Update docker-compose.yml ARM64 example #703
Renamed PHOTOPRISM_FFMPEG_CODEC to PHOTOPRISM_FFMPEG_ENCODER as well.
Log level for errors has been increased to warn.
2021-02-16 11:40:40 +01:00
Michael Mayer
5c3ca4ea5d Video: Implement fallback to default software codec #703 2021-02-15 20:52:14 +01:00
Michael Mayer
341270c779 Video: Remove debug log #703 2021-02-15 20:26:32 +01:00
Michael Mayer
2671edf982 Videos: Add bitrate and pixel format to ffmpeg transcoding params #703 2021-02-14 19:14:12 +01:00
Michael Mayer
b09edde419 Index: Improve log messages #1010 2021-02-08 08:09:23 +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
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
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
527aa38c96 Albums: Use same cover placeholder as folders 2021-01-26 19:28:42 +01:00
Michael Mayer
2c79340bb7 Archive: Permanently Delete Files After Confirmation #167 2021-01-24 15:28:59 +01:00
Michael Mayer
a808f4a5fb PWA: Add anti-cache param to manifest.json 2021-01-08 18:32:08 +01:00
Michael Mayer
6811a07e8a Backend: Remove allegro/bigcache in favor of patrickmn/go-cache #807 2021-01-08 13:29:01 +01:00
Michael Mayer
54e2ca3dab API: Improve thumbnail performance & caching #807 #822 2021-01-08 12:52:26 +01:00
Michael Mayer
2952728098 API: Clear album cover cache when updating private flag(s) #807 #822 2021-01-08 12:20:41 +01:00
Michael Mayer
4f8af03b55 API: Reduce cache TTL for album / folder cover images #822 #846 2021-01-08 09:09:59 +01:00
Michael Mayer
92df3aa724 API: Refactor response headers #822 #846 2021-01-08 09:02:30 +01:00
Michael Mayer
60499867af API: Add Cache-Control and X-Preview-Token headers #822 #846
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2021-01-07 22:55:50 +01:00
Michael Mayer
9ec2381307 Update copyright after year change 2021-01-01 22:37:25 +01:00
Michael Mayer
f439a6d050 Shares: Show all albums on overview page #776 2020-12-31 12:34:06 +01:00
Michael Mayer
bbd0af3dd3 Shares: Allow reuse of the same share slugs & tokens #776 2020-12-31 12:02:26 +01:00
Michael Mayer
650cfd28d7 UX: Update "albums" and "empty album" icons 2020-12-31 10:23:08 +01:00
Michael Mayer
4e91771afd Tests: Update fixtures and folder test 2020-12-30 18:12:30 +01:00
Michael Mayer
fd4cf7b598 UX: Move folders next to Library in navigation & fix folder icon 2020-12-30 18:10:20 +01:00
Michael Mayer
884839331a Frontend: Improve album UX
Moves albums to the top next to photos, and replaces album icons.
2020-12-30 16:07:03 +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
5f94f023ef API: Refactor ACL 2020-12-19 01:54:48 +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
43714c00d5 UX: Refactor Library UI 2020-12-18 13:05:48 +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
37f79324ce Language dropdown: Don't translate locales #712 2020-12-16 13:27:44 +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
801dc49dd7 Settings: Add "delete" feature flag and share page title #167 2020-12-13 14:53:26 +01:00
Michael Mayer
7bae7edf50 Videos: Set explicit content type header for MPEG-4 AVC #603 2020-12-12 17:53:19 +01:00
Michael Mayer
473566f404 Videos: Enforce transcoding to MPEG-4 AVC #603 2020-12-12 17:20:31 +01:00
Michael Mayer
fe72a1ab52 Frontend: Improve sharing UX 2020-12-12 15:13:16 +01:00
Michael Mayer
73a00efae8 Workaround for bad image rotation in Exif headers #637 2020-12-12 13:05:58 +01:00
Michael Mayer
03d3dd0f02 Unstack related sidecar files #616 2020-12-12 11:08:53 +01:00
Michael Mayer
9fe9ca747f Indexer: Improve unstacking of single files 2020-12-11 23:09:06 +01:00
Michael Mayer
04c17fb77b Indexer: Improve stacking settings and merging 2020-12-11 17:21:13 +01:00
Michael Mayer
c0fb3deb06 Indexer: Stack photos while optimizing 2020-12-09 21:44:04 +01:00
Michael Mayer
ee49073cf2 Albums: Improve UX and indexing 2020-12-08 22:40:13 +01:00
Michael Mayer
ae0af699c6 Stacks: Add advanced indexing options #681 #667 #593 2020-12-07 16:19:03 +01:00
Michael Mayer
846c635f22 Video: Transcoding to AVC1 #636 #513 #624 #603 #533 $440 2020-12-05 04:24:10 +01:00
Michael Mayer
0b16a67c90 WebDAV: Sync video files #504 2020-12-05 02:18:45 +01:00
Michael Mayer
d0f8c577b3 Indexer: Add optimize command & automatically fix location data #546 2020-12-05 00:13:44 +01:00