Laura Hausmann
fe8c736821
[backend/federation] Limit UserResolver invocations in NoteService (ISH-622)
2024-11-21 00:45:30 +01:00
Laura Hausmann
863c9ca9c9
[backend/federation] Improve actor & note validation (ISH-547)
2024-11-20 23:54:32 +01:00
Laura Hausmann
48bb81af1c
[backend/core] Deliver note creates & updates to reply author even if they're not mentioned
2024-11-20 01:30:56 +01:00
Laura Hausmann
a762a9201e
[backend/core] Revert IAsyncEnumerable naming
2024-11-20 01:12:32 +01:00
Laura Hausmann
24b412bd75
[sln] Reformat code
2024-11-20 00:48:29 +01:00
Laura Hausmann
7dec2514da
[sln] Apply code style
2024-11-20 00:48:29 +01:00
Laura Hausmann
4356a47b9d
[backend/asp] Make services runtime-discoverable
2024-11-18 19:02:44 +01:00
Laura Hausmann
6c76b2b2c5
[backend] Switch params methods to IEnumerable<T>
2024-11-18 19:02:41 +01:00
Laura Hausmann
f2853d2d40
[backend] Fix typo
2024-11-02 22:56:52 +01:00
Laura Hausmann
912c50488f
[backend/core] Fix ResolveNoteMentionsAsync regression
2024-10-29 20:01:15 +01:00
Laura Hausmann
b43e81b834
[backend/federation] Switch to Uri.TryCreate local fetch checks
2024-10-29 18:43:58 +01:00
Kopper
90f1e30ef2
[backend] Fix reply backfill limiting
2024-10-26 07:24:39 +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
f19a414b27
[backend/federation] Refactor UserResolver (ISH-548)
2024-10-24 01:48:09 +02:00
Laura Hausmann
c55e673cd2
[backend/federation] Don't allow negative voter counts
2024-10-23 04:49:25 +02:00
Laura Hausmann
6f55afe60a
[backend/core] Improve poll voter count fallback
...
This should fix erroneous voter counts for polls from instances that don't return as:votersCount.
2024-10-16 22:07:26 +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
a951217664
[backend/core] Don't retry jobs with like/unlike note resolution failures
2024-10-15 17:19:42 +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
5390990448
[backend/core] Add basic message rewrite policies (ISH-16)
2024-10-09 21:14:50 +02:00
kopper
8998cd2874
[backend] Also search in alt text
2024-10-09 18:31:16 +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
13614c2201
[backend] Reformat code
2024-09-23 02:00:34 +02:00
Laura Hausmann
07ed0f5651
[backend/core] Enforce local-only for renotes & replies of local-only notes
2024-09-23 02:00:27 +02:00
Kopper
91aab7c8d6
[backend/federation] Limit the maximum number of replies to backfill per post
2024-09-18 18:27:14 +02:00
Kopper
7fd1f81d21
[backend/federation] Limit reply backfill to same instance by default
2024-09-18 18:27:14 +02:00
Kopper
48784690c1
[backend/federation] Do not queue backfill jobs that have reached their recursion limit
2024-09-18 18:27:14 +02:00
Kopper
83e830b5df
[backend/configuration] Add configuration for backfill of note replies
2024-09-15 02:05:18 +02:00
Kopper
d6a8282a18
[backend/federation] Try using the original collection object when possible
2024-09-15 01:49:42 +02:00
Kopper
deabdc4eec
[backend/federation] Update replies collections of edited notes
...
This is mainly so we can backfill older posts before the reply
collections were saved in the database.
2024-09-15 01:47:41 +02:00
Kopper
23adf8bce6
[backend/federation] Delay backfilling for new notes to allow them time to collect replies
2024-09-15 01:47:41 +02:00
Kopper
024de937d0
[backend/federation] Backfill replies
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
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
7627219322
[backend/federation] Discard note updates with nonsensical update stamp
2024-08-18 19:25:07 +02:00
Laura Hausmann
2f3408f3d7
[backend/federation] Implement quotes as object links (FEP-e232)
2024-08-18 17:54:44 +02:00
Laura Hausmann
093abe82b8
[backend/core] Also use the NoteService KeyedLocker when it's called from ActivityHandlerService
...
This fixes sporadic "Unique constraint violation" exceptions on the "IX_note_uri" index.
2024-08-18 00:22:09 +02:00
Laura Hausmann
8267bc06de
[backend] Code cleanup
2024-08-14 03:53:15 +02:00
Laura Hausmann
4f98fa8461
[backend/federation] Fix possibly unbounded UserResolver recursion
2024-08-14 03:44:14 +02:00
Laura Hausmann
c3eacb34c2
[backend/federation] Add support for hubzilla's hashtag formatting
...
A bit strange but here we are
2024-08-14 02:01:56 +02:00
Laura Hausmann
4d0ccf1e74
[backend/core] Don't queue poll expiry jobs when expiry is more than 1 year in the future
2024-07-23 20:19:33 +02:00
Laura Hausmann
1e8f1cb964
[backend/database] Migrate references to Note.ThreadId ?? Note.Id to Note.ThreadIdOrId
2024-07-14 22:06:29 +02:00
Laura Hausmann
5182d1bbbb
[backend/federation] Fixup hashtags in incoming notes (ISH-421)
2024-07-14 21:28:20 +02:00
Laura Hausmann
3ac63e1510
[backend/federation] Respect UserSettings.AlwaysMarkSensitive
2024-07-11 23:24:48 +02:00
Laura Hausmann
4a2ee992c2
[backend] Disable code formatting in some regions for better readability
2024-07-04 19:14:26 +02:00
Laura Hausmann
374d9d5ebf
[backend/api] Add note refetch endpoint (ISH-352)
2024-07-04 18:57:17 +02:00
Laura Hausmann
df3a7bdfe5
[backend] Apply formatting rules
2024-06-29 01:06:19 +02:00
Laura Hausmann
a253e83176
[backend/federation] Refactor ActivityRenderer
2024-06-21 14:28:29 +02:00