Merge remote-tracking branch 'origin/develop' into gitlab-mr-iid-4161

This commit is contained in:
Mark Felder 2026-03-25 13:31:07 -07:00
commit 7cc9ba6f06
1296 changed files with 27633 additions and 7387 deletions

View file

@ -2,5 +2,8 @@
{"lib/cachex.ex", "Unknown type: Spec.cache/0."}, {"lib/cachex.ex", "Unknown type: Spec.cache/0."},
{"lib/pleroma/web/plugs/rate_limiter.ex", "The pattern can never match the type {:commit, _} | {:ignore, _}."}, {"lib/pleroma/web/plugs/rate_limiter.ex", "The pattern can never match the type {:commit, _} | {:ignore, _}."},
{"lib/pleroma/web/plugs/rate_limiter.ex", "Function get_scale/2 will never be called."}, {"lib/pleroma/web/plugs/rate_limiter.ex", "Function get_scale/2 will never be called."},
{"lib/pleroma/web/plugs/rate_limiter.ex", "Function initialize_buckets!/1 will never be called."} {"lib/pleroma/web/plugs/rate_limiter.ex", "Function initialize_buckets!/1 will never be called."},
{"lib/pleroma/workers/receiver_worker.ex", :call},
{"lib/pleroma/workers/receiver_worker.ex", :pattern_match},
{"lib/pleroma/workers/receiver_worker.ex", :pattern_match_cov},
] ]

View file

@ -0,0 +1,25 @@
name: 'Bug report'
about: 'Report a bug in Pleroma'
body:
- type: markdown
attributes:
value: |
### Precheck
* For support use https://git.pleroma.social/pleroma/pleroma-support or [community channels](https://git.pleroma.social/pleroma/pleroma#community-channels).
* Please do a quick search to ensure no similar bug has been reported before. If the bug has not been addressed after 2 weeks, it's fine to bump it.
* Try to ensure that the bug is actually related to the Pleroma backend. For example, if a bug happens in Pleroma-FE but not in Mastodon-FE or mobile clients, it's likely that the bug should be filed in [Pleroma-FE](https://git.pleroma.social/pleroma/pleroma-fe/issues/new) repository.
- type: textarea
id: environment
attributes:
label: Environment
value: |
* Installation type (OTP or From Source):
* Pleroma version (could be found in the "Version" tab of settings in Pleroma-FE):
* Elixir version (`elixir -v` for from source installations, N/A for OTP):
* Operating system:
* PostgreSQL version (`psql -V`):
- type: textarea
id: bug-description
attributes:
label: Bug description

View file

@ -0,0 +1,13 @@
### Checklist
- [ ] Adding a changelog: In the `changelog.d` directory, create a file named `<code>.<type>`.
<!--
`<code>` can be anything, but we recommend using a more or less unique identifier to avoid collisions, such as the branch name.
`<type>` can be `add`, `change`, `remove`, `fix`, `security` or `skip`. `skip` is only used if there is no user-visible change in the PR (for example, only editing comments in the code). Otherwise, choose a type that corresponds to your change.
In the file, write the changelog entry. For example, if a PR adds group functionality, we can create a file named `group.add` and write `Add group functionality` in it.
If one changelog entry is not enough, you may add more. But that might mean you can split it into two PRs. Only use more than one changelog entry if you really need to (for example, when one change in the code fix two different bugs, or when refactoring).
-->

5
.gitignore vendored
View file

@ -6,7 +6,7 @@
/test/instance /test/instance
/test/uploads /test/uploads
/.elixir_ls /.elixir_ls
/test/fixtures/DSCN0010_tmp.jpg /test/fixtures/DSCN0010_tmp*
/test/fixtures/test_tmp.txt /test/fixtures/test_tmp.txt
/test/fixtures/image_tmp.jpg /test/fixtures/image_tmp.jpg
/test/tmp/ /test/tmp/
@ -63,3 +63,6 @@ pleroma.iml
archive-* archive-*
.gitlab-ci-local .gitlab-ci-local
# Test files should be named *.exs
test/pleroma/**/*.ex

View file

