Commit graph

533 commits

Author SHA1 Message Date
Laura Hausmann
dc8511632b
[backend/core] Replace sync DB call with async equivalent 2024-06-10 19:42:06 +02:00
Laura Hausmann
aa21e4b05a
[backend/queue] Make queue concurrency configurable 2024-06-10 18:18:39 +02:00
Laura Hausmann
317395b36b
[backend/core] Don't deliver poll ended notifications to remote users 2024-06-06 21:25:42 +02:00
Laura Hausmann
066cb7dc19
[backend/core] Send poll ended notification to poll creator even if they didn't vote in the poll 2024-06-06 21:18:32 +02:00
Laura Hausmann
39a6ed2215
[backend/database] Fix votersCount getting set for all polls 2024-06-05 15:59:27 +02:00
Laura Hausmann
dba4196655
[backend/core] Track poll votersCount for local & remote polls 2024-06-05 15:26:25 +02:00
Laura Hausmann
1ef5be8917
[backend/core] Correctly handle remote AP redirects to local notes 2024-06-04 19:39:07 +02:00
Laura Hausmann
bcdcce80c9
[backend/core] Set note.text to null if it's whitespace on note creation & update 2024-06-04 17:51:00 +02:00
Laura Hausmann
117443b802
[backend/core] Fix typo 2024-05-30 13:35:31 +02:00
Laura Hausmann
6fdc8b73f7
[backend/core] Improve resolution of notes with pending reply/renote targets on note create
This fixes missing metadata (reply/renote user id/host), as well as stale reply/renote counts for replies/renotes processed out of order.
2024-05-30 12:30:45 +02:00
Laura Hausmann
9949e24c8d
[backend] Miscellaneous refactors 2024-05-28 20:50:04 +02:00
Laura Hausmann
b1803ce6bf
[backend/drive] Add purge argument & additional error handling to object storage migrator 2024-05-28 15:35:39 +02:00
Laura Hausmann
dd22bd5393
[backend/drive] Fix object storage migrator db query warnings 2024-05-28 15:12:51 +02:00
Laura Hausmann
e77c768882
[backend/database] Switch job identifier generation scheme to from UUIDv4 to ULID 2024-05-27 22:11:18 +02:00
Laura Hausmann
35153a9080
[backend/queue] Improved AsyncAutoResetEvent implementation
This implementation improves the memory behavior of AsyncAutoResetEvents that fire in rapid succession.
2024-05-25 13:34:06 +02:00
Laura Hausmann
167fd5f0d6
[backend/api] Add renote endpoints (ISH-341) 2024-05-23 19:37:56 +02:00
Laura Hausmann
6386025c24
[backend/core] Update emoji regex for Unicode 15.1, simplify emoji regex, move emoji regex into a GeneratedRegexAttribute property 2024-05-23 18:08:38 +02:00
Laura Hausmann
dc09a4ada2
[backend/masto-client] Add list streaming channel (ISH-332) 2024-05-23 17:10:36 +02:00
Laura Hausmann
aa8e3f32c5
[backend/drive] Fix thumbnail url for deduplicated files 2024-05-23 15:15:43 +02:00
Laura Hausmann
9d0ee19922
[backend/drive] Don't store attachments if the download isn't successful 2024-05-23 00:23:54 +02:00
Laura Hausmann
ba21cb2b0e
[backend/queue] Fix race condition that could cause PostgresJobQueue.ExecuteAsync to fail when actualParallelism is negative 2024-05-22 23:47:09 +02:00
Laura Hausmann
9636a096fc
[backend/masto-client] Respect filters in WebSocket connections (ISH-328) 2024-05-17 19:21:41 +02:00
Laura Hausmann
849ecd9841
[backend/core] Don't allow connections to local addresses by default (ISH-330, ISH-331) 2024-05-17 14:19:48 +02:00
Laura Hausmann
ea8ff6495c
[backend/core] Fix editing of polls with no recorded votes 2024-05-16 18:56:04 +02:00
Laura Hausmann
1fae913a32
[backend/federation] Fix acceptance of poll vote activities without publishedAt 2024-05-16 18:55:46 +02:00
Laura Hausmann
2108f91bcf
[backend/drive] Store attachments as links if they can't be fetched for caching / further processing 2024-05-16 18:43:24 +02:00
Laura Hausmann
b76f154f50
[backend/drive] Don't hash files larger than the configured max cache size 2024-05-16 18:25:33 +02:00
Laura Hausmann
db9c4809dd
[backend/drive] Improve object storage migrator (ISH-326)
This commit fixes various bugs related to the object storage migrator.

