1
Fork 0
Commit Graph

1172 Commits

Author SHA1 Message Date
Viktor Strate Kløvedal 9b3c788df3
Merge pull request #58 from stz184/moved-or-deleted-photos-are-not-properly-deleted
When a photo is deleted or moved on the file system, the coresponding…
2020-08-03 19:41:58 +02:00
viktorstrate 01bec379c7 Move `deleteOldUserAlbums` function to `cleanup_media.go` 2020-08-03 19:39:39 +02:00
Viktor Strate Kløvedal 2d35f1b455
Merge pull request #59 from viktorstrate/dependabot/npm_and_yarn/ui/elliptic-6.5.3
Bump elliptic from 6.5.2 to 6.5.3 in /ui
2020-07-31 22:37:09 +02:00
dependabot[bot] 95862300c8
Bump elliptic from 6.5.2 to 6.5.3 in /ui
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.2 to 6.5.3.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.2...v6.5.3)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-31 11:12:45 +00:00
stz184 e89c84f45f When a photo is deleted or moved on the file system, the coresponding cache folder and database record are deleted.
fixes #56
2020-07-24 20:50:17 +03:00
viktorstrate 3e4b232b1e Update migration to support mariadb 10.5.2 and newer
To support the database configuration used in docker-compose.example.yml
2020-07-15 10:45:33 +02:00
Viktor Strate Kløvedal adea4e3225
Merge pull request #55 from viktorstrate/feat/video-support
- Add video support using FFMPEG
- Use cookie-based authentication rather than a bearer header
- General refactor and cleanup
2020-07-13 18:17:13 +02:00
viktorstrate 07477ea789 Remove debug log 2020-07-13 18:15:23 +02:00
viktorstrate cd977bbc0c Add ffmpeg to docker 2020-07-13 18:14:01 +02:00
viktorstrate 82b18f0e9b Cleanup + add video format 2020-07-13 18:01:31 +02:00
viktorstrate 21f66b9e62 Use cookie based auth for shares with password 2020-07-13 17:51:53 +02:00
viktorstrate f669812efb Use cookies for authentication instead of header
This replaces the current implementation
where a bearer header holds the auth-token.
Now the same token is being sent using a cookie instead.
This greatly simplifies fetching resources (images and video),
since the header is sent along implicitly with each request.
2020-07-12 18:52:48 +02:00
viktorstrate d681d1538c Cleanup regarding video support 2020-07-12 14:31:50 +02:00
viktorstrate 0e9d37ca77 Add video metadata 2020-07-12 14:17:49 +02:00
viktorstrate 035aabb852 Add play icon to video thumbnails 2020-07-12 12:10:14 +02:00
viktorstrate bfa37a0174 Cleanup sidebar context; fix share media page 2020-07-12 11:54:16 +02:00
viktorstrate b34115cab0 Start on video integration with web ui 2020-07-11 16:42:27 +02:00
viktorstrate f537b1d608 Add video route (still unprotected) 2020-07-11 15:57:58 +02:00
viktorstrate 990a592fcc Expose media_type to graphql
- Make video thumbnail accessible from graphql
2020-07-11 14:21:10 +02:00
viktorstrate 9e5480188b add media_type column to media table in database 2020-07-11 14:05:06 +02:00
viktorstrate 0eb0319fa8 Generate video thumbnails 2020-07-11 13:39:11 +02:00
viktorstrate 26a5c5ac29 Encode videos for web using ffmpeg 2020-07-11 13:13:31 +02:00
viktorstrate 0ab6048151 Fix scanner 2020-07-10 18:57:27 +02:00
viktorstrate b510e14ecd Rename resolvers/photo.go to media.go 2020-07-10 18:52:18 +02:00
viktorstrate cacfb5edde Fix share pages 2020-07-10 18:35:37 +02:00
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