Commit graph

232 commits

Author SHA1 Message Date
Laura Hausmann
d625a34e2a
[backend/core] Improve code reuse 2024-10-16 20:59:47 +02:00
Laura Hausmann
3a606a58f1
[backend/core] Code cleanup 2024-10-16 20:53:14 +02:00
Laura Hausmann
e9389d154b
[backend/core] Fix typo 2024-10-16 20:52:37 +02:00
Laura Hausmann
3c96d98932
[backend/core] Only deliver create/update activities to remote users, unify DeliverToConditionalAsync calls 2024-10-16 20:51:40 +02:00
Laura Hausmann
a5a2c0b169
[backend/core] Add basic reject policies, along with a highly extensible system for rewrite policies (ISH-16) 2024-10-09 04:34:23 +02:00
Laura Hausmann
0962b07021
[backend/core] Catch errors in NoteService.ResolveNoteAsync
This fixes some inbox job failures, for example when a post quoting a deleted post is being ingested.
2024-10-06 14:04:06 +02:00
Laura Hausmann
7662c28745
[backend/database] Canonicalize punycode host representations to lowercase 2024-10-02 01:16:25 +02:00
Laura Hausmann
df26db0585
[backend/federation] Add relay support (ISH-266) 2024-09-28 00:32:43 +02:00
Laura Hausmann
1883f426a7
[backend/federation] Add support for incoming, outgoing & local account migrations (ISH-118) 2024-09-27 03:27:34 +02:00
Laura Hausmann
f2bf80100d
[backend/federation] Expose alsoKnownAs & movedTo properties for local actors 2024-09-26 21:09:24 +02:00
Laura Hausmann
c68e0bbd94
[backend/core] Fix AsChunkedAsyncEnumerable pagination 2024-09-26 02:14:20 +02:00
Laura Hausmann
1c2079e1ee
[backend] Rework GracefulException throws without additional detail 2024-09-24 00:45:18 +02:00
Laura Hausmann
0c39101046
[backend/federation] Improve error logging for invalid accept activities 2024-09-24 00:09:37 +02:00
Laura Hausmann
1d9864a214
[backend/federation] Handle incoming ASMove activities (ISH-118) 2024-09-23 00:21:57 +02:00
Kopper
91aab7c8d6 [backend/federation] Limit the maximum number of replies to backfill per post 2024-09-18 18:27:14 +02:00
Kopper
e8e437b9f1
[backend/federation] Limit collection iteration 2024-09-15 01:47:41 +02:00
Kopper
5300aa069b
[backend/federation] Iterate over paginated collections 2024-09-15 01:47:41 +02:00
Kopper
ade4481ae9
[backend/federation] Attempt to make id optional for some object types 2024-09-15 01:47:41 +02:00
Kopper
8c1a635027
[backend/federation] Refactor collection iteration
Collection iteration is extracted into a seprate IAsyncEnumerable from
the currently only place where it happens. This is in preparation for
handling paginated collections.
2024-09-15 01:47:40 +02:00
Laura Hausmann
afe62b0aab
[sln] Code cleanup 2024-09-13 21:44:31 +02:00
Laura Hausmann
1204eee4b1
[backend/federation] Improve code quality regarding ASActor.WebfingerAddress 2024-09-09 21:54:12 +02:00
Laura Hausmann
a60a17067a
[backend/federation] Fix JSON-LD compaction for ASActor.WebFingerXsd property 2024-09-09 21:44:32 +02:00
Laura Hausmann
a500b3964d
[backend/federation] If present, use ASActor.WebfingerAddress for user resolution (FEP-2c59) 2024-09-09 21:14:32 +02:00
Laura Hausmann
21b48789f9
[backend/federation] Expose Webfinger address in rendered ASActor objects for local users (FEP-2c59) 2024-09-09 21:08:31 +02:00
Kopper
2523f8a4d1 [backend/federation] Expose replies collection
Exposes the replies collection for local notes, allowing remote
instances to backfill replies when fetching our posts.
2024-09-09 19:20:10 +02:00
Laura Hausmann
6d5f7b5f4a
[backend/federation] Support ASLike activities with content instead of _misskey_reaction 2024-08-18 19:19:21 +02:00
Laura Hausmann
2f3408f3d7
[backend/federation] Implement quotes as object links (FEP-e232) 2024-08-18 17:54:44 +02:00
Laura Hausmann
093abe82b8
[backend/core] Also use the NoteService KeyedLocker when it's called from ActivityHandlerService
This fixes sporadic "Unique constraint violation" exceptions on the "IX_note_uri" index.
2024-08-18 00:22:09 +02:00
Laura Hausmann
8267bc06de
[backend] Code cleanup 2024-08-14 03:53:15 +02:00
Laura Hausmann
4f98fa8461
[backend/federation] Fix possibly unbounded UserResolver recursion 2024-08-14 03:44:14 +02:00
Laura Hausmann
dbed1123aa
[backend/federation] Improve webfinger response reuse in UserResolver (ISH-364) 2024-08-14 00:00:35 +02:00
Laura Hausmann
acbedd3bae
[backend/federation] Support WebFinger reverse discovery (ISH-364)
This resolves federation issues with old versions of pixelfed, as well as various AP implementations that are not widely deployed.
2024-08-13 23:58:46 +02:00
Laura Hausmann
2181d01e54
[backend/federation] Reject activities by suspended users 2024-08-13 00:02:21 +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
c011253d67
[backend/core] Catch & rethrow HTTP timeout exceptions to shorten unnecessarily long stack traces 2024-07-16 20:53:31 +02:00
Laura Hausmann
751bfe5f8c
[backend/federation] Federate location and birthday profile fields correctly 2024-07-15 15:41:11 +02:00
Laura Hausmann
248543528b
[backend/api] Mark entire note as sensitive when any attachments are marked as such 2024-07-13 01:47:53 +02:00
Laura Hausmann
d5ce61d901
[backend/core] Update user record with updated lastFetchedAt property in UserResolver.GetUpdatedUser 2024-07-11 02:46:53 +02:00
Laura Hausmann
aee7b28e3c
[backend/federation] Fix custom emoji in display name & bio not federating correctly 2024-07-03 21:59:14 +02:00
Laura Hausmann
df3a7bdfe5
[backend] Apply formatting rules 2024-06-29 01:06:19 +02:00
Laura Hausmann
0e6edb9046
[backend/federation] Don't fetch inboxUser from database if inboxUserId is null 2024-06-27 18:01:37 +02:00
Laura Hausmann
3bf933782a
[backend/federation] Ignore duplicate renote activities 2024-06-22 02:26:18 +02:00
Laura Hausmann
728a33c819
[backend/federation] Improve WebFinger algorithm 2024-06-22 01:41:33 +02:00
Laura Hausmann
a253e83176
[backend/federation] Refactor ActivityRenderer 2024-06-21 14:28:29 +02:00
Laura Hausmann
efa2cdc9c7
[backend/federation] Populate to/cc fields correctly for outgoing Notes 2024-06-21 14:27:12 +02:00
Laura Hausmann
9dbc7cfc14
[backend/federation] Filter skipped & blocked instances in PreDeliverQueue (ISH-366)
This:
- improves performance (because we can check them in batches)
- improves efficiency (because we don't create deliver jobs that get discarded immediately)
- allows us to check whether the activity is an ASFollow & let it through if it is (for skipped instances filter only)

We still check for blocked instances in the deliver queue in case a deliver job is created via another code path.
2024-06-19 17:37:57 +02:00
Laura Hausmann
1d262ab326
[backend/federation] Pass inboxUserId on to ProcessNoteAsync/ResolveNoteAsync for ASBite and ASCreate activities 2024-06-17 22:08:24 +02:00
Laura Hausmann
24bde5ad29
[backend] Use User.IsLocalUser / .IsRemoteUser instead of null-checks where applicable (ISH-370) 2024-06-17 17:25:29 +02:00
Laura Hausmann
fc7a1fe95c
[backend/federation] Make sure new follow & unfollow activities have a consistent identifier (ISH-367) 2024-06-17 17:16:27 +02:00
Laura Hausmann
0a5e130783
[backend/federation] Log instance blocked failures in inbox queue as debug 2024-06-16 22:36:38 +02:00