@ -1,21 +1,29 @@
image: git.pleroma.social:5050/pleroma/pleroma/ci-base:elixir-1.13.4-otp-25 image: git.pleroma.social:5050/pleroma/pleroma/ci-base:elixir-1.15.8-otp-26
variables: &global_variables variables: &global_variables
# Only used for the release # Only used for the release
ELIXIR_VER: 1.13.4 ELIXIR_VER: 1.17.3
POSTGRES_DB: pleroma_test POSTGRES_DB: pleroma_test
POSTGRES_USER: postgres POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres POSTGRES_PASSWORD: postgres
DB_HOST: postgres DB_HOST: postgres
DB_PORT: "5432" DB_PORT: "5432"
MIX_ENV: test MIX_ENV: test
GIT_STRATEGY: fetch
workflow: workflow:
rules: rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event" - if: $CI_PIPELINE_SOURCE == "merge_request_event"
- if: $CI_COMMIT_BRANCH == "develop"
- if: $CI_COMMIT_BRANCH == "stable"
- if: $CI_PIPELINE_SOURCE == "web"
- if: $CI_COMMIT_TAG
- if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
when: never when: never
- if: $CI_COMMIT_BRANCH
# Default artifacts configuration
.default_artifacts: &default_artifacts
expire_in: 30 days
cache: &global_cache_policy cache: &global_cache_policy
key: $CI_JOB_IMAGE-$CI_COMMIT_SHORT_SHA key: $CI_JOB_IMAGE-$CI_COMMIT_SHORT_SHA
@ -54,6 +62,7 @@ check-changelog:
before_script: '' before_script: ''
after_script: '' after_script: ''
cache: {} cache: {}
artifacts: *default_artifacts
script: script:
- apk add git - apk add git
- sh ./tools/check-changelog - sh ./tools/check-changelog
@ -69,8 +78,9 @@ check-changelog:
.using-ci-base: .using-ci-base:
tags: tags:
- amd64 - amd64
artifacts: *default_artifacts
build-1.13.4-otp-25: build-1.15.8-otp-26:
extends: extends:
- .build_changes_policy - .build_changes_policy
- .using-ci-base - .using-ci-base
@ -78,12 +88,12 @@ build-1.13.4-otp-25:
script: script:
- mix compile --force - mix compile --force
build-1.15.8-otp-26: build-1.18.3-otp-27:
extends: extends:
- .build_changes_policy - .build_changes_policy
- .using-ci-base - .using-ci-base
stage: build stage: build
image: git.pleroma.social:5050/pleroma/pleroma/ci-base:elixir-1.15.8-otp-26 image: git.pleroma.social:5050/pleroma/pleroma/ci-base:elixir-1.18.3-otp-27
script: script:
- mix compile --force - mix compile --force
@ -99,8 +109,12 @@ spec-build:
artifacts: artifacts:
paths: paths:
- spec.json - spec.json
reports:
dotenv: build.env
expire_in: 42 years
script: script:
- mix pleroma.openapi_spec spec.json - mix pleroma.openapi_spec spec.json
- echo "SPEC_BUILD_JOB_ID=$CI_JOB_ID" >> build.env
benchmark: benchmark:
extends: extends:
@ -118,7 +132,7 @@ benchmark:
- mix ecto.migrate - mix ecto.migrate
- mix pleroma.load_testing - mix pleroma.load_testing
unit-testing-1.13.4-otp-25: unit-testing-1.15.8-otp-26:
extends: extends:
- .build_changes_policy - .build_changes_policy
- .using-ci-base - .using-ci-base
@ -130,29 +144,47 @@ unit-testing-1.13.4-otp-25:
- name: postgres:13-alpine - name: postgres:13-alpine
alias: postgres alias: postgres
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"] command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
before_script: &testing_before_script
- echo $MIX_ENV
- rm -rf _build/*/lib/pleroma
# Create a non-root user for running tests
- useradd -m -s /bin/bash testuser
# Install dependencies as root first
- mix deps.get
# Set proper ownership for everything
- chown -R testuser:testuser .
- chown -R testuser:testuser /root/.mix || true
- chown -R testuser:testuser /root/.hex || true
# Create user-specific directories
- su testuser -c "HOME=/home/testuser mix local.hex --force"
- su testuser -c "HOME=/home/testuser mix local.rebar --force"
script: &testing_script script: &testing_script
- mix ecto.create # Run tests as non-root user
- mix ecto.migrate - su testuser -c "HOME=/home/testuser mix ecto.create"
- mix pleroma.test_runner --cover --preload-modules - su testuser -c "HOME=/home/testuser mix ecto.migrate"
- su testuser -c "HOME=/home/testuser mix pleroma.test_runner --cover --preload-modules"
coverage: '/^Line total: ([^ ]*%)$/' coverage: '/^Line total: ([^ ]*%)$/'
artifacts: artifacts:
expire_in: 30 days
reports: reports:
coverage_report: coverage_report:
coverage_format: cobertura coverage_format: cobertura
path: coverage.xml path: coverage.xml
unit-testing-1.15.8-otp-26: unit-testing-1.18.3-otp-27:
extends: extends:
- .build_changes_policy - .build_changes_policy
- .using-ci-base - .using-ci-base
stage: test stage: test
image: git.pleroma.social:5050/pleroma/pleroma/ci-base:elixir-1.15.8-otp-26 image: git.pleroma.social:5050/pleroma/pleroma/ci-base:elixir-1.18.3-otp-27
cache: *testing_cache_policy cache: *testing_cache_policy
services: *testing_services services: *testing_services
before_script: *testing_before_script
script: *testing_script script: *testing_script
formatting-1.15: formatting-1.15:
extends: .build_changes_policy extends: .build_changes_policy
artifacts: *default_artifacts
image: &formatting_elixir elixir:1.15-alpine image: &formatting_elixir elixir:1.15-alpine
stage: lint stage: lint
cache: *testing_cache_policy cache: *testing_cache_policy
@ -165,8 +197,9 @@ formatting-1.15:
script: script:
- mix format --check-formatted - mix format --check-formatted
cycles-1.13: cycles-1.15:
extends: .build_changes_policy extends: .build_changes_policy
artifacts: *default_artifacts
image: *formatting_elixir image: *formatting_elixir
stage: lint stage: lint
cache: {} cache: {}
@ -190,7 +223,7 @@ dialyzer:
- .using-ci-base - .using-ci-base
stage: lint stage: lint
allow_failure: true allow_failure: true
when: manual when: manual
cache: *testing_cache_policy cache: *testing_cache_policy
tags: tags:
- feld - feld
@ -199,15 +232,14 @@ dialyzer:
docs-deploy: docs-deploy:
stage: deploy stage: deploy
cache: *testing_cache_policy trigger:
image: alpine:latest project: pleroma/docs
branch: master
strategy: depend
only: only:
- stable@pleroma/pleroma - stable@pleroma/pleroma
- develop@pleroma/pleroma - develop@pleroma/pleroma
before_script:
- apk add curl
script:
- curl --fail-with-body -X POST -F"token=$CI_JOB_TOKEN" -F'ref=master' -F"variables[BRANCH]=$CI_COMMIT_REF_NAME" https://git.pleroma.social/api/v4/projects/673/trigger/pipeline
review_app: review_app:
image: alpine:3.9 image: alpine:3.9
stage: deploy stage: deploy
@ -223,6 +255,7 @@ review_app:
except: except:
- master - master
- develop - develop
artifacts: *default_artifacts
script: script:
- echo "$CI_ENVIRONMENT_SLUG" - echo "$CI_ENVIRONMENT_SLUG"
- mkdir -p ~/.ssh - mkdir -p ~/.ssh
@ -239,21 +272,19 @@ review_app:
spec-deploy: spec-deploy:
stage: deploy stage: deploy
artifacts: trigger:
paths: project: pleroma/api-docs
- spec.json branch: master
strategy: depend
only: only:
- develop@pleroma/pleroma - develop@pleroma/pleroma
image: alpine:latest variables:
before_script: SPEC_BUILD_JOB_ID: $SPEC_BUILD_JOB_ID
- apk add curl
script:
- curl --fail-with-body -X POST -F"token=$CI_JOB_TOKEN" -F'ref=master' -F"variables[BRANCH]=$CI_COMMIT_REF_NAME" -F"variables[JOB_REF]=$CI_JOB_ID" https://git.pleroma.social/api/v4/projects/1130/trigger/pipeline
stop_review_app: stop_review_app:
image: alpine:3.9 image: alpine:3.9
stage: deploy stage: deploy
artifacts: *default_artifacts
before_script: before_script:
- apk update && apk add openssh-client git - apk update && apk add openssh-client git
when: manual when: manual
@ -271,7 +302,8 @@ stop_review_app:
amd64: amd64:
stage: release stage: release
image: elixir:$ELIXIR_VER image:
name: hexpm/elixir-amd64:1.17.3-erlang-27.3.4.2-ubuntu-noble-20250716
only: &release-only only: &release-only
- stable@pleroma/pleroma - stable@pleroma/pleroma
- develop@pleroma/pleroma - develop@pleroma/pleroma
@ -296,8 +328,9 @@ amd64:
variables: &release-variables variables: &release-variables
MIX_ENV: prod MIX_ENV: prod
VIX_COMPILATION_MODE: PLATFORM_PROVIDED_LIBVIPS VIX_COMPILATION_MODE: PLATFORM_PROVIDED_LIBVIPS
DEBIAN_FRONTEND: noninteractive
before_script: &before-release before_script: &before-release
- apt-get update && apt-get install -y cmake libmagic-dev libvips-dev erlang-dev - apt-get update && apt-get install -y cmake libmagic-dev libvips-dev erlang-dev git build-essential
- echo "import Config" > config/prod.secret.exs - echo "import Config" > config/prod.secret.exs
- mix local.hex --force - mix local.hex --force
- mix local.rebar --force - mix local.rebar --force
@ -312,7 +345,8 @@ amd64-musl:
stage: release stage: release
artifacts: *release-artifacts artifacts: *release-artifacts
only: *release-only only: *release-only
image: elixir:$ELIXIR_VER-alpine image:
name: hexpm/elixir-amd64:1.17.3-erlang-27.3.4.2-alpine-3.22.1
tags: tags:
- amd64 - amd64
cache: *release-cache cache: *release-cache
@ -326,6 +360,7 @@ amd64-musl:
arm: arm:
stage: release stage: release
allow_failure: true
artifacts: *release-artifacts artifacts: *release-artifacts
only: *release-only only: *release-only
tags: tags:
@ -354,7 +389,8 @@ arm64:
only: *release-only only: *release-only
tags: tags:
- arm - arm
image: arm64v8/elixir:$ELIXIR_VER image:
name: hexpm/elixir-arm64:1.17.3-erlang-27.3.4.2-ubuntu-noble-20250716
cache: *release-cache cache: *release-cache
variables: *release-variables variables: *release-variables
before_script: *before-release before_script: *before-release
@ -366,7 +402,8 @@ arm64-musl:
only: *release-only only: *release-only
tags: tags:
- arm - arm
image: arm64v8/elixir:$ELIXIR_VER-alpine image:
name: hexpm/elixir-arm64:1.17.3-erlang-27.3.4.2-alpine-3.22.1
cache: *release-cache cache: *release-cache
variables: *release-variables variables: *release-variables
before_script: *before-release-musl before_script: *before-release-musl

28
.woodpecker.yml Normal file
View file

@ -0,0 +1,28 @@
when:
- event:
- pull_request
steps:
test:
image: elixir:1.15-alpine
environment:
MIX_ENV: test
DB_HOST: postgres
DB_PORT: 5432
commands:
- apk add --no-cache build-base cmake exiftool ffmpeg file-dev git openssl
- adduser -D -h /home/testuser testuser
- mkdir -p /home/testuser/.mix /home/testuser/.hex
- chown -R testuser:testuser . /home/testuser
- su testuser -c "HOME=/home/testuser mix local.hex --force"
- su testuser -c "HOME=/home/testuser mix local.rebar --force"
- su testuser -c "HOME=/home/testuser mix deps.get"
- su testuser -c "HOME=/home/testuser mix test"
services:
postgres:
image: postgres:13-alpine
environment:
POSTGRES_DB: pleroma_test
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres

File diff suppressed because it is too large Load diff

View file

@ -1,9 +1,10 @@
# https://hub.docker.com/r/hexpm/elixir/tags
ARG ELIXIR_IMG=hexpm/elixir ARG ELIXIR_IMG=hexpm/elixir
ARG ELIXIR_VER=1.13.4 ARG ELIXIR_VER=1.17.3
ARG ERLANG_VER=24.3.4.15 ARG ERLANG_VER=26.2.5.6
ARG ALPINE_VER=3.17.5 ARG ALPINE_VER=3.17.9
FROM ${ELIXIR_IMG}:${ELIXIR_VER}-erlang-${ERLANG_VER}-alpine-${ALPINE_VER} as build FROM ${ELIXIR_IMG}:${ELIXIR_VER}-erlang-${ERLANG_VER}-alpine-${ALPINE_VER} AS build
COPY . . COPY . .
@ -14,6 +15,7 @@ RUN apk add git gcc g++ musl-dev make cmake file-dev vips-dev &&\
echo "import Config" > config/prod.secret.exs &&\ echo "import Config" > config/prod.secret.exs &&\
mix local.hex --force &&\ mix local.hex --force &&\
mix local.rebar --force &&\ mix local.rebar --force &&\
mix deps.clean --all &&\
mix deps.get --only prod &&\ mix deps.get --only prod &&\
mkdir release &&\ mkdir release &&\
mix release --path release mix release --path release

View file

@ -1,4 +1,4 @@
<img src="https://git.pleroma.social/pleroma/pleroma/uploads/8cec84f5a084d887339f57deeb8a293e/pleroma-banner-vector-nopad-notext.svg" width="300px" /> <img src="https://git.pleroma.social/attachments/06a95f5a-7cac-42ad-8b1d-1483f1739f38" width="300px" />
## About ## About
@ -19,8 +19,6 @@ If you are running Linux (glibc or musl) on x86/arm, the recommended way to inst
If your platform is not supported, or you just want to be able to edit the source code easily, you may install Pleroma from source. If your platform is not supported, or you just want to be able to edit the source code easily, you may install Pleroma from source.
- [Alpine Linux](https://docs-develop.pleroma.social/backend/installation/alpine_linux_en/) - [Alpine Linux](https://docs-develop.pleroma.social/backend/installation/alpine_linux_en/)
- [Arch Linux](https://docs-develop.pleroma.social/backend/installation/arch_linux_en/)
- [CentOS 7](https://docs-develop.pleroma.social/backend/installation/centos7_en/)
- [Debian-based](https://docs-develop.pleroma.social/backend/installation/debian_based_en/) - [Debian-based](https://docs-develop.pleroma.social/backend/installation/debian_based_en/)
- [Debian-based (jp)](https://docs-develop.pleroma.social/backend/installation/debian_based_jp/) - [Debian-based (jp)](https://docs-develop.pleroma.social/backend/installation/debian_based_jp/)
- [FreeBSD](https://docs-develop.pleroma.social/backend/installation/freebsd_en/) - [FreeBSD](https://docs-develop.pleroma.social/backend/installation/freebsd_en/)

View file

@ -1 +0,0 @@
Fix Emoji object IDs not always being valid

View file

@ -1 +0,0 @@
Update to Phoenix 1.7

View file

@ -1 +0,0 @@
HTTP Security: By default, don't allow unsafe-eval. The setting needs to be changed to allow Flash emulation.

View file

@ -1 +0,0 @@
Remove checking ImageMagick's commands for Pleroma.Upload.Filter.AnalyzeMetadata

View file

@ -1 +0,0 @@
Fix authentication check on account rendering when bio is defined

View file

@ -1 +0,0 @@
Uploader: Add support for uploading attachments using IPFS

View file

@ -1 +0,0 @@
Add NSFW-detecting MRF

View file

@ -1 +0,0 @@
ap userview: add outbox field.

View file

@ -1 +0,0 @@
Add DNSRBL MRF

View file

@ -1 +0,0 @@
Elixir Logger configuration is now longer permitted through AdminFE and ConfigDB

View file

@ -1 +0,0 @@
Add options to the mix prune_objects task

View file

@ -1 +0,0 @@
Fix #strip_report_status_data

View file

@ -1 +0,0 @@
Add Anti-mention Spam MRF backported from Rebased

View file

@ -0,0 +1 @@
Allow assigning users to reports

View file

@ -1 +0,0 @@
HTTPSignaturePlug: Add :authorized_fetch_mode_exceptions configuration

View file

@ -1 +0,0 @@
Support /authorize-interaction route used by Mastodon

View file

@ -1 +0,0 @@
Add an option to reject certain domains when authorized fetch is enabled.

View file

@ -0,0 +1 @@
Move avatar_description and header_description fields to the account object

View file

@ -1 +0,0 @@
Include following/followers in backups

View file

@ -1 +0,0 @@
Invalid activities delivered to the inbox will be rejected with a 400 Bad Request

View file

@ -1 +0,0 @@
Support Bandit as an alternative to Cowboy for the HTTP server.

View file

@ -1 +0,0 @@
Update Bandit to 1.5.2

View file

@ -1 +0,0 @@
Replace eblurhash with rinpatch_blurhash. This also removes a dependency on ImageMagick.

View file

@ -1 +0,0 @@
Allow to group bookmarks in folders

View file

@ -0,0 +1 @@
Various bookmark folders-related improvements

View file

@ -0,0 +1 @@
Allow fine-grained announce visibilities

View file

@ -1 +0,0 @@
Fix federation with Convergence AP Bridge

View file

@ -1 +0,0 @@
Elixir 1.13 is the minimum required version.

View file

@ -1 +0,0 @@
Mastodon API: Remove deprecated GET /api/v1/statuses/:id/card endpoint https://github.com/mastodon/mastodon/pull/11213

View file

@ -1 +0,0 @@
Include image description in status media cards

View file

@ -1 +0,0 @@
ChatMessage: Tolerate attachment field set to an empty array

View file

@ -1 +0,0 @@
- Config: Check the permissions of the linked file instead of the symlink

View file

@ -1 +0,0 @@
MediaProxy was setting the content-length header which is not permitted by RFC9112§6.2 when we are chunking the reply as it conflicts with the existence of the transfer-encoding header.

View file

@ -1 +0,0 @@
Restore Cowboy's ability to stream MediaProxy responses without Chunked encoding.

View file

@ -0,0 +1 @@
Add reasonable defaults for :database_config_whitelist

View file

@ -1 +0,0 @@

View file

@ -1,2 +0,0 @@
Update dependencies held back due to old Elixir version

View file

@ -1 +0,0 @@
Fix the processing of email digest jobs.

View file

@ -1 +0,0 @@
- Document maximum supported version of Erlang & Elixir

View file

@ -1 +0,0 @@
Update and extend NetBSD installation docs

View file

@ -1 +0,0 @@
Elixir 1.15 compatibility

View file

@ -0,0 +1 @@
No-op code correctness improvements detected by Elixir 1.19 compiler

View file

@ -1 +0,0 @@
When downloading remote emojis packs, account for pagination

View file

@ -0,0 +1 @@
Encode custom emoji URLs in EmojiReact activity tags.

View file

@ -1 +0,0 @@
Make remote emoji packs API use specifically the V1 URL. Akkoma does not understand it without V1, and it works either way with normal pleroma, so no reason to not do this

View file

@ -0,0 +1 @@
Support lists `exclusive` param

View file

View file

@ -1 +0,0 @@
Implement `/api/v1/accounts/familiar_followers`

View file

@ -1 +0,0 @@
Add support for configuring favicon, embed favicon and PWA manifest in server-generated meta

View file

@ -1 +0,0 @@
- Make `/api/v1/pleroma/federation_status` publicly available

View file

@ -1 +0,0 @@
Removed support for multiple federator modules as we only support ActivityPub

View file

@ -1 +0,0 @@
Implement FEP-2c59, add "webfinger" to user actor

View file

@ -1 +0,0 @@
Framegrabs with ffmpeg will execute with a 5 second timeout and cache the URLs of failures with a TTL of 15 minutes to prevent excessive retries.

View file

@ -1 +0,0 @@
Following HTTP Redirects when the HTTP Adapter is Finch

View file

@ -1 +0,0 @@
Fix webfinger spoofing.

View file

@ -1 +0,0 @@
Add ForceMention MRF

View file

@ -1 +0,0 @@
Video framegrabs were not working correctly after the change to use Exile to execute ffmpeg

View file

@ -1 +0,0 @@
[docs] add frontends management documentation

View file

@ -0,0 +1 @@
Gopher: Fix Ranch listener not being stopped properly on Pleroma restart when database configuration is enabled

View file

@ -1 +0,0 @@
Implement group actors

View file

@ -1 +0,0 @@
Fix logic error in Gun connection pooling which prevented retries even when the worker was launched with retry = true

View file

@ -1 +0,0 @@
Connection pool errors when publishing an activity is a soft-error that will be retried shortly.

Some files were not shown because too many files have changed in this diff Show more