require "active_support/core_ext/integer/time"

Rails.application.configure do
  config.enable_reloading = true
  config.eager_load = false
  # ⚠️ SEGURANÇA — a página de debug do Rails ("Action Controller: Exception
  # caught") mostra parâmetros, SESSÃO, cookies, IP do cliente, caminho do
  # servidor e o trace inteiro. O servidor de teste/produção sobe com
  # RAILS_ENV=development (docker-compose.yml), então esse painel estava indo
  # para a tela de qualquer pessoa que provocasse um erro.
  #
  # Agora o detalhe só aparece quando ALGUÉM PEDE explicitamente, na máquina de
  # desenvolvimento: `ERROS_DETALHADOS=true` no .env local. Sem a variável, o
  # visitante recebe a página estática de public/500.html.
  config.consider_all_requests_local = ENV['ERROS_DETALHADOS'] == 'true'

  # Sem isso, com consider_all_requests_local=false o Rails ainda tentaria
  # renderizar o painel para requisições vindas de localhost.
  config.action_dispatch.show_exceptions = :all

  config.server_timing = true

  config.cache_store = :memory_store
  config.active_storage.service = :local if defined?(ActiveStorage)

  config.action_mailer.raise_delivery_errors = false
  config.action_mailer.perform_caching = false
  config.action_mailer.default_url_options = { host: ENV.fetch("APP_HOST", "localhost:3000") }

  config.active_support.deprecation = :log
  config.active_record.migration_error = :page_load
  config.active_record.verbose_query_logs = true

  config.assets.quiet = true if config.respond_to?(:assets)
  config.hosts.clear   # aceita qualquer host em dev (Docker/IP local)
end