- Files with a content length of zero bytes can now be migrated
- Deduplicated files now migrate correctly
- The database query no longer skips over files
2024-05-14 21:32:22 +02:00
Laura Hausmann
d7d7b7d2e3
[backend/drive] Improve error handling during DriveService.StoreFile 2024-05-14 20:09:14 +02:00
Laura Hausmann
23cf3cf35f
[backend/drive] Handle inconsistent file metadata during object storage migration 2024-05-14 20:07:37 +02:00
Laura Hausmann
97532c2b22
[backend/queue] Clean completed jobs in a cron task instead of doing it at job completion
This prevents database deadlocks that can occur when many jobs are being processed simultaneously.
2024-05-14 15:05:01 +02:00
Laura Hausmann
16fdc48800
[backend/drive] Set content-type when uploading media to object storage 2024-05-07 02:57:19 +02:00
Laura Hausmann
2519f382c5
[backend/federation] Include fully rendered renote target in rendered activity when renote user matches 2024-05-07 01:11:20 +02:00
Laura Hausmann
fe7d85fa91
[backend/core] Fix polls originating from masto-api 2024-05-06 23:40:47 +02:00
Laura Hausmann
b6304dc882
[backend/federation] Fix media being incorrectly classified as sensitive
Some AP implementations send an empty string as content warning when they mean no content warning, this is handled correctly by CreateNoteAsync and UpdateNoteAsync but wasn't respected in the attachment processing code paths. This commit resolves that issue.
2024-05-06 16:44:56 +02:00
Laura Hausmann
7f2ab15847
[backend/drive] Convert image to Srgb before further processing it for blurhash calculation when using LibVips 2024-05-03 18:14:51 +02:00
Laura Hausmann
3a2a6e47cf
[backend/core] Update pinned notes when the first local user follows a remote user
This allows us to fetch follower-only pinned notes immediately when they are available.
2024-05-02 21:15:43 +02:00
Laura Hausmann
fee5296cd9
[backend/core] Check for blocked instance early on user & note creation 2024-05-02 20:31:37 +02:00
Laura Hausmann
744a01d138
[backend/drive] Add several media processing configuration options, replacing constants & assumptions 2024-05-02 19:13:58 +02:00
Laura Hausmann
9a662f2bea
[backend/drive] Fix DriveService.StoreFile edge cases and make the code flow more clear/readable 2024-05-02 19:13:20 +02:00
Laura Hausmann
a2077244f8
[backend/drive] Make image processor pluggable 2024-05-01 21:44:49 +02:00
Laura Hausmann
8f822853e7
[backend/libmfm] Revert removal of unicode emoji detection in EmojiService 2024-05-01 16:54:05 +02:00
Laura Hausmann
12e77cfb64
[backend/libmfm] Drop support for the unicode emoji node type 2024-05-01 16:52:11 +02:00
Laura Hausmann
eab5e02b70
[backend/drive] Better error handling & logging 2024-05-01 01:44:52 +02:00
Laura Hausmann
7976854190
[backend/drive] Correctly set thumbnail & webpublicUrl when using the local storage provider 2024-05-01 01:21:08 +02:00
Laura Hausmann
facc7eb337
[backend/drive] Use libvips instead of imagesharp for most of the image processing pipeline 2024-05-01 01:21:08 +02:00
Laura Hausmann
d56eda8464
[backend/drive] Fix ImageSharp memory leak, improve image processing memory footprint, don't generate thumbnails for animated images 2024-04-30 20:40:46 +02:00
Laura Hausmann
dd062c6752
[backend/drive] Fix logExisting oversight causing uris not to be logged in all cases 2024-04-30 17:03:04 +02:00
Laura Hausmann
d31860dbb3
[backend/core] Track renote/reply uri for notes where the target is inaccessible at time of ingestion (ISH-287) 2024-04-30 00:15:58 +02:00
Laura Hausmann
fd0d6b4fea
[backend/core] Disallow quoting of notes with specified visibility 2024-04-29 16:03:28 +02:00