Commit graph

237 commits

Author SHA1 Message Date
Laura Hausmann
4dd8fdbd04
[backend] Refactor database transactions
This moves all code that isn't a direct call to transactionalEntityManager to outside of the transaction blocks, and removes all transaction blocks that were unnecessary
2023-10-25 17:03:08 +02:00
Laura Hausmann
7c56ee348b
[mastodon-client] Refresh user data in background on UserConverter.encode 2023-10-25 14:15:03 +02:00
Laura Hausmann
2575588fa3
[backend] Use a recursion limiter for user profile mentions instead of disabling recursion altogether 2023-10-25 13:49:10 +02:00
Laura Hausmann
9b13ec9c0c
[backend] Catch errors in refetchPublicKeyForApId 2023-10-24 20:44:30 +02:00
Laura Hausmann
3b85491ee4
[backend] Don't recursively resolve user profile mentions 2023-10-24 18:50:41 +02:00
Laura Hausmann
c7dc059116
[backend] Cleaner workaround for GoToSocial federation with authorized fetch 2023-10-22 22:00:17 +02:00
Laura Hausmann
496454cf1f
[backend] Fix initial federation initiated by GoToSocial in secure mode
This bypasses GoToSocial issue #1186 (ref: https://github.com/superseriousbusiness/gotosocial/issues/1186)
2023-10-22 19:43:31 +02:00
Laura Hausmann
04fa6bef15
[backend] Improved http signature verification checks
This fixes an edge case where federation with split domain instances could fail.
2023-10-21 22:39:03 +02:00
Laura Hausmann
97c733dd72
[backend] Add cache for resolveMentionToUserAndProfile 2023-10-20 20:20:49 +02:00
Laura Hausmann
8b699248af
[backend] Fix mention host fallback 2023-10-18 17:20:46 +02:00
Laura Hausmann
062d256a67
[backend] Update user profile mentions in background 2023-10-18 13:02:13 +02:00
Laura Hausmann
d42a1eeb63
[backend] Clean up unnecessary code in resolve-user 2023-10-18 00:09:53 +02:00
Laura Hausmann
b8bd0c9f3b
[backend] Use correct capitalization when rendering mentions 2023-10-17 22:36:28 +02:00
Laura Hausmann
4920b0c768
[backend] Federate outgoing invalid mentions as text 2023-10-17 20:53:36 +02:00
Laura Hausmann
5dcd4c4fff
[mastodon-client] Skip invalid mentions 2023-10-17 20:36:07 +02:00
Erin Shepherd
0c9c04f89d
[backend] Refetch user keys when HTTP Signature validation fails
If a user has had a key rotation, and nobody on this server follows
that user, we will not receive the Update activity with the new key

Therefore, when we encounter key validation errors we should check
for an up-to-date key.

