Commit graph

288 commits

Author SHA1 Message Date
Laura Hausmann
ae7fa0021c
[backend] Convert configuration and preloaded contexts into embedded resources 2024-07-09 15:13:43 +02:00
Laura Hausmann
0776a50cbe
[backend/asp] Refactor controllers
This commit aims to improve readability of MVC controllers & actions. The main change is the switch to custom [ProducesResults] and [ProducesErrors] attributes.
2024-07-06 17:12:22 +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
2858f66ad4
[backend/federation] Make sure DateTime objects are being converted to Utc when (de)serializing activities 2024-06-26 16:53:21 +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
f724a55901
[backend/core] Improve logging 2024-06-22 01:17:40 +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
0c59081aee
[backend/federation] Add JsonIgnore attributes to internal properties to prevent them from being written to the job table unnecessarily 2024-06-21 14:14:22 +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
Laura Hausmann
80c9a35166
[backend/federation] Handle MFM in ASSource correctly
Some implementations (e.g. firefish) have dropped the _misskey_content property altogether. This improves MFM federation with those instances.
2024-06-07 20:18:03 +02:00
Laura Hausmann
c825ad20c8
[backend/federation] Handle reject activities correctly 2024-06-05 17:21:26 +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
5e7eda1b9a
[backend/core] Fix ASTagConverter edge case 2024-05-31 20:21:08 +02:00
Laura Hausmann
9949e24c8d
[backend] Miscellaneous refactors 2024-05-28 20:50:04 +02:00
Laura Hausmann
0f69013224
[backend/federation] Support resolving actors by aliases not directly resolvable via WebFinger
This fixes resolving pixelfed users by their user-facing uri (instance.tld/username).
2024-05-23 14:07:36 +02:00
Laura Hausmann
d23bb06430
[backend/api] Add search & lookup endpoints (ISH-333) 2024-05-18 18:22:53 +02:00
Laura Hausmann
b705c95714
[backend/federation] Add Guid to end of follow activity URIs
This stops mastodon from caching the undo, preventing re-follows & debugging of federation issues
2024-05-07 16:41:07 +02:00
Laura Hausmann
a17da9d526
[backend/federation] Add missing entries to preloaded joinmastodon.org context 2024-05-04 19:50:11 +02:00
Laura Hausmann
3bf0f625d2
[backend/federation] Fix typo in preloaded schema.org context 2024-05-04 19:38:45 +02:00
Laura Hausmann
4217fd1afb
[backend/federation] Improve logging in ActivityFetcherService.FetchActorAsync 2024-05-03 21:42:00 +02:00
Laura Hausmann
477f300c40
[backend/federation] Make resolvedActorId / authenticatedUserId mismatch a debug message instead of an exception 2024-05-03 16:30:03 +02:00
Laura Hausmann
4dd5eea946
[backend/federation] Refactor ActivityHandler: Improved logging, more graceful error handling, more readable code flow (ISH-311) 2024-05-03 01:15:22 +02:00
Laura Hausmann
75b2227524
[backend/federation] Don't require ASNotes by the authenticated actor to be fetchable
This fixes e.g. renotes of follower-only posts
2024-05-02 21:04:57 +02:00
Laura Hausmann
09623a94c8
[backend/api] Add optional userId query parameter to /admin/fetch & /fetch-raw 2024-05-02 19:29:19 +02:00
Laura Hausmann
e2a970b56c
[backend/core] Correctly serialize unresolved mentions to MFM 2024-05-02 01:13:30 +02:00
Laura Hausmann
be4e58b958
[backend/federation] Also skip RE: in ASNoteSource for notes that are not polls 2024-05-02 00:03:41 +02:00
Laura Hausmann
2e0792ab73
[backend/federation] Don't add RE: to ASNote.Source.Content for quotes 2024-05-02 00:00:57 +02:00
Laura Hausmann
a2077244f8
[backend/drive] Make image processor pluggable 2024-05-01 21:44:49 +02:00
Laura Hausmann
878c9d657c
[backend/federation] Correctly support redirection of activity URIs
This was already implemented, but we forgot to disable auto-redirects, so the custom redirect code was never used.
2024-05-01 00:09:20 +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
d0356fc6ea
[backend/federation] Add support & corresponding tests for http signature pseudo-headers 2024-04-29 20:35:51 +02:00
Laura Hausmann
a7898e8aa9
[backend/federation] Enforce federation control in ActivityFetcherService
With this there should be no remaining ways for new activities from blocked instances to make it into the database.
2024-04-28 19:22:18 +02:00
Laura Hausmann
ead8e126f1
[backend/federation] Handle ASImage as ASAttachment
This fixes one of the issues in terms of federation with Pixelfed.
2024-04-28 03:54:34 +02:00
Laura Hausmann
f6bfaa72ad
[backend/federation] Prettier displayUri for profile fields that are links 2024-04-28 02:09:31 +02:00
Laura Hausmann
0414c791e6
[backend/federation] Federate profile fields correctly 2024-04-28 02:02:48 +02:00
Laura Hausmann
a20d50f793
[backend/federation] Improve logging regarding a renamed variable 2024-04-27 20:17:39 +02:00
Laura Hausmann
cf215b3d57
[backend/federation] Handle ASDelete activities of ASNote objects
Some implementations seem to send deletes of ASNote objects instead of ASTombstone objects.
2024-04-25 19:13:57 +02:00
Laura Hausmann
89a743d121
[backend/federation] Fix possible null dereference 2024-04-25 18:30:35 +02:00
Laura Hausmann
363b0c930c
[backend/core] Add Guid.ToStringLower() extension method 2024-04-25 18:26:42 +02:00
Laura Hausmann
1f3f7ad64d
[backend/federation] Improve logging in ActivityHandlerService 2024-04-25 18:23:30 +02:00
Laura Hausmann
e2a528c8a6
[backend/federation] Refactor AcceptAsync and FollowAsync for improved code reuse 2024-04-24 23:11:31 +02:00