discourse/app/jobs/scheduled
Ted Johansson 9915236e42
FEATURE: Warn about outdated translation overrides in admin dashboard (#22384)
This PR adds a feature to help admins stay up-to-date with their translations. We already have protections preventing admins from problems when they update their overrides. This change adds some protection in the other direction (where translations change in core due to an upgrade) by creating a notice for admins when defaults have changed.

Terms:

- In the case where Discourse core changes the default translation, the translation override is considered "outdated".
- In the case above where interpolation keys were changed from the ones the override is using, it is considered "invalid".
- If none of the above applies, the override is considered "up to date".

How does it work?

There are a few pieces that makes this work:

- When an admin creates or updates a translation override, we store the original translation at the time of write. (This is used to detect changes later on.)
- There is a background job that runs once every day and checks for outdated and invalid overrides, and marks them as such.
- When there are any outdated or invalid overrides, a notice is shown in admin dashboard with a link to the text customization page.

Known limitations

The link from the dashboard links to the default locale text customization page. Given there might be invalid overrides in multiple languages, I'm not sure what we could do here. Consideration for future improvement.
2023-07-10 10:06:40 +08:00
..
about_stats.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
activation_reminder_emails.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00
admin_problems.rb FEATURE: Add new notification for admin problems (#21287) 2023-05-03 19:35:22 +03:00
auto_expire_user_api_keys.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00
auto_queue_handler.rb UX/DEV: Review queue redesign fixes (#20239) 2023-03-02 16:40:53 +01: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 DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00
bookmark_reminder_notifications.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00
category_stats.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00
check_new_features.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00: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 FEATURE: Warn about outdated translation overrides in admin dashboard (#22384) 2023-07-10 10:06:40 +08:00
clean_dismissed_topic_users.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00: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_crawler_stats.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00: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 DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
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 DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
clean_up_stylesheet_cache.rb PERF: Add scheduled job to delete old stylesheet cache rows (#13747) 2021-07-16 10:58:01 -04: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_staged_users.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00
clean_up_uploads.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00
cleanup_imap_sync_log.rb DEV: IMAP log to database (#10435) 2020-08-14 12:01:31 +10: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: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00
destroy_old_deletion_stubs.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
destroy_old_hidden_posts.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00
directory_refresh_daily.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
directory_refresh_older.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
disable_bootstrap_mode.rb FEATURE: Move bootstrap mode indicator to header (#20663) 2023-03-24 15:59:03 +02:00
drop_backup_schema.rb FEATURE: Drop "backup" schema 7 days after restore 2020-01-16 17:48:47 +01:00
enqueue_digest_emails.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00
enqueue_onceoffs.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00
enqueue_suspect_users.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00
ensure_db_consistency.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00
ensure_s3_uploads_existence.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00
fix_user_usernames_and_groups_names_clash.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00: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 DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00: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
old_keys_reminder.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00: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: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00
poll_mailbox.rb FEATURE: Add hooks for email poller plugins (#21384) 2023-06-26 13:16:03 +08:00
presence_channel_auto_leave.rb DEV: Introduce PresenceChannel API for core and plugin use 2021-08-27 16:26:06 +01:00
problem_checks.rb FEATURE: Scheduled problem checks for admin dashboard (#15327) 2021-12-20 09:59:11 +10:00
process_badge_backlog.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
process_shelved_notifications.rb DEV: Replace 'processed' column on notifications with new table (#11864) 2021-01-27 10:29:24 -06:00
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 DEV: Cleanup ignored user logic (#11107) 2020-11-03 12:38:54 +00:00
purge_old_web_hook_events.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
purge_unactivated.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10: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: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00
reviewable_priorities.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00
schedule_backup.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00
tl3_promotions.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00
top_refresh_older.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
top_refresh_today.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
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: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00
update_heat_settings.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
version_check.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00
weekly.rb DEV: Apply syntax_tree formatting to `app/*` 2023-01-09 14:14:59 +00:00