Commit graph

99 commits

Author SHA1 Message Date
pancakes
d2e1f186e8
[backend/federation] Don't use a constant for pancakes:pronouns 2025-02-05 18:10:42 +01:00
pancakes
df9d3388cf
[backend/federation] Switch from pancakes:Pronouns (V1) to pancakes:pronouns (V2) 2025-02-05 18:10:00 +01:00
pancakes
2aa6eb608b
[backend/federation] Federate user pronouns 2025-02-05 18:09:59 +01:00
Laura Hausmann
09919bdc77
[backend/core] Add support for HTTP proxy authentication 2025-01-12 08:34:07 +01:00
Laura Hausmann
ea7bcfa652
[backend/core] Add HTTP proxy support 2025-01-12 08:26:22 +01:00
Laura Hausmann
113bd98b0e
[backend/drive] Proxy remote media by default 2025-01-09 12:36:34 +01:00
Laura Hausmann
62493dbe19
[backend/asp] Allow customizing the unix socket permissions that are set on startup (ISH-671) 2025-01-08 12:04:53 +01:00
Kopper
6b1d84801e [backend] Implement infrastructure for outbox backfill 2025-01-07 01:42:15 +03:00
Laura Hausmann
107d9314a9
[backend/database] Fix design-time database updates 2024-11-18 19:02:41 +01: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
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
af2f5a5ef9
[backend/configuration] Improve ParseNaturalDuration 2024-10-24 20:28:44 +02:00
Laura Hausmann
138ac01d13
[backend/configuration] Make sure there's no difference between zero durations with/without suffixes 2024-09-30 23:19:38 +02:00
Laura Hausmann
514bf3ff10
[backend/razor] Add option to redirect index page for unauthenticated users (ISH-463) 2024-09-18 20:43:12 +02:00
Kopper
7fd1f81d21 [backend/federation] Limit reply backfill to same instance by default 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
024de937d0
[backend/federation] Backfill replies 2024-09-15 01:47:41 +02:00
Laura Hausmann
a0f3edf4fd
[backend/configuration] Fix InstanceSection.AdditionalDomains not being respected 2024-09-13 21:58:02 +02:00
Laura Hausmann
693057d661
[backend/configuration] Add .Trim() to AdditionalDomains 2024-09-13 18:54:31 +02:00
Laura Hausmann
13092e0e9a
[backend/configuration] Rename ExtraWebDomains to AdditionalDomains 2024-09-13 18:03:21 +02:00
Kopper
7cd5f0776b [backend/akko-client] Cleanup and reformat 2024-09-13 17:30:05 +02:00
Kopper
834661981a [backend] Allow admins to specity extra web domains the instance is accessible from
For frontends that expect relative paths
2024-09-13 17:30:05 +02:00
Laura Hausmann
2f3408f3d7
[backend/federation] Implement quotes as object links (FEP-e232) 2024-08-18 17:54:44 +02:00
Laura Hausmann
acbedd3bae
[backend/federation] Support WebFinger reverse discovery (ISH-364)
This resolves federation issues with old versions of pixelfed, as well as various AP implementations that are not widely deployed.
2024-08-13 23:58:46 +02:00
Laura Hausmann
e379ff3f60
[backend/configuration] Add config validation for the image processing pipeline 2024-08-12 03:21:04 +02:00
Laura Hausmann
e40cd7dbfd
[backend/drive] Add image/heic to the mime type allowlist 2024-08-12 03:21:03 +02:00
Laura Hausmann
1d31553199
[backend/drive] Add option to reject images that exceed the maximum media processing resolution 2024-08-12 03:21:03 +02:00
Laura Hausmann
f903a1d8a4
[backend/drive] Fix missing image processing resolution check 2024-08-12 03:21:03 +02:00
Laura Hausmann
1fba1ab119
[backend/drive] Add ImageProcessorConcurrency configuration option, default it to 8 (was: unrestricted) 2024-08-12 03:21:03 +02:00
Laura Hausmann
aaf3be209d
[backend/drive] Add advanced image processing pipeline configuration options (ISH-436, ISH-446)
This commit allows advanced configuration of the image processing pipeline. Exposed options include the format (WebP, AVIF & JXL), as well as encoding parameters. These can be set individually for any combination of image version (original/thumbnail/public) & image origin (local/remote).
2024-08-12 03:21:03 +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
7e4282b386
[backend/drive] Switch to stream processing for remote media
This makes sure that files larger than the configured maximum remote media cache size are not loaded into memory (if the size is known), or are only loaded into memory until the configured maximum size before getting discarded (if the size is not known)
2024-07-28 23:32:04 +02:00
Laura Hausmann
4690d5c1fb
[backend/database] Enable connection multiplexing by default 2024-07-25 00:14:16 +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
2d178e5a9a
[backend/queue] Allow configuring worker types in cluster mode (ISH-141) 2024-07-24 20:39:45 +02:00
Laura Hausmann
c67984c411
[backend] Manually reformat difficult-to-read switch expressions that got hard wrapped 2024-07-11 17:46:34 +02:00
Laura Hausmann
91acb8ed9e
[backend/federation] Add edition to nodeinfo response 2024-07-10 18:11:17 +02:00
Laura Hausmann
91b5021e4c
[shared] Refactor assembly version info
Because our frontend assembly now also knows its version, we no longer have to rely on meta tags to pass the version on to the frontend.

Since the HTML skeleton no longer includes version information, the nodeinfo response has been amended with the now-absent properties.
2024-07-09 21:50:06 +02:00
Laura Hausmann
6379a09c12
[backend/configuration] Make user-agent standards compliant 2024-07-01 00:42:56 +02:00
Laura Hausmann
df3a7bdfe5
[backend] Apply formatting rules 2024-06-29 01:06:19 +02:00
Laura Hausmann
3e0a5b5759
[backend/configuration] Allow configuring of parameter logging for database exceptions 2024-06-21 16:24:03 +02:00
Laura Hausmann
f2e4d11ce4
[backend/configuration] Fix typo(s) that was causing JobRetention settings not to be applied correctly 2024-06-21 16:11:07 +02:00
Laura Hausmann
32d6cb555d
[backend/configuration] Allow configuring of queue job retention 2024-06-21 14:42:00 +02:00
Laura Hausmann
173b01fbf3
[backend/database] Disable multiplexing by default 2024-06-10 19:35:42 +02:00
Laura Hausmann
3467fe952c
[backend/database] Add support for connection multiplexing 2024-06-10 19:26:21 +02:00
Laura Hausmann
aa21e4b05a
[backend/queue] Make queue concurrency configurable 2024-06-10 18:18:39 +02:00
Laura Hausmann
5771e43dda
[backend/federation] Add configuration option for limiting the number of concurrent federation requests (ISH-338) 2024-06-10 18:18:23 +02:00