Commit graph

113 commits

Author SHA1 Message Date
Kopper
6b1d84801e [backend] Implement infrastructure for outbox backfill 2025-01-07 01:42:15 +03:00
Laura Hausmann
729dfac6df
[backend] Fix build 2025-01-05 06:24:08 +01:00
Laura Hausmann
0df2d49560
[backend/api] [frontend/pages] Remove specified as an option for default renote visibility 2025-01-05 05:34:20 +01:00
Laura Hausmann
010dd2bb96
[backend/core] Fix CW edits not being processed correctly, replace CW line endings during note ingest 2024-12-15 00:34:29 +01:00
Laura Hausmann
2453e0f673
[backend/database] Normalize note text & user bio line endings 2024-12-15 00:22:31 +01:00
Kopper
149fae3363
[backend] address review 2024-12-13 22:19:31 +01:00
Kopper
1e1364e2bb
[backend/masto-client] Add feature flag for inline media 2024-12-13 22:19:31 +01:00
Kopper
b6953236c3
[backend/masto-client] Fix edits breaking inline media 2024-12-13 22:19:31 +01:00
Kopper
36d9a8cc49
[backend/federation] Context collection 2024-11-23 18:20:41 +01: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
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
bb276c57f3
[backend/database] Add job mutex column 2024-10-22 21:11:57 +02:00
Laura Hausmann
4f4a847621
[backend/database] Increase length of follow request activity id field to 512 characters
This should fix federation with brid.gy relays.
2024-10-20 22:05:57 +02:00
Laura Hausmann
3274259f12
[backend/database] Prevent alt text migration from printing the info message twice 2024-10-09 18:39:40 +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
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
df26db0585
[backend/federation] Add relay support (ISH-266) 2024-09-28 00:32:43 +02:00
Kopper
024de937d0
[backend/federation] Backfill replies 2024-09-15 01:47:41 +02:00
Laura Hausmann
238b441560
[backend/database] Remove remote user reply notifications 2024-09-14 02:46:31 +02:00
Laura Hausmann
08621c72a0
[backend/database] Move pleroma migration into the beta4 directory 2024-09-13 18:32:30 +02:00
Kopper
79427e2901 [backend/akko-client] Prune migration designer file 2024-09-13 17:30:05 +02:00
Kopper
26ec42bc62 [backend/akko-client] Put Pleroma quirks behind a feature flag 2024-09-13 17:30:05 +02:00
Laura Hausmann
c07bb35548
[backend/drive] Refactor ImageProcessor into a modular system
This commit lays the groundwork for a user-configurable image processing pipeline. It has exactly the same behavior as the old ImageProcessor, just modular & compartmentalized. It also adds support for AVIF & JXL encoding, though no code paths call it just yet.
2024-08-12 03:21:03 +02:00
Laura Hausmann
0f400e8023
[backend/queue] Remove cluster mode (ISH-141)
This is wontfix for now, though we might reevaluate this later.
2024-07-25 00:00:43 +02:00
Laura Hausmann
1f5171eacc
[backend/startup] Add iceshrimp-js migration assistant 2024-07-20 17:10:33 +02:00
Laura Hausmann
478efdc4c7
[iceshrimp/database] Add plugin store table (ISH-424) 2024-07-13 23:04:55 +02:00
Laura Hausmann
7a67b8a472
[backend/database] Add missing index on User.IsSuspended 2024-07-12 21:10:18 +02:00
Laura Hausmann
b7646f4d6c
[backend/database] Resync constraint/index differences between native .net databases and ones migrated from -js 2024-07-12 21:02:55 +02:00
Laura Hausmann
0cd754f4c2
[backend/database] Remove extraneous user table columns 2024-07-11 23:37:55 +02:00
Laura Hausmann
09cda1a89e
[backend/database] Move user_profile columns that only concern local users to user_settings
This commit also removes a bunch of obsolete user_profile columns.
2024-07-10 02:55:57 +02:00
Laura Hausmann
5564bb7234
[backend/database] Move migrations into respective version folders 2024-06-29 01:11:46 +02:00
Laura Hausmann
3599150603
[backend/database] Add Exception column to Job table 2024-06-21 19:18:31 +02:00
Laura Hausmann
19c9b7bf90
[backend/database] Add StackTrace column to Job table 2024-06-21 14:05:34 +02:00
Laura Hausmann
f5c0cc9a38
[backend/database] Add migration that fixes up poll voter counts using the new algorithm (ISH-377) 2024-06-20 20:05:51 +02:00
Laura Hausmann
fc7a1fe95c
[backend/federation] Make sure new follow & unfollow activities have a consistent identifier (ISH-367) 2024-06-17 17:16:27 +02:00
Laura Hausmann
ed38dc3788
[backend/database] Fix poll votersCount query for PostgreSQL versions prior to 16 2024-06-14 18:59:36 +02:00
Laura Hausmann
39a6ed2215
[backend/database] Fix votersCount getting set for all polls 2024-06-05 15:59:27 +02:00
Laura Hausmann
dba4196655
[backend/core] Track poll votersCount for local & remote polls 2024-06-05 15:26:25 +02:00
Laura Hausmann
51f0890c36
[backend/database] Move more migrations into their respective version folder 2024-05-27 22:11:18 +02:00
Laura Hausmann
e77c768882
[backend/database] Switch job identifier generation scheme to from UUIDv4 to ULID 2024-05-27 22:11:18 +02:00
Laura Hausmann
aeb1ce6d24
[backend] Fix build 2024-05-14 20:17:28 +02:00
Laura Hausmann
ed04ab9542
[backend/database] Add migration that fixes up inconsistent drive file metadata 2024-05-14 20:15:49 +02:00
Laura Hausmann
0ad4346e51
[backend/masto-client] Add user_settings feature flag for hiding inaccessible notes (ISH-303) 2024-05-02 23:33:41 +02:00
Laura Hausmann
f8301613e7
[backnd/database] Don't try to parse UserProfile.MutedWords 2024-05-01 15:45:36 +02:00
Laura Hausmann
d54cb5c391
[backend/database] Add renoteUri and replyUri properties to the note table 2024-04-30 00:15:58 +02:00
Laura Hausmann
61adc27b18
[backend/masto-client] Use new defaultRenoteVisibility user setting instead of defaulting to followers if not explicitly specified (ISH-290) 2024-04-28 23:09:20 +02:00
Laura Hausmann
bee733b3da
[backend/database] Rename DataProtectionKeys table to data_protection_keys for consistency 2024-04-28 20:15:56 +02:00
Laura Hausmann
d7a69375b6
[backend/database] Increase instance softwareName and softwareVersion max length to 256 2024-04-27 21:26:54 +02:00