Laura Hausmann
e3a289ec48
[backend/federation] Update UserResolver docs
2024-10-28 13:04:48 +01:00
Laura Hausmann
e6e9d75f1a
[backend/federation] Fix followers-only announce visibility checks (ISH-555)
...
This bug caused followers-only announce activities to be saved as specified when the activity actor was not inlined (which it is not in most cases), and the followers collection URI is not the well-known one.
2024-10-27 23:03:52 +01:00
Laura Hausmann
330de26346
[backend/core] Fix race condition causing transient user resolution errors
2024-10-26 06:15:45 +02:00
kopper
27ac36d747
[backend] Add config option to sign reply backfills with requesting user
...
Signed-off-by: Laura Hausmann <laura@hausmann.dev>
2024-10-24 21:18:58 +02:00
kopper
7173373330
[backend/federation] Improved reply backfill
...
Instead of backfilling every note we come across that has a reply
collection, only schedule a backfill job if someone wants to see the
replies (on GET MastoAPI /context, or Iceshrimp API /descendants)
Reply backfilling is also done on a ThreadIdOrId basis as opposed to the
previous way of backfilling individual notes. This allows us finer
grained control over the recursion and frees up the job queue, alongside
allowing for easier implementation of context collection backfill in the
future (by mapping each context collection to a thread)
---
Currently, note threads are implicit based on the "threadId" column of a
note, which can be null (where it's the same as the note's "id")
This commit turns note threads into an actual entity, and as a part of
that, makes "threadId" non-nullable (by specifically setting it to "id"
for those cases)
This is done to attach extra metadata to the entire thread, currently
just the time of when it was last backfilled, but more may be added in
the future (the context collection associated with this thread, for example)
---
The data format for backfill jobs have backwards-incompatibly changed
since the introduction of the feature. We can drop all old jobs without
causing too much trouble as they will be re-scheduled on demand
---
Signed-off-by: Laura Hausmann <laura@hausmann.dev>
2024-10-24 21:18:57 +02:00
Laura Hausmann
4dc021fcc4
[backend/federation] Fix ASObject.IsUnresolved regression
2024-10-24 20:30:34 +02:00
Laura Hausmann
1c2c958dfb
[backend/federation] Preload webfinger JSON-LD context definition
2024-10-24 19:27:10 +02:00
Laura Hausmann
f19a414b27
[backend/federation] Refactor UserResolver (ISH-548)
2024-10-24 01:48:09 +02:00
Laura Hausmann
dd8a59db13
[backend/federation] Fix typo causing confusing log messages in ActivityHandlerService
2024-10-23 17:48:29 +02:00
pancakes
5cf2145bec
[backend] Update WebFinger nodeinfo features
2024-10-23 05:04:55 +02:00
pancakes
8cbca253e8
[backend/masto-client] Add Bite extension
2024-10-23 05:04:55 +02:00
pancakes
bf5eb688c5
[backend] Remove unnecessary Compact calls
2024-10-23 05:04:55 +02:00
pancakes
3218de9f56
[backend] Implement RenderBite, BiteService and endpoints for note and user
2024-10-23 05:04:55 +02:00
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
Laura Hausmann
162ddd496c
[backend/federation] Fix ASCollection deserialization
2024-09-15 04:26:56 +02:00
Laura Hausmann
58a86a231a
[backend/federation] Switch to ASObjectWithId instead of overriding Id in every class
2024-09-15 02:05:18 +02:00
Laura Hausmann
4081aeb036
[backend/federation] Fix deserialization of non-value ASCollectionPage objects in ASCollectionPageSerializer
2024-09-15 01:49:43 +02:00
Laura Hausmann
5042fab8df
[backend/federation] Fix deserialization of raw value types in ASSerializer
2024-09-15 01:49:43 +02:00
Kopper
d6a8282a18
[backend/federation] Try using the original collection object when possible
2024-09-15 01:49:42 +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
481bd423b3
[backend/federation] Parse paginated collections correctly
...
This commit by itself will break parsing Mastodon Notes, since they
inline a CollectionPage without an ID, which Iceshrimp.NET can't cope
with.
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
Kopper
7cd5f0776b
[backend/akko-client] Cleanup and reformat
2024-09-13 17:30:05 +02:00
Kopper
0cb2e9e9f3
[backend/akko-client] Expose accurate upload limits
2024-09-13 17:30:05 +02:00
Kopper
4f605a503a
[backend/akko-client] Expose features on nodeinfo as well
...
Akkoma-FE seems to use this one for it's own feature detection
2024-09-13 17:30:05 +02:00
Kopper
1bac67cd06
[backend/akko-client] Stub out just enough to allow Akkoma-FE to start
2024-09-13 17:30:05 +02:00
Laura Hausmann
1204eee4b1
[backend/federation] Improve code quality regarding ASActor.WebfingerAddress
2024-09-09 21:54:12 +02:00
Laura Hausmann
4448f03e8b
[backend/federation] Fix XsdString handling during deserialization
2024-09-09 21:53:51 +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
0839c8936f
[backend/federation] Improve layout of the canonical Iceshrimp.NET JSON-LD context
...
This gets pruned and re-serialized before it gets placed in JSON responses anyway, so we might as well make it easier to read for development purposes.
2024-09-09 21:23:30 +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