0
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2026-08-05 18:09:26 +08:00
discourse/config/initializers
Martin Brennan 4de06a006b
FIX: Do not notify new sites or plugins enabled of old upcoming changes (#42045)
For upcoming changes, we were having a problem where we
were notifying admins of upcoming changes in brand new sites.
A previous fix 2e5afb46e2f5c0547bc298b2bd1a9c39e813dc17 tried
to remedy this, but since it relies on the `new_site?` method, which
isn't true after 1 hour, the next time the scheduled notifications are
run for an admin they will be sent them even if their site is relatively
new.

This commit attempts to conclusively fix the issue by inserting
upcoming change `admins_notified_automatic_promotion` and
`admins_notified_available_change` events via `BackfillNotifiedEvents`
for changes that exist in particular statuses when the site is first
created. These events will have `event_data: {"backfilled" => true}`
to distinguish them from others.

It also fixes an adjacent issue where an admin was notified of a
plugin's upcoming changes as soon as they enable the plugin,
which isn't useful as the intent of upcoming changes is to notify
of changes for things the admin has already been using.

**Before this change, on brand new site with current upcoming change
state**

<img width="401" height="429" alt="image"
src="https://github.com/user-attachments/assets/a89cd641-59aa-4c48-a57c-9692021df176"
/>

**After this change**

No notification to show :) But when I moved an upcoming change to `beta`
it showed
the notification for the enabled upcoming change correctly:

<img width="378" height="174" alt="image"
src="https://github.com/user-attachments/assets/20e4096f-e83f-4c06-970d-a9b43561b12e"
/>
2026-07-30 09:51:08 +10:00
..
000-active_record.rb FIX: Load PostgreSQL structures in a single transaction (#42012) 2026-07-27 09:51:34 +08:00
000-development_reload_warnings.rb DEV: Enable Rails/FilePath rubocop rule (#40097) 2026-05-19 19:07:54 +02:00
000-mini_racer.rb DEV: Add experimental DISCOURSE_MINI_RACER_SINGLE_THREADED (#38119) 2026-02-27 15:57:02 +00:00
000-mini_sql.rb
000-pg_connection_patch.rb DEV: Fix assigned but unused variable Prism warnings (#39436) 2026-04-22 12:42:14 +02:00
000-post_migration.rb
000-trace_pg_connections.rb DEV: Enable Style/RedundantSelf rubocop rule (#40098) 2026-05-19 19:27:45 +02:00
000-zeitwerk.rb DEV: Remove Unicorn web server in favor of Pitchfork (#39032) 2026-04-01 15:04:59 +02:00
001-redis.rb
002-freedom_patches.rb DEV: Enable Rails/FilePath rubocop rule (#40097) 2026-05-19 19:07:54 +02:00
002-rails_failover.rb DEV: Upgrade Rails to version 7.2 2024-11-27 10:48:47 +01:00
003-imagemagick.rb SECURITY: Harden imagemagick execution 2026-06-30 16:10:52 +02:00
004-message_bus.rb DEV: Enable Style/RedundantParentheses rubocop rule (#40095) 2026-05-19 15:48:09 +02:00
005-site_settings.rb DEV: Enable Style/RedundantBegin rubocop rule (#40096) 2026-05-19 18:44:54 +02:00
006-mini_profiler.rb DEV: Replace JS build system with Rolldown (#35963) 2026-05-29 11:11:55 +01:00
008-rack-cors.rb DEV: Enable Style/RedundantParentheses rubocop rule (#40095) 2026-05-19 15:48:09 +02:00
009-omniauth.rb DEV: Show unauthorized message when OAuth::Unauthorized is hit (#37776) 2026-02-12 13:41:33 -05:00
012-category_types.rb FEATURE: add category type configuration system (#37929) 2026-02-27 13:20:17 +10:00
012-web_hook_events.rb Add user_anonymized webhook event (#36208) 2025-11-25 07:43:16 -08:00
014-track-setting-changes.rb DEV: remove simple email subject upcoming change metadata (#41807) 2026-07-20 14:43:00 +04:00
015-track-upcoming-change-toggle.rb FIX: Do not notify new sites or plugins enabled of old upcoming changes (#42045) 2026-07-30 09:51:08 +10:00
099-anon-cache.rb
099-drain_pool.rb
100-active-support-type-extensions.rb DEV: Add symbol to ActiveModel attribute types (#36420) 2025-12-03 10:57:44 +01:00
100-anonymous_actions.rb FEATURE: Prompt anonymous users to sign up after engagement clicks (#40256) 2026-05-26 09:30:38 +02:00
100-custom-timezones.rb DEV: maps IST rails timezone to kolkata (#32896) 2025-05-26 08:56:04 +02:00
100-flags.rb DEV: Upgrade Rails to version 7.2 2024-11-27 10:48:47 +01:00
100-i18n.rb FIX: Purge ExtraLocalesController cache correctly for multisite (#32654) 2025-05-08 23:52:45 +01:00
100-logster.rb DEV: Enable Rails/FilePath rubocop rule (#40097) 2026-05-19 19:07:54 +02:00
100-oj.rb DEV: Update multi_json to 1.20.1 (#39627) 2026-04-29 11:38:36 +02:00
100-onebox_options.rb DEV: Add a user agent to all HTTP requests that Discourse makes. (#31555) 2025-03-03 16:32:25 +11:00
100-quiet_logger.rb
100-regex-timeout.rb
100-secret_token.rb
100-session_store.rb DEV: Enable Style/RedundantParentheses rubocop rule (#40095) 2026-05-19 15:48:09 +02:00
100-sidekiq.rb DEV: Enable Rails/FilePath rubocop rule (#40097) 2026-05-19 19:07:54 +02:00
100-silence_logger.rb
100-strong_parameters.rb
100-verify_config.rb DEV: Enable Rails/FilePath rubocop rule (#40097) 2026-05-19 19:07:54 +02:00
100-wrap_parameters.rb
101-lograge.rb DEV: Enable Style/RedundantBegin rubocop rule (#40096) 2026-05-19 18:44:54 +02:00
102-truncate-logs.rb
200-first_middlewares.rb DEV: Enable Style/RedundantParentheses rubocop rule (#40095) 2026-05-19 15:48:09 +02:00
300-nested-replies.rb FEATURE: Add nested replies category conversion (#41236) 2026-07-06 08:22:22 -05:00
300-perf.rb DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00
400-deprecations.rb
999-themes.rb DEV: Enable Rails/FilePath rubocop rule (#40097) 2026-05-19 19:07:54 +02:00
assets.rb DEV: Replace JS build system with Rolldown (#35963) 2026-05-29 11:11:55 +01:00
filter_parameter_logging.rb