2
0
Fork 0
mirror of https://git.asonix.dog/asonix/pict-rs synced 2024-11-20 11:21:14 +00:00
Commit graph

59 commits

Author SHA1 Message Date
39de25cbfd Add AggregateTimeout, don't aggregate with permit 2023-12-04 15:36:23 -06:00
6c9a50a1ad Implement constant-time equality for delete tokens, inline alias cleanup 2023-10-04 12:06:20 -05:00
b81bbb9b2d Add external validation check 2023-09-06 18:53:52 -05:00
e1ba1c13e5 Replace awc with reqwest 2023-07-21 16:21:24 -05:00
ee0ce5bc38 Return Root Cause error from backgrounded endpoint 2023-07-16 12:21:46 -05:00
9004ecaadf Better classify process related errors 2023-07-10 15:29:41 -05:00
7dadbcf3ed Replace UnsupportedFormat error with more helpful errors 2023-07-09 15:07:49 -05:00
1694f49436 Use json for ffmpeg, imagemagick details parsing 2023-07-09 14:50:58 -05:00
9e7376d411 Remove is_missing error, make Identifier and DeleteToken return Option on fetch 2023-07-07 13:17:26 -05:00
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
58f0c328d9 Fix typo in error message 2023-06-23 11:20:55 -05:00
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
c57a48db8a Start introducing more video controls 2022-09-25 17:36:07 -05:00
dc73bdbad4 Make already-claimed a 400 2022-06-05 23:24:58 -05:00
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
09281d9ae8 Move stream timeout to all response bodies 2022-03-29 16:48:26 -05:00
5adb3fde89 Move some Stream implementations into 'stream' module 2022-03-29 15:59:17 -05:00
99d042f36e Allow disabling gif/mp4 2022-03-29 11:04:56 -05:00
eb5e39c634 Use color-eyre 2022-03-28 20:47:46 -05:00
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
37e6b21b55 Fix Range, consolidate errors, test object storage 2022-03-26 20:45:12 -05:00
15b52ba6ec Get it compiling again 2022-03-26 16:49:23 -05:00
323016f994 Build out migration path 2022-03-25 18:47:50 -05:00
21b6e1dc08 Use actix-web's Range header 2022-03-01 11:23:15 -06:00
f9f4fc63d6 Optionally support s3-compatible storage (untested) 2021-10-27 23:06:03 -05:00
48557bc2ea Make pict-rs generic over file storage 2021-10-22 23:48:56 -05:00
f67aeb92fa Keep better track of gif/mp4 thumbnail 2021-10-20 21:36:18 -05:00
e7b4e4d1cc Remove a few boxes 2021-10-20 18:58:32 -05:00
195f614a4b Restructure attempt 1 2021-10-18 20:29:06 -05:00
acba660c37 Update to latest actix-form-data 2021-09-13 20:50:51 -05:00
5d3e6f50b3 Instrument better with Tracing 2021-09-13 20:22:42 -05:00
79bd562d8e Clippy lints 2021-09-12 10:42:44 -05:00
e88b9a024a Add semaphore around process operations 2021-09-04 16:01:48 -05:00
e21fd29c09 Drop unneeded dependencies 2021-09-04 14:20:31 -05:00
c1d4e3b87e Start work on piping bytes around from memory instead of going to disk and back 2021-08-30 21:19:47 -05:00
edd6bb4a60 Replace all bindings with calls to external binaries 2021-08-28 17:15:14 -05:00
120184dd0c Update dependencies 2021-06-19 14:39:41 -05:00
5e452ef27e Update actix deps 2021-04-17 14:59:42 -05:00
7aa32b9b3b Update actix deps 2021-03-09 20:51:03 -06:00
79b26a1dda Update to actix-web 4.0.0-beta.3 2021-02-10 16:57:42 -06:00
9797e2e3fc Go back to actix-fs 2021-01-18 19:54:39 -06:00
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
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
4a3bd42c14 ffmpeg features, sled 034 2020-09-10 11:12:42 -05:00
a746793187 Enable mp4 with ffmpeg 2020-06-24 11:58:46 -05:00
6dab3b30e8 Purge image 2020-06-16 18:13:22 -05:00
df85faff8b Start work on webp support 2020-06-16 15:55:24 -05:00
154914e61a Use rexiv2 for metadata removal 2020-06-14 21:41:45 -05:00