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
Laura Hausmann
24bde5ad29
[backend] Use User.IsLocalUser / .IsRemoteUser instead of null-checks where applicable (ISH-370)
2024-06-17 17:25:29 +02:00
Laura Hausmann
95592df2ca
[backend/core] Don't create reply notifications on note update
...
This prevents erroneous duplicate notifications from being created.
2024-06-16 23:36:39 +02:00
Laura Hausmann
a703b63876
[backend/core] Ignore poll options consisting only of whitespace
...
This fixes compatibility with certain mastodon clients that send an extra empty-string poll option.
2024-06-14 20:04:38 +02:00
Laura Hausmann
dc8511632b
[backend/core] Replace sync DB call with async equivalent
2024-06-10 19:42:06 +02:00
Laura Hausmann
dba4196655
[backend/core] Track poll votersCount for local & remote polls
2024-06-05 15:26:25 +02:00
Laura Hausmann
1ef5be8917
[backend/core] Correctly handle remote AP redirects to local notes
2024-06-04 19:39:07 +02:00
Laura Hausmann
bcdcce80c9
[backend/core] Set note.text to null if it's whitespace on note creation & update
2024-06-04 17:51:00 +02:00
Laura Hausmann
117443b802
[backend/core] Fix typo
2024-05-30 13:35:31 +02:00