Commit graph

592 commits

Author SHA1 Message Date
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
dc7e45c7cb
[backend/masto-client] Fix StatusController quote lookup precedence 2024-10-29 16:14:54 +01:00
Laura Hausmann
1bc3fc9b39
[backend/api] Fix incorrect rate limits being applied to note thread mute endpoints 2024-10-27 22:54:22 +01:00
Laura Hausmann
df587e417d
[backend/drive] Fix DriveController serving files with possibly invalid extensions (ISH-556) 2024-10-27 22:51:29 +01:00
Laura Hausmann
5377cb543a
[sln] Code cleanup 2024-10-27 21:21:55 +01:00
Laura Hausmann
90a6b06410
[backend/api] Fix race condition causing simultaneous DbContext access in NotificationRenderer 2024-10-27 18:12:17 +01:00
Laura Hausmann
7aec669d73
[backend] Code cleanup 2024-10-25 06:49:28 +02:00
5a63787c39 [backend] refactor mastoapi bitecontroller routes 2024-10-25 01:44:54 +02:00
0a8b7dbf7a [backend] add mastoapi routes for biting notes and biting back users, add alternate route for biting users, and fix biting through mastoapi 2024-10-25 01:44:54 +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
Lilian
6e30b667b2
[sln] Code cleanup 2024-10-24 18:49:17 +02:00
Laura Hausmann
c134e9f87c
[backend/api] Return stripped reply data in note ascendants endpoint 2024-10-24 18:20:48 +02:00
Laura Hausmann
a37d4c141d
[backend/api] Return stripped reply data in note descendants endpoint 2024-10-24 18:20:48 +02:00
Lilian
4caace8214
[backend/api] Use RestPagination for Renotes and Quotes endpoints 2024-10-24 18:20:48 +02:00
Laura Hausmann
4b5d76961f
[backend/api] Add PaginationWrapper<TData> & associated helper methods 2024-10-24 18:20:48 +02:00
Laura Hausmann
55530f482d
[backend/api] Add pagination data to note likes and note renotes responses 2024-10-24 18:20:48 +02:00
Lilian
5dc54826e4
[backend/api] Add quotes enpoint 2024-10-24 18:20:48 +02:00
Lilian
a30693e596
[backend/api] Add renotes endpoint 2024-10-24 18:20:48 +02:00
Lilian
3a4738d1fd
[backend/web] Add "likes" endpoint 2024-10-24 18:20:48 +02:00
Laura Hausmann
f19a414b27
[backend/federation] Refactor UserResolver (ISH-548) 2024-10-24 01:48:09 +02:00
Laura Hausmann
e753bacb1d
[backend] Code cleanup 2024-10-24 01:41:49 +02:00
pancakes
13955e7efe [backend/masto-client] Move Bite from Pleroma to Mastodon 2024-10-23 05:04:55 +02:00
pancakes
4bcfa99a3f [backend/masto-client] Add FromHybrid to BiteUser id 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
95666a865f [shared] Add bite back notification 2024-10-23 05:04:55 +02:00
pancakes
e68ec89cdb Fix formatting 2024-10-23 05:04:55 +02:00
pancakes
c0ac326622 [backend] Reformat and SuppressMessage in BiteBack 2024-10-23 05:04:55 +02:00
pancakes
82ed8b583b [backend/api] Prevent users from biting notes they can't see 2024-10-23 05:04:55 +02:00
pancakes
30ff0d77b2 [backend/api] Add bite back endpoint 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
fd7d3eabb2
[backend/federation] Only allow fetching of replies collection for local notes 2024-10-20 22:35:45 +02:00
Laura Hausmann
39ebc7a457
[backend/federation] Improve performance of note replies endpoint 2024-10-20 22:28:44 +02:00
Laura Hausmann
fa9dcfae6b
[backend/federation] Only fetch the minimum amount of note data required for rendering the replies collection 2024-10-20 22:24:50 +02:00
Laura Hausmann
53cdcebe87
[backend/api] Add endpoints to get all blocked/allowed instances (ISH-531) 2024-10-14 03:00:39 +02:00
Laura Hausmann
83f9e44c1b
[backend/drive] Serve files served by the integrated drive controller as inline attachments 2024-10-13 23:50:38 +02:00
Laura Hausmann
365c3f6f1d
[backend/api] Make avatar/banner updates user the files' AccessUrls instead of the Urls 2024-10-13 04:52:37 +02:00
Laura Hausmann
0496df2c9e
[backend/api] Prevent moderation actions on the authenticated user 2024-10-11 19:38:30 +02:00
Laura Hausmann
5005d81ee7
[backend/api] Prevent moderation actions on system users 2024-10-11 19:37:05 +02:00
Laura Hausmann
3a346d5a22
[backend/razor] Add admin dashboard (Admin-FE)
Currently available sections: instance metadata, user management, federation control, relays, plugins & queue dashboard.
Planned: sections: configuration, logs, policies & reports.
2024-10-11 05:41:52 +02:00
Laura Hausmann
846888b2c7
[backend/core] Prevent system users from authenticating or creating notes 2024-10-09 21:39:36 +02:00
Laura Hausmann
5f5a0c5c0f
[backend/api] Add moderation endpoints (ISH-116) 2024-10-09 19:11:54 +02:00
Laura Hausmann
23d2664376
[backend/core] Fix policy configuration endpoint not updating the configuration correctly depending on JSON format 2024-10-09 06:20:09 +02:00
Laura Hausmann
dc77c48005
[backend/core] Allow configuring arbitrary reject/rewrite policies, add default configuration values to all policies (ISH-16) 2024-10-09 05:46:18 +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
pancakes
6fe4b26019 [shared] Add sensitive field to note reactions 2024-10-04 00:36:38 +02:00
pancakes
b3b2adb127 [backend] Add sensitive field to emojis 2024-10-04 00:36:38 +02:00
Laura Hausmann
7662c28745
[backend/database] Canonicalize punycode host representations to lowercase 2024-10-02 01:16:25 +02:00
Laura Hausmann
1b4ba8b6a0
[backend/api] Add admin endpoint to manually trigger media cleanup 2024-09-30 23:30:12 +02:00