Commit graph

60 commits

Author SHA1 Message Date
asonix 2f0a3618d8 Replace awc with reqwest 2023-07-21 16:58:31 -05:00
asonix c4c920191f Add read-only mode
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-17 14:24:49 -05:00
asonix a751d92436 Port error changes to 0.5
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-16 21:51:14 -05:00
asonix ec6c9aac1e Better discovery validation, proper invoking of imagemagick
Some checks are pending
continuous-integration/drone/push Build is running
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
Some checks are pending
continuous-integration/drone/push Build is running
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
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-09 15:07:49 -05:00
asonix 1694f49436 Use json for ffmpeg, imagemagick details parsing
Some checks failed
continuous-integration/drone/push Build is failing
2023-07-09 14:50:58 -05:00
asonix 9e7376d411 Remove is_missing error, make Identifier and DeleteToken return Option on fetch
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-07 13:17:26 -05:00
asonix 23e67b9697 Enhance migration handling of missing identifiers
Some checks are pending
continuous-integration/drone/push Build is running
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
All checks were successful
continuous-integration/drone/push Build is passing
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
All checks were successful
continuous-integration/drone/push Build is passing
2022-09-25 17:36:07 -05:00
asonix dc73bdbad4 Make already-claimed a 400
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-05 23:24:58 -05:00
Aode (Lion) 6cdae7b318 Add 'cache' endpoint for ingesting ephemeral media
All checks were successful
continuous-integration/drone/push Build is passing
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
All checks were successful
continuous-integration/drone/push Build is passing
2022-03-29 16:48:26 -05:00
Aode (lion) 5adb3fde89 Move some Stream implementations into 'stream' module
All checks were successful
continuous-integration/drone/push Build is passing
2022-03-29 15:59:17 -05:00
Aode (lion) 99d042f36e Allow disabling gif/mp4
All checks were successful
continuous-integration/drone/push Build is passing
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:
All checks were successful
continuous-integration/drone/push Build is passing
- 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
Some checks failed
continuous-integration/drone/push Build is failing
2022-03-26 20:45:12 -05:00
Aode (lion) 15b52ba6ec Get it compiling again
Some checks failed
continuous-integration/drone/push Build is failing
2022-03-26 16:49:23 -05:00
Aode (lion) 323016f994 Build out migration path
Some checks failed
continuous-integration/drone/push Build is failing
2022-03-25 18:47:50 -05:00
Aode (lion) 21b6e1dc08 Use actix-web's Range header
All checks were successful
continuous-integration/drone/push Build is passing
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