References (other implementations):

 * [Mastodon](fc9ab61448/app/controllers/concerns/signature_verification.rb (L96))
 * [Akkoma](https://akkoma.dev/AkkomaGang/http_signatures/src/branch/main/lib/http_signatures/http_signatures.ex#L46)
2023-10-17 00:52:51 +02:00
Laura Hausmann
c64f6b6db6
[backend] Fix populateMentions remote filter 2023-10-16 01:41:14 +02:00
Laura Hausmann
7c7c6a09a2
[mastodon-client] Refresh user profile data on /accounts/lookup 2023-10-15 23:13:58 +02:00
Laura Hausmann
75c9873796
[backend] Update user profile mentions on createPerson and updatePerson 2023-10-15 22:34:20 +02:00
Laura Hausmann
82e0ef7414
[backend] Add mentions column to user_profile table 2023-10-15 21:57:59 +02:00
Laura Hausmann
fe165dd4d3
[backend] Cache mention uri in resolveMentionWithFallback 2023-10-14 17:45:59 +02:00
Laura Hausmann
c0d7ecf5c3
[backend] Actually resolve with objectHost 2023-10-14 17:40:06 +02:00
Laura Hausmann
8719a6922e
[backend] More mentions fixes 2023-10-14 17:11:21 +02:00
Laura Hausmann
588a39f17a
[backend] Don't refresh user data in resolveMentionWithFallback 2023-10-14 16:57:04 +02:00
Laura Hausmann
ce29c1dce2
[mastodon-client] Use improved mention parsing in mfm-to-html 2023-10-14 16:48:49 +02:00
Laura Hausmann
349f770166
[backend] Actually try to resolve unknown mentions in mfm-to-html 2023-10-14 16:39:24 +02:00
Laura Hausmann
72f048a24d
[backend] Parse incorrectly formatted mentions in from-html 2023-10-14 16:12:22 +02:00
Laura Hausmann
f843453ca0
[backend] Only render trailing slashes for URLs in profile fields when explicitly specified 2023-10-12 17:07:54 +02:00
Laura Hausmann
8d7d95fd23
[backend] Permit redirects for AP object lookups 2023-10-11 20:59:30 +02:00
Laura Hausmann
878970d318
[mastodon-client] Implement streaming API 2023-10-09 01:59:19 +02:00
Laura Hausmann
220b6f2011
Revert "don't update if renoted by bot"
This reverts commit 49e9fb9001c25378aa396d2a1ccdac1e18456e14.
2023-09-29 15:03:11 +02:00
Laura Hausmann
1ce0f778e7
Fix fetching pinned notes for remote servers that return a collection of note URIs instead of AP objects, resolves #201 2023-09-12 00:12:13 +02:00
Laura Hausmann
02dc687705
Fallback to acct webfinger on getSubjectHostFromUriAndUsernameCached 2023-09-11 23:20:41 +02:00
Laura Hausmann
b04619e007
Skip mention user lookup for local users 2023-09-11 22:58:02 +02:00
Laura Hausmann
1d543b5bf8
Cache resolved split domain mentions 2023-09-11 22:15:48 +02:00
Laura Hausmann
fb091488d8
Get actual subject host in mfm fromHtml 2023-09-11 22:25:29 +02:00
Laura Hausmann
552041726b
Make html-to-mfm and its callstack async 2023-09-11 22:34:00 +02:00
Laura Hausmann
86defdffd3
Fix initial fetch of actual remote user host for remote gotosocial instances on createPerson, resolves #204 2023-09-11 18:37:18 +02:00
Laura Hausmann
43f136c50f
Fix typo in hostMetaToWebFingerTemplate 2023-09-11 19:57:26 +02:00
Laura Hausmann
06be4e108b
Fix updating remote user host for remote AP implementations that don't support webfinger uri queries 2023-09-10 19:31:11 +02:00
Laura Hausmann
558b58a0cd
Fix updating host on updatePerson 2023-09-10 19:31:11 +02:00
Laura Hausmann
a2fbf57769
Fix formatting in resolve-user.ts 2023-09-10 19:31:11 +02:00
Laura Hausmann
f6dc9e094b
Fix user update for users without sharedInbox 2023-09-09 22:16:23 +02:00
Laura Hausmann
2f103229e5
Also update host on updatePerson 2023-09-09 18:45:15 +02:00
Laura Hausmann
e9e63ebaa8
Verify and update existing user on createPerson 2023-09-09 18:45:14 +02:00
Laura Hausmann
80035049f9
Stricter host-meta spec compliance in WebFinger 2023-09-06 19:13:57 +02:00
Laura Hausmann
59571f2372
Resolve actual subject host on createPerson 2023-09-06 19:13:57 +02:00
Laura Hausmann
35f7bde1a4
Clear public key cache on user deletion 2023-09-06 19:13:57 +02:00
Laura Hausmann
85f396ff49
Make WebFinger respect host-meta 2023-09-06 19:13:57 +02:00
Laura Hausmann
84867f1c13
Finish up support for local split domain configurations 2023-09-06 19:13:57 +02:00