a3ff072350
Remove unused cache duration parameter
2023-06-21 17:05:53 -05:00
6d2aef8cc0
Add jpegxl and avif support
2023-06-21 17:05:35 -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
1214b51ad7
Make use of FilesystemDefaults when constructing migrate commands
2023-06-19 15:04:36 -05:00
a3a986638d
Improve gif handling.
...
- Allow a fast-path exif cleaning if we'd re-encode a gif to a gif
- Use single-frame palettes to better map transparency from frame to frame
Unrelated:
- decrease ffmpeg logging when creating thumbnails
2023-06-19 14:25:31 -05:00
22e526fd2a
Allow type underscore (probably in instrument)
2023-06-01 17:33:43 -05:00
cc314c37a6
Use libopus for ffmpeg
2023-03-09 21:29:56 -06:00
dc27200a35
Add transparency to gifs, rustfmt
2023-02-25 14:31:57 -06:00
97ba4e806b
Clippy
2023-02-25 13:01:55 -06:00
9a2f846cd1
Detect input transparency for gif/webm
2023-02-25 12:59:47 -06:00
281ac43dff
Remove cache functionality
2023-02-25 11:34:48 -06:00
123488f617
clippy
2023-02-12 23:18:27 -06:00
788b87eceb
Remove obsolute pre-0.3 migrate check
2023-02-12 23:13:47 -06:00
138499d47f
Use transpose in a couple places
2023-02-05 20:50:59 -06:00
cc75d2d882
Clippy
2023-02-04 17:54:56 -06:00
4cc810d372
Add control over gif frame count
2023-02-04 17:52:23 -06:00
88ca9793e8
s/vrames/frames:v
2023-02-04 17:47:03 -06:00
40f57be0c7
Allow uploading small gifs
2023-02-04 17:32:36 -06:00
0aa3f574a5
Clippy
2023-01-29 11:57:59 -06:00
f6d6d54b88
Update deps
2023-01-29 11:47:28 -06:00
f0f40db8c3
Add healthcheck for db
2023-01-29 11:36:09 -06:00
5e5dd27a05
Retry migrate_file, remove variant before relating new one
2023-01-04 18:58:05 -06:00
28f7a139a0
Retry in-process, and rate-limit self
2023-01-04 17:26:05 -06:00
c55b1115d1
Increase client timeout, attempt to keep track of migration progress for resuming
2023-01-04 15:58:32 -06:00
dabcc24f98
Parse environment variables - main app
2023-01-04 15:05:34 -06:00
a489411c6c
Parse environment variables
2023-01-04 14:42:04 -06:00
3c844d86c5
Allow configuring pict-rs through serializable types
2022-12-26 16:35:25 -06:00
2c1a37fb62
Extract pict-rs as library
2022-12-23 12:56:15 -06:00
74cd3392fa
Borrow parent spans when creating children
2022-12-07 22:43:12 -06:00
3325b222a2
clippy
2022-11-26 11:18:34 -06:00
7037ee5791
Support auto-orienting photos
2022-10-15 11:13:24 -05:00
669b3fb86f
Fix webp metadata stripping, more tracing cleanup
2022-10-01 22:47:52 -05:00
718f09c43a
Clean tracing, simplify validation, rename InputFormat -> VideoFormat
2022-10-01 21:17:18 -05:00
e7cf21f862
Allow concurrency in small object uploads
2022-10-01 13:06:19 -05:00
fe2a499110
Fix sending upload parts (set size), optimize small file uploads
2022-10-01 13:00:07 -05:00
0307dc5a3b
Introduce BytesStream to simplify aggregating, forwarding bytes
2022-10-01 12:06:33 -05:00
c767804430
Default to vp9 for uploaded video
2022-10-01 10:17:32 -05:00
85c5ce955d
Clippy
2022-09-30 20:02:46 -05:00
d86d9a3228
Put proper file extension on videos
2022-09-30 20:00:14 -05:00
8eb2293808
Enable selecting video and audio codecs for uploaded media
2022-09-30 19:38:11 -05:00
f4542efcc1
Share ffprobe details code
2022-09-30 17:43:40 -05:00
3ceaaa391c
Update clap
2022-09-28 18:23:41 -05:00
656b0225af
Clippy
2022-09-27 23:23:06 -05:00
29cab025c6
Improve 0.3 migration code, repo traces
2022-09-27 23:19:52 -05:00
85f20bbe0e
Add new resize options, update README with current APIs
2022-09-26 18:14:25 -05:00
9db057fdc5
Add admin endpoint to fetch identifier from an alias
2022-09-25 20:59:57 -05:00
17dab63662
Clippy
2022-09-25 20:44:24 -05:00
80c83eb491
Add ffprobe for details inspection - vastly improve video detection speed
2022-09-25 20:39:09 -05:00
5449bb82f1
Better identify video uploads with ffprobe
2022-09-25 19:34:51 -05:00
21e3e63ac3
Instrument upload store methods
2022-09-25 18:46:50 -05:00
51d8621015
Defensively format errors in traces to avoid deadlocks
2022-09-25 18:46:26 -05:00
890478e794
Support audio in uploaded videos, allow webm uploads
2022-09-25 18:16:37 -05:00
c57a48db8a
Start introducing more video controls
2022-09-25 17:36:07 -05:00
c9a74a73ca
Reduce redundancy in process module
2022-09-25 17:35:52 -05:00
50d118a2a7
Implement image pre-processing on upload
2022-09-25 15:17:33 -05:00
04bc586a26
Fix hasher test
2022-09-25 09:09:05 -05:00
dc95417846
Improve concurrency for upload streams part 2
2022-09-25 08:27:11 -05:00
bf3c47e457
Improve concurrency for upload streams
2022-09-24 22:07:06 -05:00
a6adde874e
Implement s3 multipart uploads
2022-09-24 20:33:59 -05:00
25209e29c0
Make it compile
2022-09-24 17:18:53 -05:00
ff1771e016
More migration work for rusty-s3
2022-09-24 14:18:49 -05:00
ab7fd9aaf7
Start work on using rusty-s3 instead of rust-s3
2022-09-24 13:39:27 -05:00
c5b107eb4c
clippy
2022-09-11 10:04:37 -05:00
7f49af58fe
Update actix-form-data, impl Store & Repo for Data<T>
2022-09-10 19:29:22 -05:00
e0bc95f785
Remove unneeded reborrow
2022-08-15 15:00:12 -05:00
547934071a
Don't migrate from the old database if it doesn't exist
2022-08-14 11:49:20 -05:00
e0543b2c1c
Add HEAD endpoints for process, serve
2022-07-17 11:15:43 -05:00
cb9a594f24
Fix content type on already processed images
2022-06-21 11:27:22 -05:00
dc73bdbad4
Make already-claimed a 400
2022-06-05 23:24:58 -05:00
2db76ad8c5
Update dependencies
2022-04-29 15:54:54 -05:00
8ee26ccf4f
change some import paths
2022-04-27 20:13:49 -05:00
4ac20546ce
Improve migration from 0.3 formats
2022-04-24 17:10:15 -05:00
b3cbda1337
Add internal endpoint for cleaning variants
2022-04-11 16:56:39 -05:00
e50ccfb48c
Update deps
2022-04-11 15:17:54 -05:00
05533f7e3a
Use rfc3339 dates for details responses
2022-04-08 13:36:06 -05:00
7436f15267
Dry download client logic
2022-04-08 13:16:22 -05:00
5f19b63166
Extract details processing
2022-04-08 13:03:00 -05:00
31c5a36c77
Better instrument drops, jobs. Properly disarm backgrounded downloads
2022-04-08 12:51:33 -05:00
55d5e43cd2
Consolidate endpoints for downloading media, cached or backgrounded
2022-04-08 12:05:14 -05:00
07c61cbe87
Add download backgrounded
2022-04-07 19:07:30 -05:00
8781bc8f28
Add follows-from relation for background tasks
2022-04-07 13:28:28 -05:00
e493e90dd4
Defensive tracing
2022-04-07 12:56:40 -05:00
c80d207a87
Improve tracing
2022-04-06 21:40:49 -05:00
05e2cf5e08
Cache on Alias rather than Hash
...
Make sled repo blocking tasks share parent span
2022-04-06 12:14:12 -05:00
865f4ee09c
Caching works:
...
- Insert new bucket for current access time before removing
previous access time record.
- Add instrument to more methods for more precise tracing
2022-04-05 21:47:35 -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
b0670c2f66
Move migrate to old
2022-04-03 15:07:31 -05:00
409b7d4c54
Remove unused conversions
2022-04-03 12:51:21 -05:00
29f0774331
Add ability to claim uploads
2022-04-02 21:15:39 -05:00
8734dfbdc7
Add backgrounding routes
...
- Accept backgrounded uploads
- Allow backgrounded processing
Still TODO:
- Endpoint for waiting on/claiming an upload
2022-04-02 20:56:29 -05:00
c4d014597e
Better job recovery
2022-04-02 18:53:03 -05:00
77a400c7ca
Implement UploadRepo
2022-04-02 17:41:00 -05:00
132e395e5c
Multiple items:
...
- Reduce duplicate work in generate job
- Use hash instead of identifier for unique processing
- Move motion ident generation behind concurrent processor lock
2022-04-02 17:40:08 -05:00
09f53b9ce6
Move away from UploadManager to direct repo & store actions
2022-04-02 16:44:03 -05:00
6ed592c432
In Progress: process jobs
...
- Is this a good idea? it definitely will make interacting with pict-rs harder. Maybe it's best not to do this
2022-04-01 16:51:12 -05:00
c0d8e0e8e3
Support multiple queues for job processor
2022-04-01 11:51:46 -05:00
09281d9ae8
Move stream timeout to all response bodies
2022-03-29 16:48:26 -05:00
63d66050c8
Enable buffering iterator items for iterstream
2022-03-29 16:18:00 -05:00
5adb3fde89
Move some Stream implementations into 'stream' module
2022-03-29 15:59:17 -05:00
0e490ff54a
Remove custom BytesFreezer stream
2022-03-29 14:28:08 -05:00