2
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2026-03-04 01:36:36 +08:00
discourse/app/jobs/scheduled
Alan Guo Xiang Tan 414127b42d
FIX: sort tag names in clean up tags staff log entry (#37909)
What is the problem?

- The `Jobs::CleanUpTags` scheduled job in
`app/jobs/scheduled/clean_up_tags.rb`
deletes unused tags and logs the deleted tag names via
`StaffActionLogger`.
- On line 15, `tags.pluck(:name)` retrieves tag names without an `ORDER
BY`
  clause, so the database may return rows in any order.
- This causes the spec at `spec/jobs/clean_up_tags_spec.rb:78` to be
flaky —
  it asserts `'tags: ["unused1", "unused2"]'` but sometimes receives
  `'tags: ["unused2", "unused1"]'`.

What is the solution?

- Add `.order(:name)` before `.pluck(:name)` in
  `Jobs::CleanUpTags#execute` so the query includes `ORDER BY name`.
- This makes the logged tag list deterministic (alphabetically sorted),
  fixing the flaky test and producing more readable staff action logs.
2026-02-19 14:43:58 +08:00
..
about_stats.rb
activation_reminder_emails.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
aggregate_web_hooks_events.rb DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00
auto_queue_handler.rb DEV: replace .each with .find_each for paginated queries (#27159) 2024-05-23 15:42:21 -07:00
backfill_dominant_colors.rb PERF: Move dominant color calculation to separate job (#18501) 2022-10-06 13:26:08 +01:00
badge_grant.rb PERF: Enqueue Job::BackfillBadge in Jobs::BadgeGrant (#30945) 2025-01-24 09:35:01 +08:00
bookmark_reminder_notifications.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
calculate_scores.rb DEV: Split weekly job into multiple smaller jobs (#31260) 2025-02-11 10:26:45 +02:00
call_discourse_hub.rb FEATURE: call hub API to update Discourse discover enrollment. (#25634) 2024-02-23 11:42:28 +05:30
category_stats.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
check_new_features.rb REVERT: Check for features sooner (#29746) 2024-11-13 11:30:34 -08:00
check_out_of_date_themes.rb FIX: Continue if checking themes if updating one fails (#19665) 2023-01-09 11:56:43 -06:00
check_translation_overrides.rb FIX: Ensure JsLocaleHelper to not output deprecated translations (#28037) 2024-07-29 15:21:25 +08:00
check_upcoming_changes.rb DEV: Deal with log spam for upcoming changes (#37429) 2026-02-02 15:35:37 +10:00
clean_dismissed_topic_users.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_api_keys_max_life.rb FEATURE: site settings to revoke api keys older than a number of days (#23595) 2023-09-15 16:31:29 -03:00
clean_up_associated_accounts.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_associated_groups.rb FEATURE: Experimental support for group membership via google auth (#14835) 2021-12-09 12:30:27 +00:00
clean_up_bookmarks.rb DEV: Split weekly job into multiple smaller jobs (#31260) 2025-02-11 10:26:45 +02:00
clean_up_crawler_stats.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_drafts.rb DEV: Split weekly job into multiple smaller jobs (#31260) 2025-02-11 10:26:45 +02:00
clean_up_email_change_requests.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_email_logs.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_email_tokens.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_exports.rb
clean_up_inactive_users.rb FIX: consider users.created_at for inactive cleanup (#21688) 2023-05-23 13:41:23 +05:30
clean_up_post_reply_keys.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_search_logs.rb
clean_up_stylesheet_cache.rb
clean_up_tags.rb FIX: sort tag names in clean up tags staff log entry (#37909) 2026-02-19 14:43:58 +08:00
clean_up_unmatched_emails.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_unmatched_ips.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_unsubscribe_keys.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_unused_api_keys.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_unused_registered_user_api_key_clients.rb DEV: Hand-pick Rails/WhereNot autofixes (#35117) 2025-10-03 13:29:22 +02:00
clean_up_unused_staged_users.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
clean_up_unused_user_api_keys.rb FEATURE: site settings to revoke api keys older than a number of days (#23595) 2023-09-15 16:31:29 -03:00
clean_up_uploads.rb FIX: Clean up not secure uploads with access_control_post_id (#31189) 2025-02-06 11:26:34 +10:00
clean_up_user_api_keys_max_life.rb FEATURE: site settings to revoke api keys older than a number of days (#23595) 2023-09-15 16:31:29 -03:00
clean_up_user_auth_tokens.rb DEV: Split weekly job into multiple smaller jobs (#31260) 2025-02-11 10:26:45 +02:00
cleanup_problem_check_trackers.rb DEV: Clean up trackers with outdated targets (#35978) 2026-01-14 12:54:16 +01:00
cleanup_redelivering_web_hook_events.rb DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00
clear_expired_impersonations.rb DEV: Allow impersonation without session swapping (#34213) 2025-08-21 14:18:15 +08:00
create_missing_avatars.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
create_recent_post_search_indexes.rb DEV: Deprecate the assignment of nil to site settings (#36093) 2025-12-01 15:04:23 +08:00
delete_rejected_emails.rb DEV: Split weekly job into multiple smaller jobs (#31260) 2025-02-11 10:26:45 +02:00
destroy_old_deletion_stubs.rb
destroy_old_hidden_posts.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
directory_refresh_daily.rb
directory_refresh_older.rb
drop_backup_schema.rb
enqueue_digest_emails.rb FIX: send activity summaries based on "last seen" (#27035) 2024-05-22 10:23:03 +02:00
enqueue_onceoffs.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
enqueue_suspect_users.rb FIX: Exclude suspended users from suspect users review queue (#37796) 2026-02-16 10:46:52 +08:00
ensure_badges_consistency.rb PERF: Enqueue Job::BackfillBadge in Jobs::BadgeGrant (#30945) 2025-01-24 09:35:01 +08:00
ensure_db_consistency.rb DEV: Rescue from each step of EnsureDbConsistency (#31313) 2025-02-13 12:07:04 +02:00
ensure_s3_uploads_existence.rb FIX: Jobs::EnsureS3UploadsExistence broken for multisite (#27401) 2024-06-10 16:26:39 +08:00
fix_user_usernames_and_groups_names_clash.rb DEV: Hand-pick Rails/WhereNot autofixes (#35117) 2025-10-03 13:29:22 +02:00
grant_anniversary_badges.rb DEV: extract anniversary badge query (#19716) 2023-01-16 11:55:00 +01:00
grant_new_user_of_the_month_badges.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
heartbeat.rb FIX: Redo Sidekiq monitoring to restart stuck sidekiq processes (#30198) 2024-12-18 12:48:50 +08:00
ignored_users_summary.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
invalidate_inactive_admins.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
migrate_upload_scheme.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
notify_admins_of_problems.rb DEV: Add back lost admin problem notification (#35146) 2025-10-03 16:14:28 +08:00
old_keys_reminder.rb DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00
pending_queued_posts_reminder.rb DEV: Enable unless cops 2023-02-21 10:30:48 +01:00
pending_reviewables_reminder.rb FIX: rename notify_about_flags_after to notify_about_reviewable_item_after (#21320) 2023-05-02 08:08:22 +10:00
pending_users_reminder.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
periodical_updates.rb DEV: ensure rebaking works even when some users have inconsistent data (#30261) 2024-12-16 19:48:25 +08:00
poll_mailbox.rb DEV: Database backed admin notices (#26192) 2024-05-23 09:29:08 +08:00
presence_channel_auto_leave.rb
process_badge_backlog.rb
process_shelved_notifications.rb
process_user_notification_schedules.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
purge_deleted_uploads.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
purge_expired_ignored_users.rb
purge_old_mini_scheduler_stat.rb DEV: Split weekly job into multiple smaller jobs (#31260) 2025-02-11 10:26:45 +02:00
purge_old_notifications.rb DEV: Split weekly job into multiple smaller jobs (#31260) 2025-02-11 10:26:45 +02:00
purge_old_web_hook_events.rb
purge_old_web_hook_events_daily_aggregate.rb FEATURE: Add WebHookEventsDailyAggregate (#27542) 2024-06-25 13:56:47 -03:00
purge_unactivated.rb
redeliver_web_hook_events.rb DEV: always load the excon gem 2026-01-15 17:13:11 -05:00
regenerate_sitemaps.rb FEATURE: Let sites add a sitemap.xml file. (#16357) 2022-04-12 10:33:59 -03:00
reindex_search.rb DEV: Move private method to bottom of file 2026-02-09 18:41:22 +00:00
reviewable_priorities.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
run_problem_checks.rb FIX: Problem checks running with NO_TARGET (#37430) 2026-02-02 15:28:58 +10:00
schedule_backup.rb DEV: Rename Backuper to Creator 2026-01-22 18:46:02 +00:00
tl3_promotions.rb DEV: Add tl3_custom_promotions plugin modifier to tl3_promotions.rb (#29834) 2024-11-22 15:28:43 -05:00
top_refresh_older.rb
top_refresh_today.rb
topic_timer_enqueuer.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
unsilence_users.rb DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
update_animated_uploads.rb DEV: Remove logical OR assignment of constants (#29201) 2024-10-16 10:09:07 +08:00
update_heat_settings.rb
update_topic_hot_scores.rb DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00