Laura Hausmann
f7a5d86326
[backend/drive] Fix LibVips autorot error
...
The error message said that the operation must be mutable, but it only works when the operation is not mutable. Oh well.
2024-08-12 03:21:04 +02:00
Laura Hausmann
871c20c3fa
[backend/drive] Add warning logs when no image processor supports encoding the selected format
2024-08-12 03:21:04 +02:00
Laura Hausmann
67a62fadc9
[backend/drive] Move ImageProcessor.cs into the ImageProcessing subfolder
2024-08-12 03:21:04 +02:00
Laura Hausmann
e379ff3f60
[backend/configuration] Add config validation for the image processing pipeline
2024-08-12 03:21:04 +02:00
Laura Hausmann
e40cd7dbfd
[backend/drive] Add image/heic to the mime type allowlist
2024-08-12 03:21:03 +02:00
Laura Hausmann
1d31553199
[backend/drive] Add option to reject images that exceed the maximum media processing resolution
2024-08-12 03:21:03 +02:00
Laura Hausmann
f903a1d8a4
[backend/drive] Fix missing image processing resolution check
2024-08-12 03:21:03 +02:00
Laura Hausmann
7b3e9bbbca
[backend/drive] Fix duplicated dots in file extensions in some circumstances
2024-08-12 03:21:03 +02:00
Laura Hausmann
aac4be5893
[backend/drive] Add MIME detection capabilities to LibVips
2024-08-12 03:21:03 +02:00
Laura Hausmann
807a6fc95d
[backend] Refactor dictionary initializers to use the new syntax
2024-08-12 03:21:03 +02:00
Laura Hausmann
1fba1ab119
[backend/drive] Add ImageProcessorConcurrency configuration option, default it to 8 (was: unrestricted)
2024-08-12 03:21:03 +02:00
Laura Hausmann
aaf3be209d
[backend/drive] Add advanced image processing pipeline configuration options (ISH-436, ISH-446)
...
This commit allows advanced configuration of the image processing pipeline. Exposed options include the format (WebP, AVIF & JXL), as well as encoding parameters. These can be set individually for any combination of image version (original/thumbnail/public) & image origin (local/remote).
2024-08-12 03:21:03 +02:00
Laura Hausmann
c07bb35548
[backend/drive] Refactor ImageProcessor into a modular system
...
This commit lays the groundwork for a user-configurable image processing pipeline. It has exactly the same behavior as the old ImageProcessor, just modular & compartmentalized. It also adds support for AVIF & JXL encoding, though no code paths call it just yet.
2024-08-12 03:21:03 +02:00
Laura Hausmann
0a10218254
[frontend] Remove Microsoft.AspNetCore.Http.Abstractions dependency
2024-08-12 03:20:55 +02:00
Laura Hausmann
8e99012790
[backend] Fix build
...
This reverts commit 05e6e40d7e
.
2024-08-07 01:05:57 +02:00
Laura Hausmann
05e6e40d7e
[backend] Code cleanup
2024-08-06 23:43:14 +02:00
Laura Hausmann
685f317190
[backend/drive] Fall back to block copy if memory region is not contiguous during ImageSharp blurhash computation
2024-08-06 23:40:20 +02:00
Laura Hausmann
786c4b0085
[backend/drive] Improve safety of ImageSharp blurhash code
2024-08-06 22:56:42 +02:00
Laura Hausmann
d371e6732c
[backend/drive] Significantly improve ImageSharp blurhash performance & memory efficiency
2024-08-06 22:43:04 +02:00
Laura Hausmann
b5a1c1ba85
[backend/drive] Significantly improve LibVips blurhash performance & memory efficiency
...
This commit saves ~2.5ms & ~1.4MB of heap allocations during blurhash computation using the LibVips image processor.
2024-08-06 22:25:24 +02:00
Laura Hausmann
fcc04d5fd2
[backend/drive] Improve logging for exceptions during DriveService.StoreFile
2024-08-06 14:21:32 +02:00
Laura Hausmann
e1d25a9231
[parsing] Support <i> and <b> tags for bold/italic nodes (ISH-438)
2024-08-02 17:13:50 +02:00
Laura Hausmann
e298b35c61
[backend/tests] Switch to ConfigurationBuilder.AddIniStream
2024-08-01 20:04:28 +02:00
Laura Hausmann
ca9a2b77e9
[backend/masto-client] Respect renoteUri/replyUri on /accounts/{id}/statuses when exclude_replies or exclude_reblogs are set
2024-07-30 02:05:02 +02:00
Laura Hausmann
8bfbdf01db
[docker] Update dockerfile
...
This commit resolves an issue where custom AOT builds would result in a glibc binary instead of a musl run, causing confusing errors on startup. Release images were not affected, as they use the release artifacts, which are built in a different environment.
2024-07-30 01:51:57 +02:00
Laura Hausmann
a8a53542ce
[backend] Code cleanup
2024-07-29 00:51:36 +02:00
Laura Hausmann
f92ae9e14e
[sln] Update version to be in line with security hotfix release
...
This avoids "am I vulnerable to this?" confusion if running a :dev image or a -git package.
2024-07-29 00:26:54 +02:00
Laura Hausmann
885acc4418
[docs] Update CHANGELOG.md to be in line with the security updates that were published since beta2
2024-07-29 00:26:06 +02:00
Laura Hausmann
7e4282b386
[backend/drive] Switch to stream processing for remote media
...
This makes sure that files larger than the configured maximum remote media cache size are not loaded into memory (if the size is known), or are only loaded into memory until the configured maximum size before getting discarded (if the size is not known)
2024-07-28 23:32:04 +02:00
Laura Hausmann
15d955c478
[backend/core] Limit HttpClient buffer size to 1MiB, except DriveService from this policy (until proper limits are in place there)
2024-07-28 22:06:33 +02:00
Laura Hausmann
f1b39981c6
[backend/csproj] Bump dotNetRdf version
...
This resolves a possible DoS attack vector
2024-07-28 20:54:44 +02:00
Laura Hausmann
72c0db55e3
[backend/razor] Don't render attachment count for link previews when there are no attachments
2024-07-27 17:31:33 +02:00
Laura Hausmann
828b742a3f
[backend/drive] Don't attempt to clone remote files, improve deduplication handling
2024-07-27 16:04:02 +02:00
Laura Hausmann
e17cd0ac33
[backend/queue] Better explain the race condition that was recently resolved
2024-07-27 02:12:05 +02:00
Laura Hausmann
6d111e3e45
[backend] Fix typo
2024-07-27 02:06:39 +02:00
Laura Hausmann
7b415d4063
[backend/queue] Add a detailed explanation of the queue system algorithm
2024-07-27 01:54:07 +02:00
Laura Hausmann
ec6b6ee17f
[backend/drive] Limit ImageSharp memory allocation to a computed value instead of a constant one
2024-07-26 23:35:27 +02:00
Laura Hausmann
e885f753a1
[backend/queue] Code cleanup
2024-07-25 01:35:17 +02:00
Laura Hausmann
6c3f78a18b
[backend/queue] Improve shutdown process
2024-07-25 01:29:50 +02:00
Laura Hausmann
a845405c45
[backend/queue] Fix QueueService race condition (properly this time)
...
While the previous fix was likely enough, there was still a razor-thin theoretical race condition remaining. This commit fixes said race condition, and simplifies some if statements across the file.
2024-07-25 01:29:32 +02:00
Laura Hausmann
4690d5c1fb
[backend/database] Enable connection multiplexing by default
2024-07-25 00:14:16 +02:00
Laura Hausmann
09777fe6c4
[backend/queue] Code cleanup
2024-07-25 00:09:13 +02:00
Laura Hausmann
0f400e8023
[backend/queue] Remove cluster mode (ISH-141)
...
This is wontfix for now, though we might reevaluate this later.
2024-07-25 00:00:43 +02:00
Laura Hausmann
2d178e5a9a
[backend/queue] Allow configuring worker types in cluster mode (ISH-141)
2024-07-24 20:39:45 +02:00
Laura Hausmann
d7cfc24320
[backend/queue] Refactor cluster mode event methods to have less confusing method signatures
2024-07-24 18:01:26 +02:00
Laura Hausmann
35b42852e2
[ci] Disable dotnet terminal logger in all workflows
2024-07-24 05:58:38 +02:00
Laura Hausmann
ff38d35996
[sln] Bump dependency versions
2024-07-23 21:39:53 +02:00
Laura Hausmann
9b1db6e086
[sln] Update version to be in line with security hotfix release
...
This avoids "am I vulnerable to this?" confusion if running a :dev image or a -git package.
2024-07-23 21:25:42 +02:00
Laura Hausmann
ccdfb75e6d
[backend/csproj] Bump ImageSharp version
...
3.1.5-iceshrimp (based on upstream 3.1.4) is vulnerable to a DoS attack using specially crafted GIF images. Ref: https://github.com/advisories/GHSA-63p8-c4ww-9cg7
2024-07-23 21:13:16 +02:00
Laura Hausmann
4d0ccf1e74
[backend/core] Don't queue poll expiry jobs when expiry is more than 1 year in the future
2024-07-23 20:19:33 +02:00