# HG changeset patch # User nanaya # Date 1725358885 -32400 # Node ID 89f6c0016bab7263fee0dbe0eb60b209971c1b7c # Parent d726e8b92dd1082291a53fabe5dddb7f97aaf5ff Update to latest rails diff -r d726e8b92dd1 -r 89f6c0016bab Gemfile --- a/Gemfile Mon Mar 25 02:49:50 2024 +0900 +++ b/Gemfile Tue Sep 03 19:21:25 2024 +0900 @@ -1,6 +1,6 @@ source "https://rubygems.org" -rails_ver = "~> 7.0.1" +rails_ver = "~> 7.2.0" gem "actionview", rails_ver gem "railties", rails_ver diff -r d726e8b92dd1 -r 89f6c0016bab Gemfile.lock --- a/Gemfile.lock Mon Mar 25 02:49:50 2024 +0900 +++ b/Gemfile.lock Tue Sep 03 19:21:25 2024 +0900 @@ -1,77 +1,113 @@ GEM remote: https://rubygems.org/ specs: - actionpack (7.0.6) - actionview (= 7.0.6) - activesupport (= 7.0.6) - rack (~> 2.0, >= 2.2.4) + actionpack (7.2.1) + actionview (= 7.2.1) + activesupport (= 7.2.1) + nokogiri (>= 1.8.5) + racc + rack (>= 2.2.4, < 3.2) + rack-session (>= 1.0.1) rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.2.0) - actionview (7.0.6) - activesupport (= 7.0.6) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + useragent (~> 0.16) + actionview (7.2.1) + activesupport (= 7.2.1) builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.1, >= 1.2.0) - activesupport (7.0.6) - concurrent-ruby (~> 1.0, >= 1.0.2) + erubi (~> 1.11) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + activesupport (7.2.1) + base64 + bigdecimal + concurrent-ruby (~> 1.0, >= 1.3.1) + connection_pool (>= 2.2.5) + drb i18n (>= 1.6, < 2) + logger (>= 1.4.2) minitest (>= 5.1) - tzinfo (~> 2.0) - builder (3.2.4) - concurrent-ruby (1.2.2) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) + base64 (0.2.0) + bigdecimal (3.1.8) + bigdecimal (3.1.8-java) + builder (3.3.0) + concurrent-ruby (1.3.4) connection_pool (2.4.1) crass (1.0.6) - erubi (1.12.0) - i18n (1.14.1) + drb (2.2.1) + erubi (1.13.0) + i18n (1.14.5) concurrent-ruby (~> 1.0) idn-ruby (0.1.5) - loofah (2.21.3) + io-console (0.7.2) + io-console (0.7.2-java) + irb (1.14.0) + rdoc (>= 4.0.0) + reline (>= 0.4.2) + jar-dependencies (0.4.1) + logger (1.6.1) + loofah (2.22.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) - method_source (1.0.0) - mini_portile2 (2.8.2) - minitest (5.18.1) - newrelic_rpm (9.3.1) - nio4r (2.5.9) - nio4r (2.5.9-java) - nokogiri (1.15.3) + mini_portile2 (2.8.7) + minitest (5.25.1) + newrelic_rpm (9.13.0) + nio4r (2.7.3) + nio4r (2.7.3-java) + nokogiri (1.16.7) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.15.3-java) + nokogiri (1.16.7-java) + racc (~> 1.4) + nokogiri (1.16.7-x86-mingw32) racc (~> 1.4) - nokogiri (1.15.3-x86-mingw32) - racc (~> 1.4) - puma (6.3.0) + psych (5.1.2) + stringio + psych (5.1.2-java) + jar-dependencies (>= 0.1.7) + puma (6.4.2) nio4r (~> 2.0) - puma (6.3.0-java) + puma (6.4.2-java) nio4r (~> 2.0) - racc (1.7.1) - racc (1.7.1-java) - rack (2.2.7) + racc (1.8.1) + racc (1.8.1-java) + rack (3.1.7) + rack-session (2.0.0) + rack (>= 3.0.0) rack-test (2.1.0) rack (>= 1.3) - rails-dom-testing (2.1.1) + rackup (2.1.0) + rack (>= 3) + webrick (~> 1.8) + rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) rails-html-sanitizer (1.6.0) loofah (~> 2.21) nokogiri (~> 1.14) - railties (7.0.6) - actionpack (= 7.0.6) - activesupport (= 7.0.6) - method_source + railties (7.2.1) + actionpack (= 7.2.1) + activesupport (= 7.2.1) + irb (~> 1.13) + rackup (>= 1.0.0) rake (>= 12.2) - thor (~> 1.0) - zeitwerk (~> 2.5) - rake (13.0.6) - redis (5.0.6) - redis-client (>= 0.9.0) - redis-client (0.14.1) + thor (~> 1.0, >= 1.2.2) + zeitwerk (~> 2.6) + rake (13.2.1) + rdoc (6.7.0) + psych (>= 4.0.0) + redis (5.3.0) + redis-client (>= 0.22.0) + redis-client (0.22.2) connection_pool - thor (1.2.2) + reline (0.5.9) + io-console (~> 0.5) + securerandom (0.3.1) + stringio (3.1.1) + thor (1.3.2) twitter-text (3.1.0) idn-ruby unf (~> 0.1.0) @@ -80,8 +116,10 @@ unf (0.1.4) unf_ext unf (0.1.4-java) - unf_ext (0.0.8.2) - zeitwerk (2.6.8) + unf_ext (0.0.9.1) + useragent (0.16.10) + webrick (1.8.1) + zeitwerk (2.6.18) PLATFORMS java @@ -89,13 +127,13 @@ x86-mingw32 DEPENDENCIES - actionpack (~> 7.0.1) - actionview (~> 7.0.1) + actionpack (~> 7.2.0) + actionview (~> 7.2.0) newrelic_rpm puma - railties (~> 7.0.1) + railties (~> 7.2.0) redis twitter-text BUNDLED WITH - 2.3.3 + 2.5.16 diff -r d726e8b92dd1 -r 89f6c0016bab bin/setup --- a/bin/setup Mon Mar 25 02:49:50 2024 +0900 +++ b/bin/setup Tue Sep 03 19:21:25 2024 +0900 @@ -1,11 +1,11 @@ #!/usr/bin/env ruby require "fileutils" -# path to your application root. APP_ROOT = File.expand_path("..", __dir__) +APP_NAME = "rsstweet" def system!(*args) - system(*args) || abort("\n== Command #{args} failed ==") + system(*args, exception: true) end FileUtils.chdir APP_ROOT do @@ -22,4 +22,8 @@ puts "\n== Restarting application server ==" system! "bin/rails restart" + + # puts "\n== Configuring puma-dev ==" + # system "ln -nfs #{APP_ROOT} ~/.puma-dev/#{APP_NAME}" + # system "curl -Is https://#{APP_NAME}.test/up | head -n 1" end diff -r d726e8b92dd1 -r 89f6c0016bab config/application.rb --- a/config/application.rb Mon Mar 25 02:49:50 2024 +0900 +++ b/config/application.rb Tue Sep 03 19:21:25 2024 +0900 @@ -1,8 +1,8 @@ -require_relative 'boot' +require_relative "boot" require "rails" # Pick the frameworks you want: -# require "active_model/railtie" +#require "active_model/railtie" # require "active_job/railtie" # require "active_record/railtie" # require "active_storage/engine" @@ -12,11 +12,9 @@ # require "action_text/engine" require "action_view/railtie" # require "action_cable/engine" -# require "sprockets/railtie" require "rails/test_unit/railtie" -require_relative 'config_init' -ENV['RAILS_LOG_TO_STDOUT'] = '1' +require_relative "config_init" # Require the gems listed in Gemfile, including any gems # you've limited to :test, :development, or :production. @@ -25,11 +23,20 @@ module Rsstweet class Application < Rails::Application # Initialize configuration defaults for originally generated Rails version. - config.load_defaults 7.0 - # Settings in config/environments/* take precedence over those specified here. - # Application configuration can go into files in config/initializers - # -- all .rb files in that directory are automatically loaded after loading - # the framework and any gems in your application. + config.load_defaults 7.2 + + # Please, add to the `ignore` list any other `lib` subdirectories that do + # not contain `.rb` files, or that should not be reloaded or eager loaded. + # Common ones are `templates`, `generators`, or `middleware`, for example. + config.autoload_lib(ignore: %w[assets tasks]) + + # Configuration for the application, engines, and railties goes here. + # + # These settings can be overridden in specific environments using the files + # in config/environments, which are processed later. + # + # config.time_zone = "Central Time (US & Canada)" + # config.eager_load_paths << Rails.root.join("extras") # this isn't actually used but railties *production* checks this variable during boot. config.secret_key_base = "herp a derp" diff -r d726e8b92dd1 -r 89f6c0016bab config/environments/development.rb --- a/config/environments/development.rb Mon Mar 25 02:49:50 2024 +0900 +++ b/config/environments/development.rb Tue Sep 03 19:21:25 2024 +0900 @@ -6,7 +6,7 @@ # In the development environment your application's code is reloaded any time # it changes. 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 + config.enable_reloading = true # Do not eager load code on boot. config.eager_load = false @@ -14,24 +14,22 @@ # Show full error reports. config.consider_all_requests_local = true - # Enable server timing + # Enable server timing. config.server_timing = true # Enable/disable caching. By default caching is disabled. # Run rails dev:cache to toggle caching. - #if Rails.root.join("tmp/caching-dev.txt").exist? - # config.action_controller.perform_caching = true - # config.action_controller.enable_fragment_cache_logging = true + if Rails.root.join("tmp/caching-dev.txt").exist? + config.action_controller.perform_caching = true + config.action_controller.enable_fragment_cache_logging = true - # config.cache_store = :memory_store - # config.public_file_server.headers = { - # "Cache-Control" => "public, max-age=#{2.days.to_i}" - # } - #else - # config.action_controller.perform_caching = false + config.cache_store = :memory_store + config.public_file_server.headers = { "Cache-Control" => "public, max-age=#{2.days.to_i}" } + else + config.action_controller.perform_caching = false - # config.cache_store = :null_store - #end + config.cache_store = :null_store + end # Print deprecation notices to the Rails logger. config.active_support.deprecation = :log @@ -42,13 +40,12 @@ # Tell Active Support which deprecation messages to disallow. config.active_support.disallowed_deprecation_warnings = [] - # Raises error for missing translations. # config.i18n.raise_on_missing_translations = true # Annotate rendered view with file names. - # config.action_view.annotate_rendered_view_with_filenames = true + config.action_view.annotate_rendered_view_with_filenames = true - # Uncomment if you wish to allow Action Cable access from any origin. - # config.action_cable.disable_request_forgery_protection = true + # Raise error when a before_action's only/except options reference missing actions. + config.action_controller.raise_on_missing_callback_actions = true end diff -r d726e8b92dd1 -r 89f6c0016bab config/environments/production.rb --- a/config/environments/production.rb Mon Mar 25 02:49:50 2024 +0900 +++ b/config/environments/production.rb Tue Sep 03 19:21:25 2024 +0900 @@ -4,7 +4,7 @@ # Settings specified here will take precedence over those in config/application.rb. # Code is not reloaded between requests. - config.cache_classes = true + config.enable_reloading = false # Eager load code on boot. This eager loads most of Rails and # your application in memory, allowing both threaded web servers @@ -13,16 +13,15 @@ config.eager_load = true # Full error reports are disabled and caching is turned on. - config.consider_all_requests_local = false + config.consider_all_requests_local = false config.action_controller.perform_caching = true - # Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"] - # or in config/master.key. This key is used to decrypt credentials (and other encrypted files). + # Ensures that a master key has been made available in ENV["RAILS_MASTER_KEY"], config/master.key, or an environment + # key such as config/credentials/production.key. This key is used to decrypt credentials (and other encrypted files). # config.require_master_key = true - # Disable serving static files from the `/public` folder by default since - # Apache or NGINX already handles this. - config.public_file_server.enabled = ENV["RAILS_SERVE_STATIC_FILES"].present? + # Disable serving static files from `public/`, relying on NGINX/Apache to do so instead. + # config.public_file_server.enabled = false # Enable serving of images, stylesheets, and JavaScripts from an asset server. # config.asset_host = "http://assets.example.com" @@ -31,23 +30,32 @@ # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for Apache # config.action_dispatch.x_sendfile_header = "X-Accel-Redirect" # for NGINX + # Assume all access to the app is happening through a SSL-terminating reverse proxy. + # Can be used together with config.force_ssl for Strict-Transport-Security and secure cookies. + # config.assume_ssl = true + # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. - # config.force_ssl = true + config.force_ssl = true - # Include generic and useful information about system operation, but avoid logging too much - # information to avoid inadvertent exposure of personally identifiable information (PII). - config.log_level = :info + # Skip http-to-https redirect for the default health check endpoint. + # config.ssl_options = { redirect: { exclude: ->(request) { request.path == "/up" } } } + + # Log to STDOUT by default + config.logger = ActiveSupport::Logger.new(STDOUT) + .tap { |logger| logger.formatter = ::Logger::Formatter.new } + .then { |logger| ActiveSupport::TaggedLogging.new(logger) } # Prepend all log lines with the following tags. config.log_tags = [ :request_id ] + # "info" includes generic and useful information about system operation, but avoids logging too much + # information to avoid inadvertent exposure of personally identifiable information (PII). If you + # want to log everything, set the level to "debug". + config.log_level = ENV.fetch("RAILS_LOG_LEVEL", "info") + # Use a different cache store in production. # config.cache_store = :mem_cache_store - # Use a real queuing backend for Active Job (and separate queues per environment). - # config.active_job.queue_adapter = :resque - # config.active_job.queue_name_prefix = "rsstweet_production" - # Enable locale fallbacks for I18n (makes lookups for any locale fall back to # the I18n.default_locale when a translation cannot be found). config.i18n.fallbacks = true @@ -55,16 +63,11 @@ # Don't log any deprecations. config.active_support.report_deprecations = false - # Use default logging formatter so that PID and timestamp are not suppressed. - config.log_formatter = ::Logger::Formatter.new - - # Use a different logger for distributed setups. - # require "syslog/logger" - # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new "app-name") - - if ENV["RAILS_LOG_TO_STDOUT"].present? - logger = ActiveSupport::Logger.new(STDOUT) - logger.formatter = config.log_formatter - config.logger = ActiveSupport::TaggedLogging.new(logger) - end + # Enable DNS rebinding protection and other `Host` header attacks. + # config.hosts = [ + # "example.com", # Allow requests from example.com + # /.*\.example\.com/ # Allow requests from subdomains like `www.example.com` + # ] + # Skip DNS rebinding protection for the default health check endpoint. + # config.host_authorization = { exclude: ->(request) { request.path == "/up" } } end diff -r d726e8b92dd1 -r 89f6c0016bab config/environments/test.rb --- a/config/environments/test.rb Mon Mar 25 02:49:50 2024 +0900 +++ b/config/environments/test.rb Tue Sep 03 19:21:25 2024 +0900 @@ -8,27 +8,25 @@ Rails.application.configure do # Settings specified here will take precedence over those in config/application.rb. - # Turn false under Spring and add config.action_view.cache_template_loading = true. - config.cache_classes = true + # While tests run files are not watched, reloading is not necessary. + config.enable_reloading = false - # Eager loading loads your whole application. When running a single test locally, - # this probably isn't necessary. It's a good idea to do in a continuous integration - # system, or in some way before deploying your code. + # Eager loading loads your entire application. When running a single test locally, + # this is usually not necessary, and can slow down your test suite. However, it's + # recommended that you enable it in continuous integration systems to ensure eager + # loading is working properly before deploying your code. config.eager_load = ENV["CI"].present? # Configure public file server for tests with Cache-Control for performance. - config.public_file_server.enabled = true - config.public_file_server.headers = { - "Cache-Control" => "public, max-age=#{1.hour.to_i}" - } + config.public_file_server.headers = { "Cache-Control" => "public, max-age=#{1.hour.to_i}" } # Show full error reports and disable caching. - config.consider_all_requests_local = true + config.consider_all_requests_local = true config.action_controller.perform_caching = false config.cache_store = :null_store - # Raise exceptions instead of rendering exception templates. - config.action_dispatch.show_exceptions = false + # Render exception templates for rescuable exceptions and raise for other exceptions. + config.action_dispatch.show_exceptions = :rescuable # Disable request forgery protection in test environment. config.action_controller.allow_forgery_protection = false @@ -47,4 +45,7 @@ # Annotate rendered view with file names. # config.action_view.annotate_rendered_view_with_filenames = true + + # Raise error when a before_action's only/except options reference missing actions. + config.action_controller.raise_on_missing_callback_actions = true end diff -r d726e8b92dd1 -r 89f6c0016bab config/initializers/assets.rb --- a/config/initializers/assets.rb Mon Mar 25 02:49:50 2024 +0900 +++ b/config/initializers/assets.rb Tue Sep 03 19:21:25 2024 +0900 @@ -5,8 +5,3 @@ # Add additional assets to the asset load path. # Rails.application.config.assets.paths << Emoji.images_path - -# Precompile additional assets. -# application.js, application.css, and all non-JS/CSS in the app/assets -# folder are already added. -# Rails.application.config.assets.precompile += %w( admin.js admin.css ) diff -r d726e8b92dd1 -r 89f6c0016bab config/initializers/content_security_policy.rb --- a/config/initializers/content_security_policy.rb Mon Mar 25 02:49:50 2024 +0900 +++ b/config/initializers/content_security_policy.rb Tue Sep 03 19:21:25 2024 +0900 @@ -1,8 +1,8 @@ # Be sure to restart your server when you modify this file. -# Define an application-wide content security policy -# For further information see the following documentation -# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy +# Define an application-wide content security policy. +# See the Securing Rails Applications Guide for more information: +# https://guides.rubyonrails.org/security.html#content-security-policy-header # Rails.application.configure do # config.content_security_policy do |policy| @@ -16,11 +16,10 @@ # # policy.report_uri "/csp-violation-report-endpoint" # end # -# # Generate session nonces for permitted importmap and inline scripts +# # Generate session nonces for permitted importmap, inline scripts, and inline styles. # config.content_security_policy_nonce_generator = ->(request) { request.session.id.to_s } -# config.content_security_policy_nonce_directives = %w(script-src) +# config.content_security_policy_nonce_directives = %w(script-src style-src) # -# # Report CSP violations to a specified URI. See: -# # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy-Report-Only +# # Report violations without enforcing the policy. # # config.content_security_policy_report_only = true # end diff -r d726e8b92dd1 -r 89f6c0016bab config/initializers/filter_parameter_logging.rb --- a/config/initializers/filter_parameter_logging.rb Mon Mar 25 02:49:50 2024 +0900 +++ b/config/initializers/filter_parameter_logging.rb Tue Sep 03 19:21:25 2024 +0900 @@ -1,6 +1,8 @@ # Be sure to restart your server when you modify this file. -# Configure sensitive parameters which will be filtered from the log file. +# Configure parameters to be partially matched (e.g. passw matches password) and filtered from the log file. +# Use this to limit dissemination of sensitive information. +# See the ActiveSupport::ParameterFilter documentation for supported notations and behaviors. Rails.application.config.filter_parameters += [ - :passw, :secret, :token, :_key, :crypt, :salt, :certificate, :otp, :ssn + :passw, :email, :secret, :token, :_key, :crypt, :salt, :certificate, :otp, :ssn ] diff -r d726e8b92dd1 -r 89f6c0016bab config/initializers/permissions_policy.rb --- a/config/initializers/permissions_policy.rb Mon Mar 25 02:49:50 2024 +0900 +++ b/config/initializers/permissions_policy.rb Tue Sep 03 19:21:25 2024 +0900 @@ -1,11 +1,13 @@ +# Be sure to restart your server when you modify this file. + # Define an application-wide HTTP permissions policy. For further -# information see https://developers.google.com/web/updates/2018/06/feature-policy -# -# Rails.application.config.permissions_policy do |f| -# f.camera :none -# f.gyroscope :none -# f.microphone :none -# f.usb :none -# f.fullscreen :self -# f.payment :self, "https://secure.example.com" +# information see: https://developers.google.com/web/updates/2018/06/feature-policy + +# Rails.application.config.permissions_policy do |policy| +# policy.camera :none +# policy.gyroscope :none +# policy.microphone :none +# policy.usb :none +# policy.fullscreen :self +# policy.payment :self, "https://secure.example.com" # end diff -r d726e8b92dd1 -r 89f6c0016bab config/puma.rb --- a/config/puma.rb Mon Mar 25 02:49:50 2024 +0900 +++ b/config/puma.rb Tue Sep 03 19:21:25 2024 +0900 @@ -1,47 +1,34 @@ -# Puma can serve each request in a thread from an internal thread pool. -# The `threads` method setting takes two numbers a minimum and maximum. -# Any libraries that use thread pools should be configured to match -# the maximum value specified for Puma. Default is set to 5 threads for minimum -# and maximum, this matches the default thread size of Active Record. +# This configuration file will be evaluated by Puma. The top-level methods that +# are invoked here are part of Puma's configuration DSL. For more information +# about methods provided by the DSL, see https://puma.io/puma/Puma/DSL.html. + +# Puma starts a configurable number of processes (workers) and each process +# serves each request in a thread from an internal thread pool. +# +# The ideal number of threads per worker depends both on how much time the +# application spends waiting for IO operations and on how much you wish to +# to prioritize throughput over latency. # -threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }.to_i +# As a rule of thumb, increasing the number of threads will increase how much +# traffic a given process can handle (throughput), but due to CRuby's +# Global VM Lock (GVL) it has diminishing returns and will degrade the +# response time (latency) of the application. +# +# The default is set to 3 threads as it's deemed a decent compromise between +# throughput and latency for the average Rails application. +# +# Any libraries that use a connection pool or another resource pool should +# be configured to provide at least as many connections as the number of +# threads. This includes Active Record's `pool` parameter in `database.yml`. +threads_count = ENV.fetch("RAILS_MAX_THREADS", 3) threads threads_count, threads_count -# Specifies the `port` that Puma will listen on to receive requests, default is 3000. -# -port ENV.fetch("PORT") { 3000 } - -# Specifies the `environment` that Puma will run in. -# -environment ENV.fetch("RAILS_ENV") { "development" } - -# Specifies the number of `workers` to boot in clustered mode. -# Workers are forked webserver processes. If using threads and workers together -# the concurrency of the application would be max `threads` * `workers`. -# Workers do not work on JRuby or Windows (both of which do not support -# processes). -# -# workers ENV.fetch("WEB_CONCURRENCY") { 2 } +# Specifies the `port` that Puma will listen on to receive requests; default is 3000. +port ENV.fetch("PORT", 3000) -# Use the `preload_app!` method when specifying a `workers` number. -# This directive tells Puma to first boot the application and load code -# before forking the application. This takes advantage of Copy On Write -# process behavior so workers use less memory. If you use this option -# you need to make sure to reconnect any threads in the `on_worker_boot` -# block. -# -# preload_app! +# Allow puma to be restarted by `bin/rails restart` command. +plugin :tmp_restart -# The code in the `on_worker_boot` will be called if you are using -# clustered mode by specifying a number of `workers`. After each worker -# process is booted this block will be run, if you are using `preload_app!` -# option you will want to use this block to reconnect to any threads -# or connections that may have been created at application boot, Ruby -# cannot share connections between processes. -# -# on_worker_boot do -# ActiveRecord::Base.establish_connection if defined?(ActiveRecord) -# end - -# Allow puma to be restarted by `rails restart` command. -plugin :tmp_restart +# Specify the PID file. Defaults to tmp/pids/server.pid in development. +# In other environments, only set the PID file if requested. +pidfile ENV["PIDFILE"] if ENV["PIDFILE"] diff -r d726e8b92dd1 -r 89f6c0016bab public/404.html --- a/public/404.html Mon Mar 25 02:49:50 2024 +0900 +++ b/public/404.html Tue Sep 03 19:21:25 2024 +0900 @@ -1,11 +1,10 @@ - + - The page you were looking for doesn't exist (404) - +
diff -r d726e8b92dd1 -r 89f6c0016bab public/406-unsupported-browser.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/public/406-unsupported-browser.html Tue Sep 03 19:21:25 2024 +0900 @@ -0,0 +1,66 @@ + + + + Your browser is not supported (406) + + + + + + +
+
+

Your browser is not supported.

+

Please upgrade your browser to continue.

+
+
+ + diff -r d726e8b92dd1 -r 89f6c0016bab public/422.html --- a/public/422.html Mon Mar 25 02:49:50 2024 +0900 +++ b/public/422.html Tue Sep 03 19:21:25 2024 +0900 @@ -1,11 +1,10 @@ - + - The change you wanted was rejected (422) - +
diff -r d726e8b92dd1 -r 89f6c0016bab public/500.html --- a/public/500.html Mon Mar 25 02:49:50 2024 +0900 +++ b/public/500.html Tue Sep 03 19:21:25 2024 +0900 @@ -1,11 +1,10 @@ - + - We're sorry, but something went wrong (500) - +
diff -r d726e8b92dd1 -r 89f6c0016bab public/robots.txt --- a/public/robots.txt Mon Mar 25 02:49:50 2024 +0900 +++ b/public/robots.txt Tue Sep 03 19:21:25 2024 +0900 @@ -1,5 +1,3 @@ -# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file -# -# To ban all spiders from the entire site uncomment the next two lines: +# See https://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file User-agent: * Disallow: /