Commit graph

76 commits

Author SHA1 Message Date
asonix 55bc4b64c1 Add per-upload validations and per-upload preprocess steps 2024-03-27 19:00:54 -05:00
asonix 84a882392a Start threading upload configuration into ingest 2024-03-27 16:57:22 -05:00
asonix 6f95c72070 Add new feature for testing with errors, test & fix job retries 2024-03-10 22:02:27 -05:00
asonix 9fe586b9dd Implement retries for jobs, start warning on long polls 2024-03-09 12:15:23 -06:00
asonix 3ecefcb64e Save blurhashes in repo, improve some error responses, simplify extracting aliases 2024-03-02 13:27:58 -06:00
asonix 9db5cc82f8 Add special handling for FileSize errors 2024-02-19 12:55:44 -06:00
asonix 5624671cbf Rework ProcessRead to require a closure for using the internal AsyncRead 2023-12-22 20:52:58 -06:00
asonix 961de20a00 Add timeout and metrics to media processing 2023-12-10 19:11:36 -06:00
asonix 2523b6644b Add AggregateTimeout, don't aggregate with permit 2023-12-04 15:39:34 -06:00
asonix 71f8f52b58 Tweak error reporting 2023-11-13 17:24:56 -06:00
asonix fd965bb1a5 Allow processing still images into animation formats 2023-09-24 13:20:33 -05:00
asonix e15a82c0c7 Add external validation check 2023-09-05 20:45:07 -05:00
asonix a4b1ab7dfb Instrument postgres db calls 2023-09-04 21:51:27 -05:00
asonix a2933dbebc Implement all the todos 2023-09-03 17:11:34 -05:00
asonix ba3a23ed43 Add error codes 2023-09-01 20:51:01 -05:00
asonix 1ee77b19d8 Make Repo object safe. Create migration 2023-08-15 19:19:03 -05:00
asonix 2f0a3618d8 Replace awc with reqwest 2023-07-21 16:58:31 -05:00
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