discourse/config/initializers
David Taylor 7826acc4a7
DEV: Replace site_setting_saved DiscourseEvent with site_setting_changed (#7401)
* DEV: Replace site_setting_saved DiscourseEvent with site_setting_changed

site_setting_saved is confusing for a few reasons:
- It is attached to the after_save of the ActiveRecord model. This is confusing because it only works 'properly' with the db_provider
- It passes the activerecord model as a parameter, which is confusing because you get access to the 'database' version of the setting, rather than the ruby setting. For example, booleans appear as 'y' or 'n' strings.
- When the event is called, the local process cache has not yet been updated. So if you call SiteSetting.setting_name inside the event handler, you will receive the old site setting value

I have deprecated that event, and added a new site_setting_changed event. It passes three parameters:
- Setting name (symbol)
- Old value (in ruby format)
- New value (in ruby format)

It is triggered after the setting has been persisted, and the local process cache has been updated.

This commit also includes a test case which describes the confusing behavior. This can be removed once site_setting_saved is removed.
2019-04-18 16:48:01 +01:00
..
001-redis.rb Remove unused lines. 2018-06-11 08:44:41 +08:00
002-freedom_patches.rb Revert "Revert message bus upgrade" 2015-12-09 11:48:41 +11:00
003-sql_builder.rb Revert "Revert message bus upgrade" 2015-12-09 11:48:41 +11:00
004-message_bus.rb SECURITY: extra CORS headers should be set on correct host 2018-07-11 09:29:02 +10:00
004-rails_multisite.rb FIX: Sidekiq fails to start if any of the multisite has problems. 2018-12-12 11:30:14 +08:00
005-site_settings.rb FIX: Sidekiq fails to start if any of the multisite has problems. 2018-12-12 11:30:14 +08:00
006-ensure_login_hint.rb Fix the build. 2019-01-17 17:28:09 +08:00
006-mini_profiler.rb DEV: update mini profiler 2018-12-10 14:29:20 +11:00
008-rack-cors.rb Add Cache-Control header to CORS (#6490) 2018-10-16 10:46:55 +11:00
009-omniauth.rb PERF: bypass omniauth unless in an auth path 2018-01-15 12:44:54 +11:00
010-discourse_iife.rb Update sprockets. (#4167) 2016-04-18 10:47:52 +08:00
011-rack-protection.rb Revert "Revert message bus upgrade" 2015-12-09 11:48:41 +11:00
012-web_hook_events.rb FEATURE: New 'Reviewable' model to make reviewable items generic 2019-03-28 12:45:10 -04:00
013-excon_defaults.rb FIX: Make omit_default_port the global default 2017-06-30 12:43:26 -04:00
014-track-setting-changes.rb DEV: Replace site_setting_saved DiscourseEvent with site_setting_changed (#7401) 2019-04-18 16:48:01 +01:00
050-force_https.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
099-anon-cache.rb DEV: avoid require_dependency for some libs 2018-12-31 10:53:30 +11:00
099-defer.rb PERF: stop running background work between requests 2017-11-23 15:48:47 +11:00
099-drain_pool.rb Revert "Revert message bus upgrade" 2015-12-09 11:48:41 +11:00
100-i18n.rb FIX: Server didn't use default_locale as fallback locale 2018-01-25 14:57:41 +01:00
100-logster.rb DEV: document max_logster_logs in discourse_defaults.conf 2019-03-22 14:11:40 +11:00
100-oj.rb Revert "Revert message bus upgrade" 2015-12-09 11:48:41 +11:00
100-onebox_options.rb FIX: allow upto three url redirects in onebox (#5457) 2017-12-27 10:30:06 +11:00
100-push-notifications.rb PERF: Don't bloat the Sidekiq queue with Jobs::SendPushNotification. 2018-05-24 10:04:09 +08:00
100-quiet_logger.rb Fix all the errors to get our tests green on Rails 5.1. 2017-09-25 13:48:58 +08:00
100-secret_token.rb FEATURE: per client user tokens 2017-02-07 09:22:16 -05:00
100-session_store.rb DEV: add warning if force_https in dev 2016-11-25 11:35:29 +11:00
100-sidekiq.rb Pause MiniScheduler when Sidekiq is paused. 2019-01-18 17:50:24 +08:00
100-silence_logger.rb FIX: silence and quiet logger not thread safe 2017-01-31 15:44:46 -05:00
100-strong_parameters.rb Revert "Revert message bus upgrade" 2015-12-09 11:48:41 +11:00
100-verify_config.rb Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
100-watch_for_restart.rb Move discourse dev data out of tmp 2017-05-18 11:36:24 -04:00
100-wrap_parameters.rb FIX: Store custom emojis as uploads. 2017-03-14 13:07:18 +08:00
101-lograge.rb DEV: Rescue from readonly error in lograge. 2019-01-21 14:20:19 +08:00
200-message_bus_request_tracker.rb WORKAROUND: Can't reinsert a deleted middleware. 2017-09-25 13:48:59 +08:00
000-mini_sql.rb DEV: remove exec_sql and replace with mini_sql 2018-06-19 16:13:36 +10:00
000-post_migration.rb DEV: Support post deployment migrations for plugins. 2018-10-09 13:11:45 +08:00