Commit graph

1185 commits

Author SHA1 Message Date
Laura Hausmann
b6dddd9439
[backend/core] Trim UserPublicKey before inserting into database 2024-11-12 20:57:16 +01:00
Laura Hausmann
2b046fc444
[parsing] Add support for has:media search query 2024-11-11 01:52:48 +01:00
Laura Hausmann
73783fa0ee
[backend/libmfm] Fix MfmSerializer dropping leading & trailing whitespace on recursive calls 2024-11-10 22:24:55 +01:00
Kopper
11170ffbcc [backend/masto-client] Allow admin:read and admin:write scopes
These aren't actually used anywhere but supported just to make sure
clients that specify them in their scopes can log in successfully.
2024-11-07 21:34:40 +01:00
Kopper
d22a21c7e7
[backend/federation] Render Create in /notes/{id}/activity when not a renote 2024-11-07 20:13:47 +01:00
Laura Hausmann
3e8ba289c3
[backend/drive] Fix incorrect mime type & file extension when converting original files (ISH-593)
Closes #64

Co-authored-by: Tamara Schmitz <tamara.zoe.schmitz@posteo.de>
2024-11-07 20:04:34 +01:00
Laura Hausmann
e34b4f5c1a
[backend/drive] Convert ImageFormat to a closed record 2024-11-07 20:04:34 +01:00
Kopper
94328a3eef [backend] Use a stack instead of queue when backfilling
This makes each reply chain load completely before loading the next
chain, instead of the current behavior that loads all replies of one
depth before loading the next "layer".

This won't make much of a difference *now*, but should result in more
intuitive behavior when live updating of newly loaded replies gets
implemented.
2024-11-06 20:02:29 +01:00
Laura Hausmann
4b01ecddfa
[backend/startup] Reference help shortlinks instead of directing to the wiki 2024-11-05 23:41:20 +01:00
pancakes
4d85fce1cf
[backend/core] Catch failed resolves in ImportFollowingAsync 2024-11-06 00:32:34 +10:00
Laura Hausmann
ceb8da8f3d
[shared] Only compute version info once 2024-11-03 22:43:28 +01:00
Laura Hausmann
c40c13261d
[shared] Improve fork version string handling 2024-11-03 22:29:19 +01:00
Laura Hausmann
1b885e6ed4
[backend/queue] Also deliver note updates to relays 2024-11-03 19:40:35 +01:00
pancakes
925ba3c751
[backend] Directly render ASReject 2024-11-03 13:02:12 +10:00
pancakes
dd82e457d0 [backend] Use RenderUnfollow to remove follower 2024-11-03 03:00:58 +01:00
pancakes
ea5408c182 [backend/api] Add remove from followers endpoint 2024-11-03 03:00:58 +01:00
Laura Hausmann
f2853d2d40
[backend] Fix typo 2024-11-02 22:56:52 +01:00
Laura Hausmann
b3f9680845
[backend/core] Also set correct local mention url in other UserProfileMentionsResolver overload 2024-11-02 16:59:13 +01:00
Laura Hausmann
d9fabcb32c
[backend/core] Set correct url for local mentions in user profile 2024-11-02 16:05:30 +01:00
Laura Hausmann
525bd02022
[backend/libmfm] Fix broken rendering of mentions of local users in some circumstances (ISH-567)
This was caused because of an inconsistency of whether to set the account domain as a fallback value or not. Therefore, invocations with the mentioned local user host not having a fallback value would cause broken mention rendering, e.g. in bios/profile fields.
2024-10-31 21:24:07 +01:00
Laura Hausmann
e61e3d2fde
[backend/api] Wait for user mention resolution before returning (ISH-567) 2024-10-31 21:02:56 +01:00
pancakes
71a12261a4
[backend/api] Limit follow list imports to twice every 30 mins 2024-10-31 20:48:52 +01:00
pancakes
95ae04e4af
[backend] Download exported follow list directly instead of storing it as a file 2024-10-31 20:48:51 +01:00
pancakes
137dc0d0e6
[backend/core] Move import/export to ImportExportService and resolve imported users 2024-10-31 20:48:07 +01:00
pancakes
bfc36cbc48
[backend/api] Add follow list export endpoint 2024-10-31 20:48:07 +01:00
pancakes
62aa5f3075
[backend/api] Add follow list import endpoint 2024-10-31 20:48:07 +01:00
Laura Hausmann
8340952653
[backend/signalr] Switch to Lazy<T> for NoteResponses in StreamingService 2024-10-31 18:49:36 +01:00
Laura Hausmann
c9b9a8e45b
[backend] Switch to TimeSpan extension method for easier code readability 2024-10-30 18:27:18 +01:00
Laura Hausmann
de29780321
[backend/federation] Don't recompute clock skew timespan on every invocation in HttpSignature.VerifyAsync
This commit also tightens the maximum allowed clock skew to a much more reasonable 5 minutes.
2024-10-30 18:13:11 +01:00
Laura Hausmann
fbdab96f9d
[backend] Switch to more efficient TimeSpan/DateTime/-Offset handling where applicable 2024-10-30 18:13:11 +01:00
Laura Hausmann
a5f292cdb3
[backend/core] Fix UserResolver regression 2024-10-29 20:38:51 +01:00
Laura Hausmann
912c50488f
[backend/core] Fix ResolveNoteMentionsAsync regression 2024-10-29 20:01:15 +01:00
Laura Hausmann
e391aebce5
[backend] Consistently enforce https URIs 2024-10-29 18:43:58 +01:00
Laura Hausmann
b43e81b834
[backend/federation] Switch to Uri.TryCreate local fetch checks 2024-10-29 18:43:58 +01:00
Laura Hausmann
efbd0c103c
[backend] Simplify MastodonOauthHelpers redirect uri validation 2024-10-29 16:54:48 +01:00
Laura Hausmann
5d1e1ed05d
[backend/federation] Add extra guard clauses to UserService
This should be caught by WebFingerService, but more checks are always a good idea.
2024-10-29 16:10:39 +01:00
Laura Hausmann
d36fa802d8
[backend/federation] Add extra guard clauses to ActivityHandlerService
This should be caught by InboxValidationMiddleware, but more checks are always a good idea.
2024-10-29 15:10:40 +01:00
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
040973b19e
[backend/api] Fix StreamingService render-only-once mutex implementation 2024-10-27 22:09:51 +01:00
Laura Hausmann
90a6b06410
[backend/api] Fix race condition causing simultaneous DbContext access in NotificationRenderer 2024-10-27 18:12:17 +01:00
Kopper
90f1e30ef2 [backend] Fix reply backfill limiting 2024-10-26 07:24:39 +02:00
Laura Hausmann
330de26346
[backend/core] Fix race condition causing transient user resolution errors 2024-10-26 06:15:45 +02:00
Laura Hausmann
effe3a7fef
[backend/queue] Fix jobs not being upserted with their correct default values 2024-10-26 04:41:06 +02:00
Kopper
e9d651b66f
[backend] Use HTTP/2 by default 2024-10-26 01:26:01 +02:00
Kopper
61bad29c54 [backend/database] Add warning to AddNoteThread migration that it may take a while 2024-10-25 07:13:03 +03: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
80f275663e
[backend] Remove unused constant 2024-10-24 20:31:29 +02:00
Laura Hausmann
4dc021fcc4
[backend/federation] Fix ASObject.IsUnresolved regression 2024-10-24 20:30:34 +02:00