From cef2c50a716fb59f5d6d01b7c2ba17efc9c70aed Mon Sep 17 00:00:00 2001 From: Jonathan de Jong Date: Tue, 14 Oct 2025 14:07:15 +0200 Subject: [PATCH 1/3] Fix allow_referrer_origin typo (#36460) --- config/settings.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/settings.yml b/config/settings.yml index ba81fcb8c..45d6cabb5 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -51,7 +51,7 @@ defaults: &defaults require_invite_text: false backups_retention_period: 7 captcha_enabled: false - allow_referer_origin: false + allow_referrer_origin: false development: <<: *defaults From 1e27ab088514e9eb013abba5a6f8d580c53f74f1 Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 14 Oct 2025 13:48:51 +0200 Subject: [PATCH 2/3] Fix moderation warning e-mails that include posts (#36462) --- app/views/notification_mailer/_nested_quote.html.haml | 2 +- app/views/notification_mailer/_status.html.haml | 4 ++-- spec/mailers/user_mailer_spec.rb | 4 +++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/views/notification_mailer/_nested_quote.html.haml b/app/views/notification_mailer/_nested_quote.html.haml index e66736399..dc0921c2e 100644 --- a/app/views/notification_mailer/_nested_quote.html.haml +++ b/app/views/notification_mailer/_nested_quote.html.haml @@ -11,7 +11,7 @@ %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-status-content - = render 'status_content', status: status + = render 'notification_mailer/status_content', status: status %p.email-status-footer = link_to l(status.created_at.in_time_zone(time_zone.presence), format: :with_time_zone), web_url("@#{status.account.pretty_acct}/#{status.id}") diff --git a/app/views/notification_mailer/_status.html.haml b/app/views/notification_mailer/_status.html.haml index 064709e7d..c56c7ec72 100644 --- a/app/views/notification_mailer/_status.html.haml +++ b/app/views/notification_mailer/_status.html.haml @@ -11,12 +11,12 @@ %table.email-w-full{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-status-content - = render 'status_content', status: status + = render 'notification_mailer/status_content', status: status - if status.local? && status.quote %table.email-inner-card-table{ cellspacing: 0, cellpadding: 0, border: 0, role: 'presentation' } %tr %td.email-inner-nested-card-td - = render 'nested_quote', status: status.quote.quoted_status, time_zone: time_zone + = render 'notification_mailer/nested_quote', status: status.quote.quoted_status, time_zone: time_zone %p.email-status-footer = link_to l(status.created_at.in_time_zone(time_zone.presence), format: :with_time_zone), web_url("@#{status.account.pretty_acct}/#{status.id}") diff --git a/spec/mailers/user_mailer_spec.rb b/spec/mailers/user_mailer_spec.rb index 88f9d12ca..82021cd3d 100644 --- a/spec/mailers/user_mailer_spec.rb +++ b/spec/mailers/user_mailer_spec.rb @@ -141,7 +141,9 @@ RSpec.describe UserMailer do end describe '#warning' do - let(:strike) { Fabricate(:account_warning, target_account: receiver.account, text: 'dont worry its just the testsuite', action: 'suspend') } + let(:status) { Fabricate(:status, account: receiver.account) } + let(:quote) { Fabricate(:quote, state: :accepted, status: status) } + let(:strike) { Fabricate(:account_warning, target_account: receiver.account, text: 'dont worry its just the testsuite', action: 'suspend', status_ids: [quote.status_id]) } let(:mail) { described_class.warning(receiver, strike) } it 'renders warning notification' do From 8965e1bfa9ce958ab16083a555ec6677b5f0f690 Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 15 Oct 2025 10:12:23 +0200 Subject: [PATCH 3/3] Bump version to v4.4.7 (#36473) --- CHANGELOG.md | 8 ++++++++ app/lib/activitypub/activity/delete.rb | 6 ++++-- docker-compose.yml | 6 +++--- lib/mastodon/version.rb | 2 +- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c2648b84b..32f6d2368 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ All notable changes to this project will be documented in this file. +## [4.4.7] - 2025-10-15 + +### Fixed + +- Fix forwarder being called with `nil` status when quote post is soft-deleted (#36463 by @ClearlyClaire) +- Fix moderation warning e-mails that include posts (#36462 by @ClearlyClaire) +- Fix allow_referrer_origin typo (#36460 by @ShadowJonathan) + ## [4.4.6] - 2025-10-13 ### Security diff --git a/app/lib/activitypub/activity/delete.rb b/app/lib/activitypub/activity/delete.rb index ce36cfe76..3e77f9b95 100644 --- a/app/lib/activitypub/activity/delete.rb +++ b/app/lib/activitypub/activity/delete.rb @@ -59,9 +59,11 @@ class ActivityPub::Activity::Delete < ActivityPub::Activity @quote = Quote.find_by(approval_uri: object_uri, quoted_account: @account) return if @quote.nil? - ActivityPub::Forwarder.new(@account, @json, @quote.status).forward! + ActivityPub::Forwarder.new(@account, @json, @quote.status).forward! if @quote.status.present? + @quote.reject! - DistributionWorker.perform_async(@quote.status_id, { 'update' => true }) + + DistributionWorker.perform_async(@quote.status_id, { 'update' => true }) if @quote.status.present? end def forwarder diff --git a/docker-compose.yml b/docker-compose.yml index 38c7fd836..a2264b65d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -59,7 +59,7 @@ services: web: # You can uncomment the following line if you want to not use the prebuilt image, for example if you have local code changes # build: . - image: ghcr.io/mastodon/mastodon:v4.4.6 + image: ghcr.io/mastodon/mastodon:v4.4.7 restart: always env_file: .env.production command: bundle exec puma -C config/puma.rb @@ -83,7 +83,7 @@ services: # build: # dockerfile: ./streaming/Dockerfile # context: . - image: ghcr.io/mastodon/mastodon-streaming:v4.4.6 + image: ghcr.io/mastodon/mastodon-streaming:v4.4.7 restart: always env_file: .env.production command: node ./streaming/index.js @@ -102,7 +102,7 @@ services: sidekiq: # You can uncomment the following line if you want to not use the prebuilt image, for example if you have local code changes # build: . - image: ghcr.io/mastodon/mastodon:v4.4.6 + image: ghcr.io/mastodon/mastodon:v4.4.7 restart: always env_file: .env.production command: bundle exec sidekiq diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index 069d0ea49..158375ba9 100644 --- a/lib/mastodon/version.rb +++ b/lib/mastodon/version.rb @@ -13,7 +13,7 @@ module Mastodon end def patch - 6 + 7 end def default_prerelease