2019-05-02 18:17:27 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2013-02-05 14:16:51 -05:00
|
|
|
Discourse::Application.configure do
|
|
|
|
# Settings specified here will take precedence over those in config/application.rb
|
|
|
|
|
|
|
|
# In the development environment your application's code is reloaded on
|
|
|
|
# every request. This slows down response time but is perfect for development
|
|
|
|
# since you don't have to restart the web server when you make code changes.
|
|
|
|
config.cache_classes = false
|
2021-04-29 10:40:55 -04:00
|
|
|
config.file_watcher = ActiveSupport::EventedFileUpdateChecker
|
2013-02-05 14:16:51 -05:00
|
|
|
|
2023-03-16 10:22:16 -04:00
|
|
|
config.eager_load = ENV["DISCOURSE_ZEITWERK_EAGER_LOAD"] == "1"
|
2013-02-05 14:16:51 -05:00
|
|
|
|
2021-04-30 05:54:49 -04:00
|
|
|
# Use the schema_cache.yml file generated during db:migrate (via db:schema:cache:dump)
|
|
|
|
config.active_record.use_schema_cache_dump = true
|
|
|
|
|
2013-02-05 14:16:51 -05:00
|
|
|
# Show full error reports and disable caching
|
|
|
|
config.consider_all_requests_local = true
|
|
|
|
config.action_controller.perform_caching = false
|
|
|
|
|
2020-09-23 02:22:16 -04:00
|
|
|
config.action_controller.asset_host = GlobalSetting.cdn_url
|
|
|
|
|
2013-02-05 14:16:51 -05:00
|
|
|
# Print deprecation notices to the Rails logger
|
|
|
|
config.active_support.deprecation = :log
|
|
|
|
|
|
|
|
# Do not compress assets
|
|
|
|
config.assets.compress = false
|
|
|
|
|
2013-04-18 02:32:48 -04:00
|
|
|
# Don't Digest assets, makes debugging uglier
|
|
|
|
config.assets.digest = false
|
|
|
|
|
2015-04-16 15:40:23 -04:00
|
|
|
config.assets.debug = false
|
2013-02-05 14:16:51 -05:00
|
|
|
|
2020-10-26 08:15:35 -04:00
|
|
|
config.public_file_server.headers = { "Access-Control-Allow-Origin" => "*" }
|
|
|
|
|
2014-10-03 21:32:30 -04:00
|
|
|
# Raise an error on page load if there are pending migrations
|
|
|
|
config.active_record.migration_error = :page_load
|
2013-02-05 14:16:51 -05:00
|
|
|
config.watchable_dirs["lib"] = [:rb]
|
2013-02-25 11:42:20 -05:00
|
|
|
|
2021-10-05 06:18:06 -04:00
|
|
|
# we recommend you use mailhog https://github.com/mailhog/MailHog
|
2013-07-05 11:32:54 -04:00
|
|
|
config.action_mailer.smtp_settings = { address: "localhost", port: 1025 }
|
2013-07-03 11:13:56 -04:00
|
|
|
|
2013-02-05 14:16:51 -05:00
|
|
|
config.action_mailer.raise_delivery_errors = true
|
2013-03-23 11:02:59 -04:00
|
|
|
|
2019-12-06 10:57:10 -05:00
|
|
|
config.log_level = ENV["DISCOURSE_DEV_LOG_LEVEL"] if ENV["DISCOURSE_DEV_LOG_LEVEL"]
|
|
|
|
|
2024-07-22 03:21:41 -04:00
|
|
|
config.active_record.logger = nil if ENV["RAILS_DISABLE_ACTIVERECORD_LOGS"] == "1" ||
|
|
|
|
ENV["ENABLE_LOGSTASH_LOGGER"] == "1"
|
2020-04-28 23:10:57 -04:00
|
|
|
config.active_record.verbose_query_logs = true if ENV["RAILS_VERBOSE_QUERY_LOGS"] == "1"
|
|
|
|
|
2020-02-17 19:03:57 -05:00
|
|
|
if defined?(BetterErrors)
|
|
|
|
BetterErrors::Middleware.allow_ip! ENV["TRUSTED_IP"] if ENV["TRUSTED_IP"]
|
2013-04-11 02:24:08 -04:00
|
|
|
|
2020-02-17 19:03:57 -05:00
|
|
|
if defined?(Unicorn) && ENV["UNICORN_WORKERS"].to_i != 1
|
|
|
|
# BetterErrors doesn't work with multiple unicorn workers. Disable it to avoid confusion
|
|
|
|
Rails.configuration.middleware.delete BetterErrors::Middleware
|
|
|
|
end
|
2019-10-16 09:44:48 -04:00
|
|
|
end
|
|
|
|
|
2020-08-21 09:33:22 -04:00
|
|
|
config.load_mini_profiler = true if !ENV["DISABLE_MINI_PROFILER"]
|
|
|
|
|
2019-09-17 02:01:39 -04:00
|
|
|
if hosts = ENV["DISCOURSE_DEV_HOSTS"]
|
2022-06-27 13:04:42 -04:00
|
|
|
Discourse.deprecate("DISCOURSE_DEV_HOSTS is deprecated. Use RAILS_DEVELOPMENT_HOSTS instead.")
|
2019-09-17 02:01:39 -04:00
|
|
|
config.hosts.concat(hosts.split(","))
|
|
|
|
end
|
2013-04-18 02:32:48 -04:00
|
|
|
|
|
|
|
require "middleware/turbo_dev"
|
|
|
|
config.middleware.insert 0, Middleware::TurboDev
|
2015-04-16 22:16:37 -04:00
|
|
|
require "middleware/missing_avatars"
|
2014-01-17 11:47:01 -05:00
|
|
|
config.middleware.insert 1, Middleware::MissingAvatars
|
2013-10-16 01:39:18 -04:00
|
|
|
|
|
|
|
config.enable_anon_caching = false
|
2020-02-17 19:03:57 -05:00
|
|
|
require "rbtrace" if RUBY_ENGINE == "ruby"
|
2014-03-24 03:03:39 -04:00
|
|
|
|
|
|
|
if emails = GlobalSetting.developer_emails
|
2016-05-26 22:18:54 -04:00
|
|
|
config.developer_emails = emails.split(",").map(&:downcase).map(&:strip)
|
2014-03-24 03:03:39 -04:00
|
|
|
end
|
2016-06-01 15:48:06 -04:00
|
|
|
|
2021-06-15 11:27:15 -04:00
|
|
|
if ENV["DISCOURSE_SKIP_CSS_WATCHER"] != "1" &&
|
|
|
|
(defined?(Rails::Server) || defined?(Puma) || defined?(Unicorn))
|
2017-06-20 15:44:01 -04:00
|
|
|
require "stylesheet/watcher"
|
|
|
|
STDERR.puts "Starting CSS change watcher"
|
|
|
|
@watcher = Stylesheet::Watcher.watch
|
|
|
|
end
|
|
|
|
|
2016-06-27 21:29:42 -04:00
|
|
|
config.after_initialize do
|
2020-04-29 02:24:48 -04:00
|
|
|
config.colorize_logging = true if ENV["RAILS_COLORIZE_LOGGING"] == "1"
|
2020-04-29 02:07:42 -04:00
|
|
|
|
2020-06-02 00:15:31 -04:00
|
|
|
if ENV["RAILS_VERBOSE_QUERY_LOGS"] == "1"
|
|
|
|
ActiveRecord::LogSubscriber.backtrace_cleaner.add_silencer do |line|
|
2020-06-04 21:09:54 -04:00
|
|
|
line =~ %r{lib/freedom_patches}
|
2020-06-02 00:15:31 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2016-07-04 21:10:42 -04:00
|
|
|
if ENV["BULLET"]
|
|
|
|
Bullet.enable = true
|
|
|
|
Bullet.rails_logger = true
|
|
|
|
end
|
2016-06-27 21:29:42 -04:00
|
|
|
end
|
2022-06-06 17:02:51 -04:00
|
|
|
|
2022-06-14 15:54:49 -04:00
|
|
|
config.hosts << /\A(([a-z0-9-]+)\.)*localhost(\:\d+)?\Z/
|
2024-06-20 04:33:01 -04:00
|
|
|
|
|
|
|
config.generators.after_generate do |files|
|
|
|
|
parsable_files = files.filter { |file| file.end_with?(".rb") }
|
|
|
|
unless parsable_files.empty?
|
|
|
|
system("bundle exec rubocop -A --fail-level=E #{parsable_files.shelljoin}", exception: true)
|
|
|
|
end
|
|
|
|
end
|
2013-02-05 14:16:51 -05:00
|
|
|
end
|