Commit graph

59 commits

Author SHA1 Message Date
asonix
c4c920191f Add read-only mode 2023-07-17 14:24:49 -05:00
asonix
a751d92436 Port error changes to 0.5 2023-07-16 21:51:14 -05:00
asonix
ec6c9aac1e Better discovery validation, proper invoking of imagemagick 2023-07-13 19:21:57 -05:00
asonix
2c22f2ee3a It compiles and runs, but doesn't work 2023-07-13 17:42:21 -05:00
asonix
33b83f97f2 It compiles
Need to reinstate media limits
2023-07-13 13:48:59 -05:00
asonix
9004ecaadf Better classify process related errors 2023-07-10 15:29:41 -05:00
asonix
7dadbcf3ed Replace UnsupportedFormat error with more helpful errors 2023-07-09 15:07:49 -05:00
asonix
1694f49436 Use json for ffmpeg, imagemagick details parsing 2023-07-09 14:50:58 -05:00
asonix
9e7376d411 Remove is_missing error, make Identifier and DeleteToken return Option on fetch 2023-07-07 13:17:26 -05:00
asonix
23e67b9697 Enhance migration handling of missing identifiers
Queue a cleanup task for hashes that don't have original file identifiers
Be more specific about what field is missing when a field is missing
2023-07-05 09:52:19 -05:00
asonix
58f0c328d9 Fix typo in error message 2023-06-23 11:20:55 -05:00
asonix
554d852e68 Create unique errors for Repo and Store, separate from UploadError
Add .is_not_found() for Store errors, wire up Object and File storage to properly set NotFound
Allow skipping files that are not found during store migration
2023-06-20 15:59:08 -05:00
asonix
c57a48db8a Start introducing more video controls 2022-09-25 17:36:07 -05:00
asonix
dc73bdbad4 Make already-claimed a 400 2022-06-05 23:24:58 -05:00
Aode (Lion)
6cdae7b318 Add 'cache' endpoint for ingesting ephemeral media
By default, cached media should only stick around for 7 days, however
The timeout is reset every time media is accessed, so only obscure
cached media will be flushed from the cache. This '7 days' number is
configurable through the commandline run options as --media-cache-duration
and in the pict-rs.toml file as [media] cache_duration
2022-04-05 20:29:30 -05:00
Aode (lion)
09281d9ae8 Move stream timeout to all response bodies 2022-03-29 16:48:26 -05:00
Aode (lion)
5adb3fde89 Move some Stream implementations into 'stream' module 2022-03-29 15:59:17 -05:00
Aode (lion)
99d042f36e Allow disabling gif/mp4 2022-03-29 11:04:56 -05:00
Aode (Lion)
eb5e39c634 Use color-eyre 2022-03-28 20:47:46 -05:00
Aode (lion)
1662f153ce Numerous changes:
- Improve error printing (display chain in addition to spantrace)
- Fix migration (read main identifier from identifier tree, not filename tree)
- Ensure uniqueness for processed images in ConcurrentProcessor (use source identifier in addition to thumbnail path, include extension in thumbnail path)
- Update default log levels (make pict-rs quieter)
- Add timeout for serving images from object storage (5 seconds)
2022-03-28 15:34:36 -05:00
Aode (lion)
37e6b21b55 Fix Range, consolidate errors, test object storage 2022-03-26 20:45:12 -05:00
Aode (lion)
15b52ba6ec Get it compiling again 2022-03-26 16:49:23 -05:00
Aode (lion)
323016f994 Build out migration path 2022-03-25 18:47:50 -05:00
Aode (lion)
21b6e1dc08 Use actix-web's Range header 2022-03-01 11:23:15 -06:00
Aode (lion)
f9f4fc63d6 Optionally support s3-compatible storage (untested) 2021-10-27 23:06:03 -05:00
Aode (lion)
48557bc2ea Make pict-rs generic over file storage 2021-10-22 23:48:56 -05:00
Aode (Lion)
f67aeb92fa Keep better track of gif/mp4 thumbnail 2021-10-20 21:36:18 -05:00
Aode (Lion)
e7b4e4d1cc Remove a few boxes 2021-10-20 18:58:32 -05:00
Aode (Lion)
195f614a4b Restructure attempt 1 2021-10-18 20:29:06 -05:00
Aode (Lion)
acba660c37 Update to latest actix-form-data 2021-09-13 20:50:51 -05:00
Aode (Lion)
5d3e6f50b3 Instrument better with Tracing 2021-09-13 20:22:42 -05:00
Aode (lion)
79bd562d8e Clippy lints 2021-09-12 10:42:44 -05:00
Aode (Lion)
e88b9a024a Add semaphore around process operations 2021-09-04 16:01:48 -05:00
Aode (lion)
e21fd29c09 Drop unneeded dependencies 2021-09-04 14:20:31 -05:00
Aode (Lion)
c1d4e3b87e Start work on piping bytes around from memory instead of going to disk and back 2021-08-30 21:19:47 -05:00
Aode (lion)
edd6bb4a60 Replace all bindings with calls to external binaries 2021-08-28 17:15:14 -05:00
asonix
120184dd0c Update dependencies 2021-06-19 14:39:41 -05:00
asonix
5e452ef27e Update actix deps 2021-04-17 14:59:42 -05:00
asonix
7aa32b9b3b Update actix deps 2021-03-09 20:51:03 -06:00
asonix
79b26a1dda Update to actix-web 4.0.0-beta.3 2021-02-10 16:57:42 -06:00
asonix
9797e2e3fc Go back to actix-fs 2021-01-18 19:54:39 -06:00
asonix
8c1f60101b Add module for Range Header operations
Switch from actix-fs to async-fs
2021-01-18 17:11:32 -06:00
John Doe
c663337bcd ranged support for process endpoint, bugfixes 2021-01-14 08:52:11 -05:00
John Doe
61061f0451 range header support 2021-01-13 20:08:04 -05:00
asonix
0bf7e0f688 Add initial details implementation
Details is an object generated for each image, containing
it's created_at date to properly set response headers. It
also can be expanding in the future to include an image's
dimensions, which we can expose via an API endpoint.

In addition to this, Details allows us the ability to
re-generate processed images. For now, all images which
do not yet have an associated Details will be
re-generated upon access. Details is set for each
thumbnail on generation, so this will only happen once
for each image.
2020-12-09 23:05:07 -06:00
asonix
4a3bd42c14 ffmpeg features, sled 034 2020-09-10 11:12:42 -05:00
asonix
a746793187 Enable mp4 with ffmpeg 2020-06-24 11:58:46 -05:00
asonix
6dab3b30e8 Purge image 2020-06-16 18:13:22 -05:00
asonix
df85faff8b Start work on webp support 2020-06-16 15:55:24 -05:00
asonix
154914e61a Use rexiv2 for metadata removal 2020-06-14 21:41:45 -05:00