Commit Graph

297 Commits

Author SHA1 Message Date
viktorstrate
df80802cab Huge refactor: rename photo to media
To prepare for video support

Migrate database rename tables and columns:
- photo to media
- photo_url to media_url
- photo_exif to media_exif

- Update api accordingly
2020-07-10 14:26:19 +02:00
viktorstrate
3564866f41 Start on video processing 2020-07-10 12:58:11 +02:00
viktorstrate
7caad82059 Add ffmpeg worker and supported video formats 2020-07-09 15:07:39 +02:00
viktorstrate
aafcd64c23 Fix image preview aspect-ratio in sidebar 2020-07-02 22:08:11 +02:00
viktorstrate
c915b7741f Use relative font-size unit
For improved accessibility
2020-07-02 21:56:28 +02:00
viktorstrate
ed7fa5249c Present downloads in a table 2020-07-02 21:17:57 +02:00
Viktor Strate Kløvedal
29afba27ea Merge pull request #53 from stz184/use-hash-instead-of-full-path-to-avoid-key-length-maximum
In database, use hash instead of full path to avoid key length maximum.
2020-06-30 17:13:57 +02:00
viktorstrate
b4bdd522dc Make sure path hash is added consistently
The path_hash attribute is added after the path attribute,
to make it consistent with `002_photo.up.sql`
2020-06-30 15:53:29 +02:00
viktorstrate
f2bcdf883f Update path hash database migrations 2020-06-30 15:35:45 +02:00
stz184
642afe4966 scanner_user.go uses hashes now 2020-06-24 13:52:40 +03:00
stz184
e70da6bb26 Merge remote-tracking branch 'upstream/master' into use-hash-instead-of-full-path-to-avoid-key-length-maximum 2020-06-24 13:42:43 +03:00
stz184
f88fa33e5f InnoDB has a maximum index length of 767 bytes for tables that use COMPACT or REDUNDANT row format, so for utf8mb3 or utf8mb4 columns, you can index a maximum of 255 or 191 characters, respectively.
That's why I created a new column storing a MD5 hash of the path and made it unique. The MD5 hash has only 32 characters and can be generated natively in MySQL and MariaDB. It helps us to avoid maximum key length and in the same time enforce unique photo and album paths.

- Added path_hash column to photo and album tables
- Added down migration file for 005_utf8_migration (just for consistency)
- Added PathHash field to Album and Photo struct
- album_scanner.go and photo_scanner.goo perform checks by MD5 hash now
2020-06-24 11:43:20 +03:00
Viktor Strate Kløvedal
aa16e08b49 Setup automated testing of API 2020-06-23 17:10:53 +02:00
viktorstrate
fba41918f4 Fix formatting error 2020-06-23 17:02:44 +02:00
Viktor Strate Kløvedal
ab835eaa00 Merge pull request #52 from viktorstrate/scanner-queue
Add scanner queue
2020-06-23 16:57:26 +02:00
viktorstrate
66a4288ec9 Throttle queue notifications 2020-06-23 16:46:38 +02:00
viktorstrate
23461ee707 Fix bugs and improvements
- Fix a deadlock in the scanner cache
- Cleanup error messages and logs
2020-06-23 16:42:02 +02:00
viktorstrate
e57a6f3dc0 Make sure not only new photos are scanned
Fix a small bug where a photo was marked as processed when it wasn't
2020-06-23 15:23:20 +02:00
viktorstrate
11c3a92373 Reintregrate notifications with scanner 2020-06-23 15:13:07 +02:00
viktorstrate
cc1eadaef4 Fix queue tests 2020-06-23 14:10:03 +02:00
viktorstrate
95f4df4b7d Start to integrate new scanner system with api 2020-06-23 00:40:47 +02:00
viktorstrate
a22d002146 Major rework of scanner 2020-06-22 23:52:41 +02:00
viktorstrate
41d3b1879a Update api dependencies 2020-06-22 22:01:55 +02:00
viktorstrate
666ecef4b3 Refactor scanner
- Move scanner cache to its own file
- Move album scanner related code to its own file
2020-06-22 21:52:53 +02:00
viktorstrate
2f4212eeab Start on scanner queue + add some tests 2020-06-22 18:02:21 +02:00
viktorstrate
028afb7359 Minor improvements to Dockerfile 2020-06-20 13:21:07 +02:00
Viktor Strate Kløvedal
d282506a6a Merge pull request #50 from viktorstrate/favourite-images
Favourite photos when heart-icon is pressed
2020-06-19 15:57:18 +02:00
viktorstrate
26198d30e5 Add optimistic response for markFavorite 2020-06-19 15:56:04 +02:00
viktorstrate
9b6c9c3bd8 Favorite styles 2020-06-19 15:46:56 +02:00
viktorstrate
7686563b28 Implement photo favorite for album pages aswell 2020-06-19 15:38:27 +02:00
viktorstrate
5d1c2f7134 Implement favorite resolver 2020-06-19 15:34:52 +02:00
viktorstrate
b289b25e34 Start on photo favorite 2020-06-17 18:00:58 +02:00
viktorstrate
66b54a97f4 Add dimmer css and change dimmer opacity
- This solves a bug where clicking on "Change password"
would make the popup layout incorrectly
2020-06-15 17:26:52 +02:00
viktorstrate
afe8694845 Update npm dependencies 2020-06-15 17:12:16 +02:00
Viktor Strate Kløvedal
d41da4fe38 Merge pull request #49 from viktorstrate/protected-shares
Make shares password protectable
2020-06-14 21:04:52 +02:00
viktorstrate
fef27c5640 Add login page for protected shares 2020-06-14 20:56:48 +02:00
viktorstrate
79be996985 Detect if share token is password protected 2020-06-14 18:28:12 +02:00
viktorstrate
f6f6eb8bfa Prepare back-end for token password 2020-06-14 18:02:46 +02:00
viktorstrate
bbb6e2eca2 Add set password from share dropdown in sidebar 2020-06-14 15:07:07 +02:00
viktorstrate
abfcea9072 Fix bug: "Public shares" -> "more" button didn't show up
This fixes #47
Some more semantic-ui css files are addedthat wasn't imported automatically (see https://github.com/skleeschulte/babel-plugin-transform-semantic-ui-react-imports/issues/1)
2020-05-29 19:53:27 +02:00
Viktor Strate Kløvedal
d5e616edcc Merge pull request #46 from viktorstrate/api/better-raw-support
Add support for more RAW formats using darktable-cli
2020-05-18 11:18:45 +02:00
viktorstrate
d213a42869 Add supported raw formats by darktable 2020-05-17 22:32:31 +02:00
viktorstrate
b077f77c89 Make darktable run in parallel
by using different config directories for each photo
2020-05-17 21:49:29 +02:00
viktorstrate
bbcc4e9b11 Improve dockerfile performance and add darktable 2020-05-17 21:29:09 +02:00
viktorstrate
14f6f8f000 Fix error when encoding raw photos
where path contains spaces
2020-05-17 21:28:42 +02:00
viktorstrate
ad7ff8d39d Fix executable worker arguments 2020-05-17 16:08:58 +02:00
viktorstrate
40265a18f7 Integrate executable worker, still working on darktable 2020-05-15 16:36:02 +02:00
viktorstrate
76ade24041 start on executable worker 2020-05-15 15:23:21 +02:00
viktorstrate
0754e600b7 Make EncodeImageJPEG a method of EncodeImageData 2020-05-14 15:17:23 +02:00
viktorstrate
a4b37a392f Split up process_photo into encode + process 2020-05-14 14:35:08 +02:00