From 01b69a57436c0d700481085dc694bc29e140a387 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 17 Sep 2026 17:11:31 +0000 Subject: [PATCH] Add logging of account data removal (#40572) --- app/controllers/admin/accounts_controller.rb | 1 + app/controllers/api/v1/admin/accounts_controller.rb | 1 + app/workers/scheduler/suspended_user_cleanup_scheduler.rb | 2 +- config/locales/en.yml | 2 ++ 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/controllers/admin/accounts_controller.rb b/app/controllers/admin/accounts_controller.rb index e1406930147..3a699970081 100644 --- a/app/controllers/admin/accounts_controller.rb +++ b/app/controllers/admin/accounts_controller.rb @@ -72,6 +72,7 @@ module Admin def destroy authorize @account, :destroy? Admin::AccountDeletionWorker.perform_async(@account.id) + log_action :destroy, @account redirect_to admin_account_path(@account.id), notice: I18n.t('admin.accounts.destroyed_msg', username: @account.acct) end diff --git a/app/controllers/api/v1/admin/accounts_controller.rb b/app/controllers/api/v1/admin/accounts_controller.rb index cc42db25352..94729cef94f 100644 --- a/app/controllers/api/v1/admin/accounts_controller.rb +++ b/app/controllers/api/v1/admin/accounts_controller.rb @@ -69,6 +69,7 @@ class Api::V1::Admin::AccountsController < Api::BaseController def destroy authorize @account, :destroy? Admin::AccountDeletionWorker.perform_async(@account.id) + log_action :destroy, @account render_empty end diff --git a/app/workers/scheduler/suspended_user_cleanup_scheduler.rb b/app/workers/scheduler/suspended_user_cleanup_scheduler.rb index 4ea81c785b3..82197274a16 100644 --- a/app/workers/scheduler/suspended_user_cleanup_scheduler.rb +++ b/app/workers/scheduler/suspended_user_cleanup_scheduler.rb @@ -30,7 +30,7 @@ class Scheduler::SuspendedUserCleanupScheduler # This should be fine because we only process a small amount of deletion requests at once and # `id` and `created_at` should follow the same order. AccountDeletionRequest.reorder(id: :asc).take(MAX_DELETIONS_PER_JOB).each do |deletion_request| - next unless deletion_request.created_at < AccountDeletionRequest::DELAY_TO_DELETION.ago + next unless deletion_request.due_at.past? Admin::AccountDeletionWorker.perform_async(deletion_request.account_id) end diff --git a/config/locales/en.yml b/config/locales/en.yml index cf4ac7483f8..ff557c0202c 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -200,6 +200,7 @@ en: create_user_role: Create Role create_username_block: Create Username Rule demote_user: Demote User + destroy_account: Delete Account Data destroy_announcement: Delete Announcement destroy_canonical_email_block: Delete Email Block destroy_custom_emoji: Delete Custom Emoji @@ -268,6 +269,7 @@ en: create_user_role_html: "%{name} created %{target} role" create_username_block_html: "%{name} added rule for usernames containing %{target}" demote_user_html: "%{name} demoted user %{target}" + destroy_account_html: "%{name} deleted account data for %{target}" destroy_announcement_html: "%{name} deleted announcement %{target}" destroy_canonical_email_block_html: "%{name} unblocked email with the hash %{target}" destroy_collection_html: "%{name} removed collection by %{target}"