Commit graph

290 commits

Author SHA1 Message Date
Laura Hausmann
91acb8ed9e
[backend/federation] Add edition to nodeinfo response 2024-07-10 18:11:17 +02:00
Laura Hausmann
91b5021e4c
[shared] Refactor assembly version info
Because our frontend assembly now also knows its version, we no longer have to rely on meta tags to pass the version on to the frontend.

Since the HTML skeleton no longer includes version information, the nodeinfo response has been amended with the now-absent properties.
2024-07-09 21:50:06 +02:00
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