From 1f6b48be7477c7cc6d2de8ab8b5bf15c754eafc6 Mon Sep 17 00:00:00 2001 From: talyz Date: Tue, 25 May 2021 23:16:44 +0200 Subject: [PATCH] discourse: 2.6.5 -> 2.7.0 --- nixos/modules/services/web-apps/discourse.nix | 19 +- .../discourse/action_mailer_ca_cert.patch | 2 +- pkgs/servers/web-apps/discourse/default.nix | 50 +- .../web-apps/discourse/disable_jhead.patch | 10 +- .../web-apps/discourse/rubyEnv/Gemfile | 20 +- .../web-apps/discourse/rubyEnv/Gemfile.lock | 362 ++++++----- .../web-apps/discourse/rubyEnv/gemset.nix | 579 ++++++++++-------- .../unicorn_logging_and_timeout.patch | 4 +- 8 files changed, 608 insertions(+), 438 deletions(-) diff --git a/nixos/modules/services/web-apps/discourse.nix b/nixos/modules/services/web-apps/discourse.nix index 0e2e182ffe9..ba5989800ea 100644 --- a/nixos/modules/services/web-apps/discourse.nix +++ b/nixos/modules/services/web-apps/discourse.nix @@ -398,6 +398,14 @@ in How OpenSSL checks the certificate, see http://api.rubyonrails.org/classes/ActionMailer/Base.html ''; }; + + forceTLS = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Force implicit TLS as per RFC 8314 3.3. + ''; + }; }; incoming = { @@ -530,6 +538,7 @@ in smtp_authentication = cfg.mail.outgoing.authentication; smtp_enable_start_tls = cfg.mail.outgoing.enableStartTLSAuto; smtp_openssl_verify_mode = cfg.mail.outgoing.opensslVerifyMode; + smtp_force_tls = cfg.mail.outgoing.forceTLS; load_mini_profiler = true; mini_profiler_snapshots_period = 0; @@ -542,8 +551,8 @@ in redis_host = cfg.redis.host; redis_port = 6379; - redis_slave_host = null; - redis_slave_port = 6379; + redis_replica_host = null; + redis_replica_port = 6379; redis_db = cfg.redis.dbNumber; redis_password = cfg.redis.passwordFile; redis_skip_client_commands = false; @@ -552,8 +561,8 @@ in message_bus_redis_enabled = false; message_bus_redis_host = "localhost"; message_bus_redis_port = 6379; - message_bus_redis_slave_host = null; - message_bus_redis_slave_port = 6379; + message_bus_redis_replica_host = null; + message_bus_redis_replica_port = 6379; message_bus_redis_db = 0; message_bus_redis_password = null; message_bus_redis_skip_client_commands = false; @@ -606,6 +615,7 @@ in allowed_theme_repos = null; enable_email_sync_demon = false; max_digests_enqueued_per_30_mins_per_site = 10000; + cluster_name = null; }; services.redis.enable = lib.mkDefault (cfg.redis.host == "localhost"); @@ -667,6 +677,7 @@ in environment = cfg.package.runtimeEnv // { UNICORN_TIMEOUT = builtins.toString cfg.unicornTimeout; UNICORN_SIDEKIQS = builtins.toString cfg.sidekiqProcesses; + MALLOC_ARENA_MAX = "2"; }; preStart = diff --git a/pkgs/servers/web-apps/discourse/action_mailer_ca_cert.patch b/pkgs/servers/web-apps/discourse/action_mailer_ca_cert.patch index 83c44a466fa..3872eb75140 100644 --- a/pkgs/servers/web-apps/discourse/action_mailer_ca_cert.patch +++ b/pkgs/servers/web-apps/discourse/action_mailer_ca_cert.patch @@ -1,5 +1,5 @@ diff --git a/config/environments/production.rb b/config/environments/production.rb -index 75c3a69512..7fc374cd9d 100644 +index a523888a8d..422c2c1ee8 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -32,6 +32,7 @@ Discourse::Application.configure do diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix index 4bcbee1d428..02ebb40d384 100644 --- a/pkgs/servers/web-apps/discourse/default.nix +++ b/pkgs/servers/web-apps/discourse/default.nix @@ -1,18 +1,18 @@ -{ stdenv, makeWrapper, runCommandNoCC, lib, nixosTests -, fetchFromGitHub, bundlerEnv, ruby, replace, gzip, gnutar, git +{ stdenv, makeWrapper, runCommandNoCC, lib, nixosTests, writeShellScript +, fetchFromGitHub, bundlerEnv, ruby, replace, gzip, gnutar, git, cacert , util-linux, gawk, imagemagick, optipng, pngquant, libjpeg, jpegoptim , gifsicle, libpsl, redis, postgresql, which, brotli, procps , nodePackages, v8 }: let - version = "2.6.5"; + version = "2.7.0"; src = fetchFromGitHub { owner = "discourse"; repo = "discourse"; rev = "v${version}"; - sha256 = "sha256-JQUgHxs2Cl2LBpg/6JLhZxje4RmPREL1IPta84kXwPw="; + sha256 = "sha256-w26pwGDL2j7qbporUzZATgw7E//E6xwahCbXv35QNnc="; }; runtimeDeps = [ @@ -65,24 +65,38 @@ let gems = import ./rubyEnv/gemset.nix; in gems // { - mini_racer = gems.mini_racer // { - buildInputs = [ v8 ]; - dontBuild = false; - # The Ruby extension makefile generator assumes the source - # is C, when it's actually C++ ¯\_(ツ)_/¯ - postPatch = '' - substituteInPlace ext/mini_racer_extension/extconf.rb \ - --replace '" -std=c++0x"' \ - '" -x c++ -std=c++0x"' - ''; - }; + libv8-node = + let + noopScript = writeShellScript "noop" "exit 0"; + linkFiles = writeShellScript "link-files" '' + cd ../.. + + mkdir -p vendor/v8/out.gn/libv8/obj/ + ln -s "${v8}/lib/libv8.a" vendor/v8/out.gn/libv8/obj/libv8_monolith.a + + ln -s ${v8}/include vendor/v8/include + + mkdir -p ext/libv8-node + echo '--- !ruby/object:Libv8::Node::Location::Vendor {}' >ext/libv8-node/.location.yml + ''; + in gems.libv8-node // { + dontBuild = false; + postPatch = '' + cp ${noopScript} libexec/build-libv8 + cp ${noopScript} libexec/build-monolith + cp ${noopScript} libexec/download-node + cp ${noopScript} libexec/extract-node + cp ${linkFiles} libexec/inject-libv8 + ''; + }; mini_suffix = gems.mini_suffix // { propagatedBuildInputs = [ libpsl ]; dontBuild = false; # Use our libpsl instead of the vendored one, which isn't - # available for aarch64 + # available for aarch64. It has to be called + # libpsl.x86_64.so or it isn't found. postPatch = '' - cp $(readlink -f ${libpsl}/lib/libpsl.so) vendor/libpsl.so + cp $(readlink -f ${libpsl}/lib/libpsl.so) vendor/libpsl.x86_64.so ''; }; }; @@ -111,6 +125,8 @@ let # run. This means that Redis and PostgreSQL has to be running and # database migrations performed. preBuild = '' + export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt + redis-server >/dev/null & initdb -A trust $NIX_BUILD_TOP/postgres >/dev/null diff --git a/pkgs/servers/web-apps/discourse/disable_jhead.patch b/pkgs/servers/web-apps/discourse/disable_jhead.patch index 709a1959d63..a7ee56ff185 100644 --- a/pkgs/servers/web-apps/discourse/disable_jhead.patch +++ b/pkgs/servers/web-apps/discourse/disable_jhead.patch @@ -1,12 +1,12 @@ diff --git a/lib/file_helper.rb b/lib/file_helper.rb -index 162de9a40b..9ac8807e9d 100644 +index d87da5a85e..f5323292d7 100644 --- a/lib/file_helper.rb +++ b/lib/file_helper.rb -@@ -124,6 +124,7 @@ class FileHelper - jpegoptim: { strip: strip_image_metadata ? "all" : "none" }, - jpegtran: false, +@@ -127,6 +127,7 @@ class FileHelper jpegrecompress: false, + # Skip looking for gifsicle, svgo binaries + gifsicle: false, + jhead: false, + svgo: false ) end - end diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile index cb86d7e4bac..71ee3f910c0 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile +++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile @@ -18,13 +18,13 @@ else # this allows us to include the bits of rails we use without pieces we do not. # # To issue a rails update bump the version number here - gem 'actionmailer', '6.0.3.3' - gem 'actionpack', '6.0.3.3' - gem 'actionview', '6.0.3.3' - gem 'activemodel', '6.0.3.3' - gem 'activerecord', '6.0.3.3' - gem 'activesupport', '6.0.3.3' - gem 'railties', '6.0.3.3' + gem 'actionmailer', '6.1.3.2' + gem 'actionpack', '6.1.3.2' + gem 'actionview', '6.1.3.2' + gem 'activemodel', '6.1.3.2' + gem 'activerecord', '6.1.3.2' + gem 'activesupport', '6.1.3.2' + gem 'railties', '6.1.3.2' gem 'sprockets-rails' end @@ -40,7 +40,7 @@ gem 'actionview_precompiler', require: false gem 'seed-fu' -gem 'mail', require: false +gem 'mail', git: 'https://github.com/discourse/mail.git', require: false gem 'mini_mime' gem 'mini_suffix' @@ -96,6 +96,7 @@ gem 'discourse_image_optim', require: 'image_optim' gem 'multi_json' gem 'mustache' gem 'nokogiri' +gem 'loofah' gem 'css_parser', require: false gem 'omniauth' @@ -132,6 +133,7 @@ gem 'rack-protection' # security gem 'cbor', require: false gem 'cose', require: false gem 'addressable' +gem 'json_schemer' # Gems used only for assets and not required in production environments by default. # Allow everywhere for now cause we are allowing asset debugging in production @@ -176,6 +178,7 @@ group :development do gem 'binding_of_caller' gem 'yaml-lint' gem 'annotate' + gem 'discourse_dev' end # this is an optional gem, it provides a high performance replacement @@ -192,7 +195,6 @@ gem 'htmlentities', require: false # If you want to amend mini profiler to do the monkey patches in the railties # we are open to it. by deferring require to the initializer we can configure discourse installs without it -gem 'flamegraph', require: false gem 'rack-mini-profiler', require: ['enable_rails_patches'] gem 'unicorn', require: false, platform: :ruby diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock index 4f067493227..d3f999d34f4 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock +++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock @@ -1,21 +1,29 @@ +GIT + remote: https://github.com/discourse/mail.git + revision: 5b700fc95ee66378e0cf2559abc73c8bc3062a4b + specs: + mail (2.8.0.edge) + mini_mime (>= 0.1.1) + GEM remote: https://rubygems.org/ specs: - actionmailer (6.0.3.3) - actionpack (= 6.0.3.3) - actionview (= 6.0.3.3) - activejob (= 6.0.3.3) + actionmailer (6.1.3.2) + actionpack (= 6.1.3.2) + actionview (= 6.1.3.2) + activejob (= 6.1.3.2) + activesupport (= 6.1.3.2) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (6.0.3.3) - actionview (= 6.0.3.3) - activesupport (= 6.0.3.3) - rack (~> 2.0, >= 2.0.8) + actionpack (6.1.3.2) + actionview (= 6.1.3.2) + activesupport (= 6.1.3.2) + rack (~> 2.0, >= 2.0.9) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actionview (6.0.3.3) - activesupport (= 6.0.3.3) + actionview (6.1.3.2) + activesupport (= 6.1.3.2) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) @@ -24,44 +32,44 @@ GEM actionview (>= 6.0.a) active_model_serializers (0.8.4) activemodel (>= 3.0) - activejob (6.0.3.3) - activesupport (= 6.0.3.3) + activejob (6.1.3.2) + activesupport (= 6.1.3.2) globalid (>= 0.3.6) - activemodel (6.0.3.3) - activesupport (= 6.0.3.3) - activerecord (6.0.3.3) - activemodel (= 6.0.3.3) - activesupport (= 6.0.3.3) - activesupport (6.0.3.3) + activemodel (6.1.3.2) + activesupport (= 6.1.3.2) + activerecord (6.1.3.2) + activemodel (= 6.1.3.2) + activesupport (= 6.1.3.2) + activesupport (6.1.3.2) concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - zeitwerk (~> 2.2, >= 2.2.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) addressable (2.7.0) public_suffix (>= 2.0.2, < 5.0) annotate (3.1.1) activerecord (>= 3.2, < 7.0) rake (>= 10.4, < 14.0) - ast (2.4.1) - aws-eventstream (1.1.0) - aws-partitions (1.390.0) - aws-sdk-core (3.109.2) + ast (2.4.2) + aws-eventstream (1.1.1) + aws-partitions (1.432.0) + aws-sdk-core (3.112.1) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.239.0) aws-sigv4 (~> 1.1) jmespath (~> 1.0) - aws-sdk-kms (1.39.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-kms (1.42.0) + aws-sdk-core (~> 3, >= 3.112.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.83.2) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-s3 (1.90.0) + aws-sdk-core (~> 3, >= 3.112.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.1) - aws-sdk-sns (1.35.0) - aws-sdk-core (~> 3, >= 3.109.0) + aws-sdk-sns (1.38.0) + aws-sdk-core (~> 3, >= 3.112.0) aws-sigv4 (~> 1.1) - aws-sigv4 (1.2.2) + aws-sigv4 (1.2.3) aws-eventstream (~> 1, >= 1.0.2) barber (0.12.2) ember-source (>= 1.0, < 3.1) @@ -70,31 +78,32 @@ GEM coderay (>= 1.0.0) erubi (>= 1.0.0) rack (>= 0.9.0) - binding_of_caller (0.8.0) + binding_of_caller (1.0.0) debug_inspector (>= 0.0.1) - bootsnap (1.5.1) + bootsnap (1.7.5) msgpack (~> 1.0) builder (3.2.4) - bullet (6.1.0) + bullet (6.1.4) activesupport (>= 3.0.0) uniform_notifier (~> 1.11) byebug (11.1.3) cbor (0.5.9.6) certified (1.0.0) - chunky_png (1.3.14) + chunky_png (1.4.0) coderay (1.1.3) colored2 (3.1.2) - concurrent-ruby (1.1.7) - connection_pool (2.2.3) + concurrent-ruby (1.1.8) + connection_pool (2.2.5) cose (1.2.0) cbor (~> 0.5.9) openssl-signature_algorithm (~> 1.0) cppjieba_rb (0.3.3) - crack (0.4.4) + crack (0.4.5) + rexml crass (1.0.6) - css_parser (1.7.1) + css_parser (1.9.0) addressable - debug_inspector (0.0.3) + debug_inspector (1.1.0) diff-lcs (1.4.4) diffy (3.4.0) discourse-ember-rails (0.18.6) @@ -104,15 +113,19 @@ GEM ember-source (>= 1.1.0) jquery-rails (>= 1.0.17) railties (>= 3.1) - discourse-ember-source (3.12.2.2) - discourse-fonts (0.0.5) + discourse-ember-source (3.12.2.3) + discourse-fonts (0.0.8) + discourse_dev (0.2.1) + faker (~> 2.16) discourse_image_optim (0.26.2) exifr (~> 1.2, >= 1.2.2) fspath (~> 3.0) image_size (~> 1.5) in_threads (~> 1.3) progress (~> 3.0, >= 3.0.1) - docile (1.3.2) + docile (1.4.0) + ecma-re-validator (0.3.0) + regexp_parser (~> 2.0) email_reply_trimmer (0.1.13) ember-data-source (3.0.2) ember-source (>= 2, < 3.0) @@ -121,31 +134,39 @@ GEM sprockets (>= 3.3, < 4.1) ember-source (2.18.2) erubi (1.10.0) - excon (0.78.0) - execjs (2.7.0) + excon (0.81.0) + execjs (2.8.1) exifr (1.3.9) - fabrication (2.21.1) + fabrication (2.22.0) + faker (2.17.0) + i18n (>= 1.6, < 2) fakeweb (1.3.0) - faraday (1.1.0) + faraday (1.4.1) + faraday-excon (~> 1.1) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.1) multipart-post (>= 1.2, < 3) - ruby2_keywords + ruby2_keywords (>= 0.0.4) + faraday-excon (1.1.0) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.1.0) fast_blank (1.0.0) fast_xs (0.8.0) - fastimage (2.2.0) - ffi (1.13.1) - flamegraph (0.9.5) + fastimage (2.2.3) + ffi (1.15.0) fspath (3.1.2) gc_tracer (1.5.1) globalid (0.4.2) activesupport (>= 4.2.0) guess_html_encoding (0.0.11) + hana (1.3.7) hashdiff (1.0.1) hashie (4.1.0) highline (2.0.3) hkdf (0.3.0) htmlentities (4.3.4) http_accept_language (2.1.1) - i18n (1.8.5) + i18n (1.8.10) concurrent-ruby (~> 1.0) image_size (1.5.0) in_threads (1.5.4) @@ -154,13 +175,23 @@ GEM rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) - json (2.3.1) + json (2.5.1) json-schema (2.8.1) addressable (>= 2.4) - jwt (2.2.2) + json_schemer (0.2.18) + ecma-re-validator (~> 0.3) + hana (~> 1.3) + regexp_parser (~> 2.0) + uri_template (~> 0.7) + jwt (2.2.3) kgio (2.11.3) - libv8 (8.4.255.0) - listen (3.3.1) + libv8-node (15.14.0.1) + libv8-node (15.14.0.1-arm64-darwin-20) + libv8-node (15.14.0.1-x86_64-darwin-18) + libv8-node (15.14.0.1-x86_64-darwin-19) + libv8-node (15.14.0.1-x86_64-darwin-20) + libv8-node (15.14.0.1-x86_64-linux) + listen (3.5.1) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) lograge (0.11.2) @@ -171,49 +202,49 @@ GEM logstash-event (1.2.02) logstash-logger (0.26.1) logstash-event (~> 1.2) - logster (2.9.4) - loofah (2.8.0) + logster (2.9.6) + loofah (2.9.1) crass (~> 1.0.2) nokogiri (>= 1.5.9) lru_redux (1.1.0) lz4-ruby (0.3.3) - mail (2.7.1) - mini_mime (>= 0.1.1) maxminddb (0.1.22) - memory_profiler (0.9.14) - message_bus (3.3.4) + memory_profiler (1.0.0) + message_bus (3.3.5) rack (>= 1.1.3) method_source (1.0.0) - mini_mime (1.0.2) - mini_portile2 (2.4.0) - mini_racer (0.3.1) - libv8 (~> 8.4.255) - mini_scheduler (0.12.3) - sidekiq - mini_sql (0.3) - mini_suffix (0.3.0) + mini_mime (1.1.0) + mini_portile2 (2.5.1) + mini_racer (0.4.0) + libv8-node (~> 15.14.0.0) + mini_scheduler (0.13.0) + sidekiq (>= 4.2.3) + mini_sql (1.1.3) + mini_suffix (0.3.2) ffi (~> 1.9) - minitest (5.14.2) - mocha (1.11.2) - mock_redis (0.26.0) - msgpack (1.3.3) + minitest (5.14.4) + mocha (1.12.0) + mock_redis (0.28.0) + ruby2_keywords + msgpack (1.4.2) multi_json (1.15.0) multi_xml (0.6.0) multipart-post (2.1.1) mustache (1.1.1) - nio4r (2.5.4) - nokogiri (1.10.10) - mini_portile2 (~> 2.4.0) - nokogumbo (2.0.2) + nio4r (2.5.7) + nokogiri (1.11.3) + mini_portile2 (~> 2.5.0) + racc (~> 1.4) + nokogumbo (2.0.5) nokogiri (~> 1.8, >= 1.8.4) - oauth (0.5.4) - oauth2 (1.4.4) + oauth (0.5.6) + oauth2 (1.4.7) faraday (>= 0.8, < 2.0) jwt (>= 1.0, < 3.0) multi_json (~> 1.3) multi_xml (~> 0.5) rack (>= 1.2, < 3) - oj (3.10.16) + oj (3.11.5) omniauth (1.9.1) hashie (>= 3.4.6) rack (>= 1.6.2, < 3) @@ -222,35 +253,38 @@ GEM omniauth-github (1.4.0) omniauth (~> 1.5) omniauth-oauth2 (>= 1.4.0, < 2.0) - omniauth-google-oauth2 (0.8.0) + omniauth-google-oauth2 (0.8.2) jwt (>= 2.0) - omniauth (>= 1.1.1) + oauth2 (~> 1.1) + omniauth (~> 1.1) omniauth-oauth2 (>= 1.6) - omniauth-oauth (1.1.0) + omniauth-oauth (1.2.0) oauth - omniauth (~> 1.0) - omniauth-oauth2 (1.7.0) + omniauth (>= 1.0, < 3) + omniauth-oauth2 (1.7.1) oauth2 (~> 1.4) - omniauth (~> 1.9) + omniauth (>= 1.9, < 3) omniauth-twitter (1.4.0) omniauth-oauth (~> 1.1) rack - onebox (2.2.1) + onebox (2.2.15) addressable (~> 2.7.0) htmlentities (~> 4.3) multi_json (~> 1.11) mustache nokogiri (~> 1.7) sanitize - openssl-signature_algorithm (1.0.0) + openssl (2.2.0) + openssl-signature_algorithm (1.1.1) + openssl (~> 2.0) optimist (3.0.1) parallel (1.20.1) - parallel_tests (3.4.0) + parallel_tests (3.7.0) parallel - parser (2.7.2.0) + parser (3.0.1.1) ast (~> 2.4.1) pg (1.2.3) - progress (3.5.2) + progress (3.6.0) pry (0.13.1) coderay (~> 1.1) method_source (~> 1.0) @@ -260,11 +294,12 @@ GEM pry-rails (0.3.9) pry (>= 0.10.4) public_suffix (4.0.6) - puma (5.0.4) + puma (5.3.1) nio4r (~> 2.0) r2 (0.2.7) + racc (1.5.2) rack (2.2.3) - rack-mini-profiler (2.2.0) + rack-mini-profiler (2.3.2) rack (>= 1.2.0) rack-protection (2.1.0) rack @@ -275,23 +310,23 @@ GEM nokogiri (>= 1.6) rails-html-sanitizer (1.3.0) loofah (~> 2.3) - rails_failover (0.6.2) + rails_failover (0.7.3) activerecord (~> 6.0) concurrent-ruby railties (~> 6.0) - rails_multisite (2.5.0) + rails_multisite (3.0.0) activerecord (> 5.0, < 7) railties (> 5.0, < 7) - railties (6.0.3.3) - actionpack (= 6.0.3.3) - activesupport (= 6.0.3.3) + railties (6.1.3.2) + actionpack (= 6.1.3.2) + activesupport (= 6.1.3.2) method_source rake (>= 0.8.7) - thor (>= 0.20.3, < 2.0) + thor (~> 1.0) rainbow (3.0.0) raindrops (0.19.1) - rake (13.0.1) - rb-fsevent (0.10.4) + rake (13.0.3) + rb-fsevent (0.11.0) rb-inotify (0.10.1) ffi (~> 1.0) rbtrace (0.4.14) @@ -300,72 +335,72 @@ GEM optimist (>= 3.0.0) rchardet (1.8.0) redis (4.2.5) - redis-namespace (1.8.0) + redis-namespace (1.8.1) redis (>= 3.0.4) - regexp_parser (2.0.0) + regexp_parser (2.1.1) request_store (1.5.0) rack (>= 1.4) - rexml (3.2.4) + rexml (3.2.5) rinku (2.0.6) rotp (6.2.0) - rqrcode (1.1.2) + rqrcode (2.0.0) chunky_png (~> 1.0) - rqrcode_core (~> 0.1) - rqrcode_core (0.1.2) + rqrcode_core (~> 1.0) + rqrcode_core (1.0.0) rspec (3.10.0) rspec-core (~> 3.10.0) rspec-expectations (~> 3.10.0) rspec-mocks (~> 3.10.0) - rspec-core (3.10.0) + rspec-core (3.10.1) rspec-support (~> 3.10.0) - rspec-expectations (3.10.0) + rspec-expectations (3.10.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.10.0) rspec-html-matchers (0.9.4) nokogiri (~> 1) rspec (>= 3.0.0.a, < 4) - rspec-mocks (3.10.0) + rspec-mocks (3.10.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.10.0) - rspec-rails (4.0.1) - actionpack (>= 4.2) - activesupport (>= 4.2) - railties (>= 4.2) - rspec-core (~> 3.9) - rspec-expectations (~> 3.9) - rspec-mocks (~> 3.9) - rspec-support (~> 3.9) - rspec-support (3.10.0) - rswag-specs (2.3.1) + rspec-rails (5.0.1) + actionpack (>= 5.2) + activesupport (>= 5.2) + railties (>= 5.2) + rspec-core (~> 3.10) + rspec-expectations (~> 3.10) + rspec-mocks (~> 3.10) + rspec-support (~> 3.10) + rspec-support (3.10.2) + rswag-specs (2.4.0) activesupport (>= 3.1, < 7.0) json-schema (~> 2.2) railties (>= 3.1, < 7.0) rtlit (0.0.5) - rubocop (1.4.2) + rubocop (1.14.0) parallel (~> 1.10) - parser (>= 2.7.1.5) + parser (>= 3.0.0.0) rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 1.8) + regexp_parser (>= 1.8, < 3.0) rexml - rubocop-ast (>= 1.1.1) + rubocop-ast (>= 1.5.0, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 2.0) - rubocop-ast (1.2.0) - parser (>= 2.7.1.5) + unicode-display_width (>= 1.4.0, < 3.0) + rubocop-ast (1.5.0) + parser (>= 3.0.1.1) rubocop-discourse (2.4.1) rubocop (>= 1.1.0) rubocop-rspec (>= 2.0.0) - rubocop-rspec (2.0.0) + rubocop-rspec (2.3.0) rubocop (~> 1.0) rubocop-ast (>= 1.1.0) - ruby-prof (1.4.2) - ruby-progressbar (1.10.1) + ruby-prof (1.4.3) + ruby-progressbar (1.11.0) ruby-readability (0.7.0) guess_html_encoding (>= 0.0.4) nokogiri (>= 1.6.0) - ruby2_keywords (0.0.2) + ruby2_keywords (0.0.4) rubyzip (2.3.0) - sanitize (5.2.1) + sanitize (5.2.3) crass (~> 1.0.2) nokogiri (>= 1.8.0) nokogumbo (~> 2.0) @@ -381,18 +416,18 @@ GEM seed-fu (2.3.9) activerecord (>= 3.1) activesupport (>= 3.1) - shoulda-matchers (4.4.1) + shoulda-matchers (4.5.1) activesupport (>= 4.2.0) - sidekiq (6.1.2) + sidekiq (6.2.1) connection_pool (>= 2.2.2) rack (~> 2.0) redis (>= 4.2.0) - simplecov (0.20.0) + simplecov (0.21.2) docile (~> 1.1) simplecov-html (~> 0.11) simplecov_json_formatter (~> 0.1) simplecov-html (0.12.3) - simplecov_json_formatter (0.1.2) + simplecov_json_formatter (0.1.3) sprockets (3.7.2) concurrent-ruby (~> 1.0) rack (> 1, < 3) @@ -401,24 +436,24 @@ GEM activesupport (>= 4.0) sprockets (>= 3.0.0) sshkey (2.0.0) - stackprof (0.2.16) - test-prof (0.12.2) - thor (1.0.1) - thread_safe (0.3.6) + stackprof (0.2.17) + test-prof (1.0.5) + thor (1.1.0) tilt (2.0.10) - tzinfo (1.2.8) - thread_safe (~> 0.1) + tzinfo (2.0.4) + concurrent-ruby (~> 1.0) uglifier (4.2.0) execjs (>= 0.3.0, < 3) unf (0.1.4) unf_ext unf_ext (0.0.7.7) - unicode-display_width (1.7.0) - unicorn (5.7.0) + unicode-display_width (2.0.0) + unicorn (6.0.0) kgio (~> 2.6) raindrops (~> 0.7) - uniform_notifier (1.13.0) - webmock (3.10.0) + uniform_notifier (1.14.2) + uri_template (0.7.0) + webmock (3.12.2) addressable (>= 2.3.6) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) @@ -427,20 +462,25 @@ GEM jwt (~> 2.0) xorcist (1.1.2) yaml-lint (0.0.10) - zeitwerk (2.4.1) + zeitwerk (2.4.2) PLATFORMS + arm64-darwin-20 ruby + x86_64-darwin-18 + x86_64-darwin-19 + x86_64-darwin-20 + x86_64-linux DEPENDENCIES - actionmailer (= 6.0.3.3) - actionpack (= 6.0.3.3) - actionview (= 6.0.3.3) + actionmailer (= 6.1.3.2) + actionpack (= 6.1.3.2) + actionview (= 6.1.3.2) actionview_precompiler active_model_serializers (~> 0.8.3) - activemodel (= 6.0.3.3) - activerecord (= 6.0.3.3) - activesupport (= 6.0.3.3) + activemodel (= 6.1.3.2) + activerecord (= 6.1.3.2) + activesupport (= 6.1.3.2) addressable annotate aws-sdk-s3 @@ -461,6 +501,7 @@ DEPENDENCIES discourse-ember-rails (= 0.18.6) discourse-ember-source (~> 3.12.2) discourse-fonts + discourse_dev discourse_image_optim email_reply_trimmer ember-handlebars-template (= 0.8.0) @@ -471,20 +512,21 @@ DEPENDENCIES fast_blank fast_xs fastimage - flamegraph gc_tracer highline htmlentities http_accept_language json + json_schemer listen lograge logstash-event logstash-logger logster + loofah lru_redux lz4-ruby - mail + mail! maxminddb memory_profiler message_bus @@ -518,7 +560,7 @@ DEPENDENCIES rack-protection rails_failover rails_multisite - railties (= 6.0.3.3) + railties (= 6.1.3.2) rake rb-fsevent rbtrace @@ -558,4 +600,4 @@ DEPENDENCIES yaml-lint BUNDLED WITH - 2.1.4 + 2.2.16 diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix index b2cf191a444..4b3ce8ce219 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix +++ b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix @@ -1,14 +1,14 @@ { actionmailer = { - dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"]; + dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "rails-dom-testing"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1spq0dbfn0qkqg9sq0rsjn360b4j36zly8hawaivkrwr3rsvyz75"; + sha256 = "1nqdaykzgib8fsldkxdkw0w44jzz4grvb028crzg0qpwvv03g2wp"; type = "gem"; }; - version = "6.0.3.3"; + version = "6.1.3.2"; }; actionpack = { dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; @@ -16,10 +16,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1p873nqwmpsvmkb5n86d70wndx1qhy15pc9mbcd1mc8sj174578b"; + sha256 = "1wdgv5llgbl4nayx5j78lfvhhjssrzfmypb45mjy37mgm8z5l5m5"; type = "gem"; }; - version = "6.0.3.3"; + version = "6.1.3.2"; }; actionview = { dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; @@ -27,10 +27,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08pvmjddlw01q5r9zdfgddwp4csndpf5i2w47677z5r36jznz36q"; + sha256 = "1r6db2g3fsrca1hp9kbyvjx9psipsxw0g306qharkcblxl8h1ysn"; type = "gem"; }; - version = "6.0.3.3"; + version = "6.1.3.2"; }; actionview_precompiler = { dependencies = ["actionview"]; @@ -60,10 +60,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0w54ckvc229iaax879hkhyc93j7z8p0v7acp6mk3h8xjfvmwy5jp"; + sha256 = "0p80rbahcxhxlkxgf4bh580hbifn9q4gr5g9fy8fd0z5g6gr9xxq"; type = "gem"; }; - version = "6.0.3.3"; + version = "6.1.3.2"; }; activemodel = { dependencies = ["activesupport"]; @@ -71,10 +71,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "166jlx6kbby01vr37srh081a9fykgsz873yg5i9gl2ar3vw9gs56"; + sha256 = "1gpd3hh4ryyr84drj6m0b5sy6929nyf50bfgksw1hpc594542nal"; type = "gem"; }; - version = "6.0.3.3"; + version = "6.1.3.2"; }; activerecord = { dependencies = ["activemodel" "activesupport"]; @@ -82,10 +82,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0y2a4ss6ld6yrhpcbcb3kjn5gj6zk9qklp2aq5rl1awl8vbdbdb7"; + sha256 = "0fg58qma2zgrz0gr61p61qcz8c3h88fd5lbdrkpkm96aq5shwh68"; type = "gem"; }; - version = "6.0.3.3"; + version = "6.1.3.2"; }; activesupport = { dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"]; @@ -93,10 +93,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1dmkqbvndbz011a1byg6f990936vfadbnwjwjw9vjzr4kd8bxk96"; + sha256 = "1csxddyhl6k773ycxjvmyshyr4g9jb1icbs3pnm7crnavqs4h1yr"; type = "gem"; }; - version = "6.0.3.3"; + version = "6.1.3.2"; }; addressable = { dependencies = ["public_suffix"]; @@ -125,30 +125,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1l3468czzjmxl93ap40hp7z94yxp4nbag0bxqs789bm30md90m2a"; + sha256 = "04nc8x27hlzlrr5c2gn7mar4vdr0apw5xg22wp6m8dx3wqr04a0y"; type = "gem"; }; - version = "2.4.1"; + version = "2.4.2"; }; aws-eventstream = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0r0pn66yqrdkrfdin7qdim0yj2x75miyg4wp6mijckhzhrjb7cv5"; + sha256 = "0jfki5ikfr8ln5cdgv4iv1643kax0bjpp29jh78chzy713274jh3"; type = "gem"; }; - version = "1.1.0"; + version = "1.1.1"; }; aws-partitions = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17xranmng1mg6238zdmnfvaig82r2ymp2apra9yh5d8rhvn8hkwm"; + sha256 = "0y0z25hgghy3i8azx0mn8pda2qvd47zkilwjps0x32zn091blzgg"; type = "gem"; }; - version = "1.390.0"; + version = "1.432.0"; }; aws-sdk-core = { dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"]; @@ -156,10 +156,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05dq7jfv5qf1y00ib96nqsipf08hflw8n8fwkyjw4qav84wjqaq4"; + sha256 = "0r5f7pb9dh95f7cb4rdj1z766c88735y6y6msbgzak0v8g8j3dw9"; type = "gem"; }; - version = "3.109.2"; + version = "3.112.1"; }; aws-sdk-kms = { dependencies = ["aws-sdk-core" "aws-sigv4"]; @@ -167,10 +167,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ly1m631qm2ciif7sysbzrgczjvz95ga3g6w6vrzvfdv31jjnl9a"; + sha256 = "00wgf83cdy6z77b2y0ld0aqiidfyldi71hx0z8b73gxjdlbwpq1i"; type = "gem"; }; - version = "1.39.0"; + version = "1.42.0"; }; aws-sdk-s3 = { dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"]; @@ -178,10 +178,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mld0yh6q6i2nbb143g5xc6gm70sqpvpwxfknlihrd8jmw3xc0bs"; + sha256 = "0sm1x1pm2wb8gj3p4yv45r7n8m4k3qawk3lrnd2lvk2vg5nyfh61"; type = "gem"; }; - version = "1.83.2"; + version = "1.90.0"; }; aws-sdk-sns = { dependencies = ["aws-sdk-core" "aws-sigv4"]; @@ -189,10 +189,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1dw80ldqhb1mny5irgi2jh36hykcmyd07xalv21xncxqzmf8aiag"; + sha256 = "0cqri14igfmcxlapbagg0nmy79zzg29awzybv51gl76m3mljbafb"; type = "gem"; }; - version = "1.35.0"; + version = "1.38.0"; }; aws-sigv4 = { dependencies = ["aws-eventstream"]; @@ -200,10 +200,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ll9382c1x2hp750cilh01h1cycgyhdr4cmmgx23k94hyyb8chv5"; + sha256 = "1d9zhmi3mpfzkkpg7yw7s9r1dwk157kh9875j3c7gh6cy95lmmaw"; type = "gem"; }; - version = "1.2.2"; + version = "1.2.3"; }; barber = { dependencies = ["ember-source" "execjs"]; @@ -237,10 +237,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05syqlks7463zsy1jdfbbdravdhj9hpj5pv2m74blqpv8bq4vv5g"; + sha256 = "078n2dkpgsivcf0pr50981w95nfc2bsrp3wpf9wnxz1qsp8jbb9s"; type = "gem"; }; - version = "0.8.0"; + version = "1.0.0"; }; bootsnap = { dependencies = ["msgpack"]; @@ -252,10 +252,10 @@ }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1qx1f729bgh391agsqb4ngzn22wdn4cc6mkp0cipf0d5hsg9cpaq"; + sha256 = "12n09iwpssnsfw9s140ynfxr9psd0xcfx42yqdsk0hq60zhq2nlx"; type = "gem"; }; - version = "1.5.1"; + version = "1.7.5"; }; builder = { groups = ["default" "development" "test"]; @@ -273,10 +273,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18ifwnvn13755qkfigapyj5bflpby3phxzbb7x5336d0kzv5k7d9"; + sha256 = "0r8d3vh1xjfx46qlv75228rkshzgqxpmf491vxzpicpqi1xad5ni"; type = "gem"; }; - version = "6.1.0"; + version = "6.1.4"; }; byebug = { groups = ["development" "test"]; @@ -317,10 +317,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1v52ndgx9r4jybq8yzr8anzfbnjk4y2hvz97nm9924wi4bad3xkf"; + sha256 = "1znw5x86hmm9vfhidwdsijz8m38pqgmv98l9ryilvky0aldv7mc9"; type = "gem"; }; - version = "1.3.14"; + version = "1.4.0"; }; coderay = { groups = ["default" "development"]; @@ -351,20 +351,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vnxrbhi7cq3p4y2v9iwd10v1c7l15is4var14hwnb2jip4fyjzz"; + sha256 = "0mr23wq0szj52xnj0zcn1k0c7j4v79wlwbijkpfcscqww3l6jlg3"; type = "gem"; }; - version = "1.1.7"; + version = "1.1.8"; }; connection_pool = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1qikl4av1z8kqnk5ba18136dpqzw8wjawc2w9b4zb5psdd5z8nwf"; + sha256 = "0ffdxhgirgc86qb42yvmfj6v1v0x4lvi0pxn9zhghkff44wzra0k"; type = "gem"; }; - version = "2.2.3"; + version = "2.2.5"; }; cose = { dependencies = ["cbor" "openssl-signature_algorithm"]; @@ -388,14 +388,15 @@ version = "0.3.3"; }; crack = { + dependencies = ["rexml"]; groups = ["default" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1awi8jy4jn0f7vxpdvz3xvn1zzjbjh33n28lfkijh77dla5zb7lc"; + sha256 = "1cr1kfpw3vkhysvkk3wg7c54m75kd68mbm9rs5azdjdq57xid13r"; type = "gem"; }; - version = "0.4.4"; + version = "0.4.5"; }; crass = { groups = ["default" "development" "test"]; @@ -413,20 +414,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04c4dl8cm5rjr50k9qa6yl9r05fk9zcb1zxh0y0cdahxlsgcydfw"; + sha256 = "0xs4ind9xd099rb52b73pch8ha143dl8bhivqsbba4wrvxpbx751"; type = "gem"; }; - version = "1.7.1"; + version = "1.9.0"; }; debug_inspector = { groups = ["default" "development"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0vxr0xa1mfbkfcrn71n7c4f2dj7la5hvphn904vh20j3x4j5lrx0"; + sha256 = "01l678ng12rby6660pmwagmyg8nccvjfgs3487xna7ay378a59ga"; type = "gem"; }; - version = "0.0.3"; + version = "1.1.0"; }; diff-lcs = { groups = ["default" "development" "test"]; @@ -464,20 +465,31 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0mqkwiqb5n64lc5jdjnmpgb9apq08ywkz9yk8mj1sx2lqcsw11pc"; + sha256 = "0q4wypjiqvjlwaif5z3pnv0z02rsiysx58d7iljrw8xx9sxwxn6x"; type = "gem"; }; - version = "3.12.2.2"; + version = "3.12.2.3"; }; discourse-fonts = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xhwgqclh3jncjr55m0hyq3w3iw8jw2r7ickzq1zn1282pc3n2i7"; + sha256 = "1gr1d80wmb1jvip82jlbsz5bcpwsz9lryxxfnwiw537vx8pqkk3p"; type = "gem"; }; - version = "0.0.5"; + version = "0.0.8"; + }; + discourse_dev = { + dependencies = ["faker"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1sn2lcgjhsbqnaca97a37bfk249c55b3cn1q8abnf1am9jq5hdiw"; + type = "gem"; + }; + version = "0.2.1"; }; discourse_image_optim = { dependencies = ["exifr" "fspath" "image_size" "in_threads" "progress"]; @@ -495,10 +507,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qrwiyagxzl8zlx3dafb0ay8l14ib7imb2rsmx70i5cp420v8gif"; + sha256 = "1lxqxgq71rqwj1lpl9q1mbhhhhhhdkkj7my341f2889pwayk85sz"; type = "gem"; }; - version = "1.3.2"; + version = "1.4.0"; + }; + ecma-re-validator = { + dependencies = ["regexp_parser"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1mz0nsl2093jd94nygw8qs13rwfwl1ax76xz3ypinr5hqbc5pab6"; + type = "gem"; + }; + version = "0.3.0"; }; email_reply_trimmer = { groups = ["default"]; @@ -561,20 +584,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1hi89v53pm2abfv9j8lgqdd7hgkr7fr0gwrczr940iwbb3xv7rrs"; + sha256 = "19g5nvkycnkzqq4mqn1zjznq9adrlv2jz0dr9w10cbn42hhqpiz7"; type = "gem"; }; - version = "0.78.0"; + version = "0.81.0"; }; execjs = { groups = ["assets" "default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yz55sf2nd3l666ms6xr18sm2aggcvmb8qr3v53lr4rir32y1yp1"; + sha256 = "121h6af4i6wr3wxvv84y53jcyw2sk71j5wsncm6wq6yqrwcrk4vd"; type = "gem"; }; - version = "2.7.0"; + version = "2.8.1"; }; exifr = { groups = ["default"]; @@ -591,10 +614,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pdrl55xf76pbc5kjzp7diawxxvgbk2cm38532in6df823431n6z"; + sha256 = "1a1zv94hcss44n1b04w0rg0swg8npigrj3nva9h0y2f1iflj124k"; type = "gem"; }; - version = "2.21.1"; + version = "2.22.0"; + }; + faker = { + dependencies = ["i18n"]; + groups = ["default" "development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0z3d4y6xg8prn3zdjw1qpqrnziq1d3zigqil4sxjj0pbr46gc1d6"; + type = "gem"; + }; + version = "2.17.0"; }; fakeweb = { groups = ["test"]; @@ -607,12 +641,42 @@ version = "1.3.0"; }; faraday = { - dependencies = ["multipart-post" "ruby2_keywords"]; + dependencies = ["faraday-excon" "faraday-net_http" "faraday-net_http_persistent" "multipart-post" "ruby2_keywords"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "16dapwi5pivrl25r4lkr1mxjrzkznj4wlcb08fzkmxnj4g5c6y35"; + sha256 = "0q646m07lfahakx5jdq77j004rcgfj6lkg13c0f84993gi78dhvi"; + type = "gem"; + }; + version = "1.4.1"; + }; + faraday-excon = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh"; + type = "gem"; + }; + version = "1.1.0"; + }; + faraday-net_http = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j"; + type = "gem"; + }; + version = "1.0.1"; + }; + faraday-net_http_persistent = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0l2c835wl7gv34xp49fhd1bl4czkpw2g3ahqsak2251iqv5589ka"; type = "gem"; }; version = "1.1.0"; @@ -654,10 +718,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "11ny2pj0j6pljszrf1w3iqdv2pcl2iwwghjbgcjlizy424zbh0hb"; + sha256 = "0lgr0vs9kg5622qaf2l3f37b238dncs037fisiygvkbq8sg11i68"; type = "gem"; }; - version = "2.2.0"; + version = "2.2.3"; }; ffi = { groups = ["default" "development" "test"]; @@ -668,20 +732,10 @@ }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "12lpwaw82bb0rm9f52v1498bpba8aj2l2q359mkwbxsswhpga5af"; + sha256 = "0nq1fb3vbfylccwba64zblxy96qznxbys5900wd7gm9bpplmf432"; type = "gem"; }; - version = "1.13.1"; - }; - flamegraph = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1p785nmhdzbwj0qpxn5fzrmr4kgimcds83v4f95f387z6w3050x6"; - type = "gem"; - }; - version = "0.9.5"; + version = "1.15.0"; }; fspath = { groups = ["default"]; @@ -728,6 +782,16 @@ }; version = "0.0.11"; }; + hana = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03cvrv2wl25j9n4n509hjvqnmwa60k92j741b64a1zjisr1dn9al"; + type = "gem"; + }; + version = "1.3.7"; + }; hashdiff = { groups = ["default" "test"]; platforms = []; @@ -794,10 +858,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "153sx77p16vawrs4qpkv7qlzf9v5fks4g7xqcj1dwk40i6g7rfzk"; + sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a"; type = "gem"; }; - version = "1.8.5"; + version = "1.8.10"; }; image_size = { groups = ["default"]; @@ -845,10 +909,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "158fawfwmv2sq4whqqaksfykkiad2xxrrj0nmpnc6vnlzi1bp7iz"; + sha256 = "0lrirj0gw420kw71bjjlqkqhqbrplla61gbv1jzgsz6bv90qr3ci"; type = "gem"; }; - version = "2.3.1"; + version = "2.5.1"; }; json-schema = { dependencies = ["addressable"]; @@ -861,15 +925,26 @@ }; version = "2.8.1"; }; + json_schemer = { + dependencies = ["ecma-re-validator" "hana" "regexp_parser" "uri_template"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rkb7gz819g82n3xshb5g8kgv1nvgwg1lm2fk7715pggzcgc4qik"; + type = "gem"; + }; + version = "0.2.18"; + }; jwt = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "14ynyq1q483spj20ffl4xayfqx1a8qr761mqjfxczf8lwlap392n"; + sha256 = "036i5fc09275ms49mw43mh4i9pwaap778ra2pmx06ipzyyjl6bfs"; type = "gem"; }; - version = "2.2.2"; + version = "2.2.3"; }; kgio = { groups = ["default"]; @@ -887,15 +962,15 @@ }; version = "2.11.3"; }; - libv8 = { + libv8-node = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0317sr3nrl51sp844bps71smkrwim3fjn47wdfpbycixnbxspivm"; + sha256 = "1xx217hrkpcm41p41inmy05kb7g8p9w5fwabgjgmpvz0d60j2862"; type = "gem"; }; - version = "8.4.255.0"; + version = "15.14.0.1"; }; listen = { dependencies = ["rb-fsevent" "rb-inotify"]; @@ -903,10 +978,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0028p1fss6pvw4mlpjqdmxfzsm8ww79irsadbibrr7f23qfn8ykr"; + sha256 = "0h2v34xhi30w0d9gfzds2w6v89grq2gkpgvmdj9m8x1ld1845xnj"; type = "gem"; }; - version = "3.3.1"; + version = "3.5.1"; }; lograge = { dependencies = ["actionpack" "activesupport" "railties" "request_store"]; @@ -945,10 +1020,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ldikj3p0bakxg57didaw05pldjn0i5r20zawhqa34knlsqm66r6"; + sha256 = "1a65kp9d3n34nnd0vr49s3gxxjzi4l197s3qyq4njjf81smd2764"; type = "gem"; }; - version = "2.9.4"; + version = "2.9.6"; }; loofah = { dependencies = ["crass" "nokogiri"]; @@ -956,10 +1031,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ndimir6k3kfrh8qrb7ir1j836l4r3qlwyclwjh88b86clblhszh"; + sha256 = "1w9mbii8515p28xd4k72f3ab2g6xiyq15497ys5r8jn6m355lgi7"; type = "gem"; }; - version = "2.8.0"; + version = "2.9.1"; }; lru_redux = { groups = ["default"]; @@ -992,11 +1067,13 @@ groups = ["default"]; platforms = []; source = { - remotes = ["https://rubygems.org"]; - sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc"; - type = "gem"; + fetchSubmodules = false; + rev = "5b700fc95ee66378e0cf2559abc73c8bc3062a4b"; + sha256 = "0j084s1gsdwiqvm4jdayi0x4rsdrazqv8z8wkz28v7zmaymw18lz"; + type = "git"; + url = "https://github.com/discourse/mail.git"; }; - version = "2.7.1"; + version = "2.8.0.edge"; }; maxminddb = { groups = ["default"]; @@ -1017,10 +1094,10 @@ }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "04ivhv1bilwqm33jv28gar2vwzsichb5nipaq395d3axabv8qmfy"; + sha256 = "0s8qaf19yr4lhvdxk3cy3ifc47cgxdz2jybg6hzxsy9gh88c1f7v"; type = "gem"; }; - version = "0.9.14"; + version = "1.0.0"; }; message_bus = { dependencies = ["rack"]; @@ -1028,10 +1105,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hckijk9aa628nx66vr7axfsk7zfdkskaxj1mdzikk019q3h54fr"; + sha256 = "0gg8axd71vjanzis8w4h4if2qi4fx0glmc258dwa5b3z6zvzsbz8"; type = "gem"; }; - version = "3.3.4"; + version = "3.3.5"; }; method_source = { groups = ["default" "development" "test"]; @@ -1048,31 +1125,31 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1axm0rxyx3ss93wbmfkm78a6x03l8y4qy60rhkkiq0aza0vwq3ha"; + sha256 = "0kb7jq3wjgckmkzna799y5qmvn6vg52878bkgw35qay6lflcrwih"; type = "gem"; }; - version = "1.0.2"; + version = "1.1.0"; }; mini_portile2 = { groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"; + sha256 = "0xg1x4708a4pn2wk8qs2d8kfzzdyv9kjjachg2f1phsx62ap2rx2"; type = "gem"; }; - version = "2.4.0"; + version = "2.5.1"; }; mini_racer = { - dependencies = ["libv8"]; + dependencies = ["libv8-node"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0r7j241mvhyyc017bqgp0pvf3jyrwbcqvz2pzm0r8zn2r85ks1jl"; + sha256 = "0334q46gi3il9izw7k4z32fj06nm8pznqdkr9r51033lnwwy9zy3"; type = "gem"; }; - version = "0.3.1"; + version = "0.4.0"; }; mini_scheduler = { dependencies = ["sidekiq"]; @@ -1080,20 +1157,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0vigv7f1q5bkcb55ab2lyhq15yqfkg5mq61p7m7mw9b3jac7qjz1"; + sha256 = "1cy9c2wv19m4h2sv9fs66hh1an7hq3y9513678dzx43vm3kjvhz5"; type = "gem"; }; - version = "0.12.3"; + version = "0.13.0"; }; mini_sql = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qi4bj5jkh3673ybsxvsf7y485znyxb72vxg84gk9x65mf0y0m6h"; + sha256 = "1yvln5wx2jfpd9q2pvjdid96vdz1ynnfk8ip913wpx28wp8ww7jn"; type = "gem"; }; - version = "0.3"; + version = "1.1.3"; }; mini_suffix = { dependencies = ["ffi"]; @@ -1101,40 +1178,41 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bxd1fgzb20gvfvhbkrxym9fr7skm5x6fzvqfg4a0jijb34ww50h"; + sha256 = "1r6pwyv1vpyza0rn1pyxls4qdw5jd3vg4k5dp1iaqa57n6fiqrvi"; type = "gem"; }; - version = "0.3.0"; + version = "0.3.2"; }; minitest = { groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "170y2cvx51gm3cm3nhdf7j36sxnkh6vv8ls36p90ric7w8w16h4v"; + sha256 = "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl"; type = "gem"; }; - version = "5.14.2"; + version = "5.14.4"; }; mocha = { groups = ["development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hxmkm8qxd04vwj8mqnpyrf2dwy7g1k9zipdfhl4y71cw7ijm9n4"; + sha256 = "05yw6rwgjppq116jgqfg4pv4bql3ci4r2fmmg0m2c3sqib1bq41a"; type = "gem"; }; - version = "1.11.2"; + version = "1.12.0"; }; mock_redis = { + dependencies = ["ruby2_keywords"]; groups = ["development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06yj6j9x4zjckah4ixiwhy3hb6xzjp7yk7lmmcvcb8hpd0z0x95q"; + sha256 = "0x6ng2p1884pjpwj169p6xyas5bvshi4q1wfcfmxvk82jwm0cz3c"; type = "gem"; }; - version = "0.26.0"; + version = "0.28.0"; }; msgpack = { groups = ["default"]; @@ -1145,10 +1223,10 @@ }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1lva6bkvb4mfa0m3bqn4lm4s4gi81c40jvdcsrxr6vng49q9daih"; + sha256 = "06iajjyhx0rvpn4yr3h1hc4w4w3k59bdmfhxnjzzh76wsrdxxrc6"; type = "gem"; }; - version = "1.3.3"; + version = "1.4.2"; }; multi_json = { groups = ["default"]; @@ -1195,21 +1273,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1cbwp1kbv6b2qfxv8sarv0d0ilb257jihlvdqj8f5pdm0ksq1sgk"; + sha256 = "00fwz0qq7agd2xkdz02i8li236qvwhma3p0jdn5bdvc21b7ydzd5"; type = "gem"; }; - version = "2.5.4"; + version = "2.5.7"; }; nokogiri = { - dependencies = ["mini_portile2"]; + dependencies = ["mini_portile2" "racc"]; groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xmf60nj5kg9vaj5bysy308687sgmkasgx06vbbnf94p52ih7si2"; + sha256 = "19d78mdg2lbz9jb4ph6nk783c9jbsdm8rnllwhga6pd53xffp6x0"; type = "gem"; }; - version = "1.10.10"; + version = "1.11.3"; }; nokogumbo = { dependencies = ["nokogiri"]; @@ -1217,20 +1295,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0sxjnpjvrn10gdmfw2dimhch861lz00f28hvkkz0b1gc2rb65k9s"; + sha256 = "0ngsnr0l6r4yccdwvky18n9a81plhpviaw6g7ym45mr1q0y0aj2w"; type = "gem"; }; - version = "2.0.2"; + version = "2.0.5"; }; oauth = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zszdg8q1b135z7l7crjj234k4j0m347hywp5kj6zsq7q78pw09y"; + sha256 = "1zwd6v39yqfdrpg1p3d9jvzs9ljg55ana2p06m0l7qn5w0lgx1a0"; type = "gem"; }; - version = "0.5.4"; + version = "0.5.6"; }; oauth2 = { dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"]; @@ -1238,20 +1316,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1bhakjh30vi8scqwnhd1c9qkac9r8hh2lr0dbs5ynwmrc5djxknm"; + sha256 = "1q6q2kgpxmygk8kmxqn54zkw8cs57a34zzz5cxpsh1bj3ag06rk3"; type = "gem"; }; - version = "1.4.4"; + version = "1.4.7"; }; oj = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1xqmzqldi9a0wpilwx87yh61xd7647gg8ffammg4ava0bsx375g2"; + sha256 = "1cnadm83qwnmbpyild9whb9bgf9r7gs046ydxypclb2l756gcnva"; type = "gem"; }; - version = "3.10.16"; + version = "3.11.5"; }; omniauth = { dependencies = ["hashie" "rack"]; @@ -1287,15 +1365,15 @@ version = "1.4.0"; }; omniauth-google-oauth2 = { - dependencies = ["jwt" "omniauth" "omniauth-oauth2"]; + dependencies = ["jwt" "oauth2" "omniauth" "omniauth-oauth2"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17pgqasl048irs2c6w6g57zvk0ygb5ml1krwir4qi4b6y53zyr55"; + sha256 = "10pnxvb6wpnf58dja3yz4ja527443x3q13hzhcbays4amnnp8i4a"; type = "gem"; }; - version = "0.8.0"; + version = "0.8.2"; }; omniauth-oauth = { dependencies = ["oauth" "omniauth"]; @@ -1303,10 +1381,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1n5vk4by7hkyc09d9blrw2argry5awpw4gbw1l4n2s9b3j4qz037"; + sha256 = "0yw2vzx633p9wpdkd4jxsih6mw604mj7f6myyfikmj4d95c8d9z7"; type = "gem"; }; - version = "1.1.0"; + version = "1.2.0"; }; omniauth-oauth2 = { dependencies = ["oauth2" "omniauth"]; @@ -1314,10 +1392,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0v6rw7sd223k7qw0l13wikgfcqbvbk81r53a9i2z0k7jl5vd97w5"; + sha256 = "10fr2b58sp7l6nfdvxpbi67374hkrvsf507cvda89jjs0jacy319"; type = "gem"; }; - version = "1.7.0"; + version = "1.7.1"; }; omniauth-twitter = { dependencies = ["omniauth-oauth" "rack"]; @@ -1336,20 +1414,31 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0b2aih0d5cva9bris36gh1mk3ym61wgxlpwvzjd6qphdrjfzqx8v"; + sha256 = "0a76xmwikcg2lv8k2cawzhmi2hx7j145v12mbpriby6zff797z4g"; type = "gem"; }; - version = "2.2.1"; + version = "2.2.15"; }; - openssl-signature_algorithm = { + openssl = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0h1pfx49j8d9vbdbi8jyj0mr63l7rhflgvgc0nhfygm1v77d7nkn"; + sha256 = "03wbynzkhay7l1x76srjkg91q48mxl575vrxb3blfxlpqwsvvp0w"; type = "gem"; }; - version = "1.0.0"; + version = "2.2.0"; + }; + openssl-signature_algorithm = { + dependencies = ["openssl"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "173p9agv45hj62fdgl9bzqr9f6xg7hi2sf5iyd3ahiwbv220x332"; + type = "gem"; + }; + version = "1.1.1"; }; optimist = { groups = ["default"]; @@ -1381,10 +1470,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mvdk8vgzqjv2pvadxwc8w2vf8dmiw145rjf47c36nn6l5hh02j6"; + sha256 = "1vrd24lg1pqxvp63664hrndywpdyn8i38j4gfvqk8zjl1mxy9840"; type = "gem"; }; - version = "3.4.0"; + version = "3.7.0"; }; parser = { dependencies = ["ast"]; @@ -1392,10 +1481,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1f7gmm60yla325wlnd3qkxs59qm2y0aan8ljpg6k18rwzrrfil6z"; + sha256 = "1pxsi1i5z506xfzhiyavlasf8777h55ab40phvp7pfv9npmd5pnj"; type = "gem"; }; - version = "2.7.2.0"; + version = "3.0.1.1"; }; pg = { groups = ["default"]; @@ -1412,10 +1501,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pm3bv5n8c8j0vfm7wghd7xf6yq4m068cksxjldmna11qi0h0s8s"; + sha256 = "0wymdk40cwrqn32gwg1kw94s5p1n0z3n7ma7x1s62gd4vw3d63in"; type = "gem"; }; - version = "3.5.2"; + version = "3.6.0"; }; pry = { dependencies = ["coderay" "method_source"]; @@ -1466,10 +1555,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0mkmfbf4qyiknwi9bb5432cpbbz06r855gknxb8grn24gmgs4d9i"; + sha256 = "00839fhvcq73h9a4crbrk87y6bi2z4vp1zazxihn6w0mrwr51c3i"; type = "gem"; }; - version = "5.0.4"; + version = "5.3.1"; }; r2 = { groups = ["default"]; @@ -1481,6 +1570,16 @@ }; version = "0.2.7"; }; + racc = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "178k7r0xn689spviqzhvazzvxfq6fyjldxb3ywjbgipbfi4s8j1g"; + type = "gem"; + }; + version = "1.5.2"; + }; rack = { groups = ["default" "development" "test"]; platforms = [{ @@ -1501,10 +1600,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05s7y56ayn56bn7y5ah3krm5d53vsj7apmcxlwc2qp7ik0xlypvq"; + sha256 = "02rkbmi66pqcx8l4yxnhpiywdqhbza4m2i2b457q8imjvw950jhs"; type = "gem"; }; - version = "2.2.0"; + version = "2.3.2"; }; rack-protection = { dependencies = ["rack"]; @@ -1556,10 +1655,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ibxn7lk6rqk7q76cd9ir3xnh19p2pqr9mzam46n3h37f12yyax5"; + sha256 = "0g3snqmsbdl2jyf2h7q4ds333hizp0j89chca75xv10gv2lq6sa8"; type = "gem"; }; - version = "0.6.2"; + version = "0.7.3"; }; rails_multisite = { dependencies = ["activerecord" "railties"]; @@ -1567,10 +1666,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0p7g9gkcmw030zfqlw3k933i40j31wf3jh4bj1niihzk7slha97y"; + sha256 = "09lwi5pd0bisy45pv85l8w7wm5f7l5bxpva0y7bcvqdrk49ykm1g"; type = "gem"; }; - version = "2.5.0"; + version = "3.0.0"; }; railties = { dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"]; @@ -1578,10 +1677,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05b79r0ms8jrs91zml1190qfxmnmks90g0sd820ks9msyr8xdp7j"; + sha256 = "17r1pr8d467vh3zkciw4wmrcixj9zjrvd11nxn2z091bkzf66xq2"; type = "gem"; }; - version = "6.0.3.3"; + version = "6.1.3.2"; }; rainbow = { groups = ["default" "development" "test"]; @@ -1614,20 +1713,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0w6qza25bq1s825faaglkx1k6d59aiyjjk3yw3ip5sb463mhhai9"; + sha256 = "1iik52mf9ky4cgs38fp2m8r6skdkq1yz23vh18lk95fhbcxb6a67"; type = "gem"; }; - version = "13.0.1"; + version = "13.0.3"; }; rb-fsevent = { groups = ["development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1k9bsj7ni0g2fd7scyyy1sk9dy2pg9akniahab0iznvjmhn54h87"; + sha256 = "1qsx9c4jr11vr3a9s5j83avczx9qn9rjaf32gxpc2v451hvbc0is"; type = "gem"; }; - version = "0.10.4"; + version = "0.11.0"; }; rb-inotify = { dependencies = ["ffi"]; @@ -1681,20 +1780,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05i6s898z5w31z385cba1683pgg5nnmj4m686cbravg7j4pgbcgv"; + sha256 = "0k65fr7f8ciq7d9nwc5ziw1d32zsxilgmqdlj3359rz5jgb0f5y8"; type = "gem"; }; - version = "1.8.0"; + version = "1.8.1"; }; regexp_parser = { groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1racz3w9s4w0ls32bvjypfifk4a7qxngm2cv1rh16jyz0c1wjd70"; + sha256 = "0vg7imjnfcqjx7kw94ccj5r78j4g190cqzi1i59sh4a0l940b9cr"; type = "gem"; }; - version = "2.0.0"; + version = "2.1.1"; }; request_store = { dependencies = ["rack"]; @@ -1712,10 +1811,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3"; + sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53"; type = "gem"; }; - version = "3.2.4"; + version = "3.2.5"; }; rinku = { groups = ["default"]; @@ -1743,20 +1842,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06lw8b6wfshxd61xw98xyp1a0zsz6av4nls2c9fwb7q59wb05sci"; + sha256 = "073w0qgjydkqpsqsb9yr8qg0mhvwlzx6z53hqr2b5zifvb9wzh02"; type = "gem"; }; - version = "1.1.2"; + version = "2.0.0"; }; rqrcode_core = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "071jqmhk3hf0grsvi0jx5sl449pf82p40ls5b3likbq4q516zc0j"; + sha256 = "1djrfpzdy19c336nlzxdsm9qkrgqnm1himdawflsjsmxpq4j826c"; type = "gem"; }; - version = "0.1.2"; + version = "1.0.0"; }; rspec = { dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; @@ -1775,10 +1874,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0n2rdv8f26yw8c6asymc0mgddyr5d2b5n6mfvpd3n6lnpf1jdyv2"; + sha256 = "0wwnfhxxvrlxlk1a3yxlb82k2f9lm0yn0598x7lk8fksaz4vv6mc"; type = "gem"; }; - version = "3.10.0"; + version = "3.10.1"; }; rspec-expectations = { dependencies = ["diff-lcs" "rspec-support"]; @@ -1786,10 +1885,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0j37dvnvfbjwj8dqx27yfvz0frl7f2jc1abqg99h0ppriz9za6dc"; + sha256 = "1sz9bj4ri28adsklnh257pnbq4r5ayziw02qf67wry0kvzazbb17"; type = "gem"; }; - version = "3.10.0"; + version = "3.10.1"; }; rspec-html-matchers = { dependencies = ["nokogiri" "rspec"]; @@ -1808,10 +1907,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pz89y1522i6f8wzrg72ykmch3318ih87nlpl0y1ghsrs5hqymw3"; + sha256 = "1d13g6kipqqc9lmwz5b244pdwc97z15vcbnbq6n9rlf32bipdz4k"; type = "gem"; }; - version = "3.10.0"; + version = "3.10.2"; }; rspec-rails = { dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"]; @@ -1819,20 +1918,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0lzik01ziaskgpdpy8knffpw0fsy9151f5lfigyhb89wq4q45hfs"; + sha256 = "1pj2a9vrkp2xzlq0810q90sdc2zcqc7k92n57hxzhri2vcspy7n6"; type = "gem"; }; - version = "4.0.1"; + version = "5.0.1"; }; rspec-support = { groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0j0n28i6zci5j7gg370bdy87dy43hlwx6dw428d9kamf5a0i2klz"; + sha256 = "15j52parvb8cgvl6s0pbxi2ywxrv6x0764g222kz5flz0s4mycbl"; type = "gem"; }; - version = "3.10.0"; + version = "3.10.2"; }; rswag-specs = { dependencies = ["activesupport" "json-schema" "railties"]; @@ -1840,10 +1939,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0lyp2m76p960bvgy4xcz0dilp4w5lq2cwh8md5z7cwxdg8qsbr83"; + sha256 = "1dma3j5vfjhyclg8y0gsp44vs4wn9chf4jgfhc9r6ws018xrbxzd"; type = "gem"; }; - version = "2.3.1"; + version = "2.4.0"; }; rtlit = { groups = ["assets"]; @@ -1861,10 +1960,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1kvzhzhzcdd5bqwjilb0fpp51sqjniww2b0g713n0cvhnlgchn2y"; + sha256 = "0chjr6i0g7frbp7dhi4d83ppf7akkdaw7mcgcwbxd6a9mairafpp"; type = "gem"; }; - version = "1.4.2"; + version = "1.14.0"; }; rubocop-ast = { dependencies = ["parser"]; @@ -1872,10 +1971,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0q0kdi89ad7dd1xmzrdf5ikk32bllzr68hf4x8fd7azcv5jnch2l"; + sha256 = "0hx4im1a2qpiwipvsl3fma358ixjp4h0mhj56ichq15xrq709qlf"; type = "gem"; }; - version = "1.2.0"; + version = "1.5.0"; }; rubocop-discourse = { dependencies = ["rubocop" "rubocop-rspec"]; @@ -1894,10 +1993,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1gl7hdd9lq0si4gb510g33dbysmk3iydas2b0sbl5pwfkhv0k4g1"; + sha256 = "0r69qcwm74vsbp1s2gaqaf91kkrsn2mv4gk6rvfb2pxzmgyi0r9g"; type = "gem"; }; - version = "2.0.0"; + version = "2.3.0"; }; ruby-prof = { groups = ["development"]; @@ -1908,20 +2007,20 @@ }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1lm3wdxc6gjldkb5pdwwipapf84lgrvxck4h5kg8jdfd8arrpyis"; + sha256 = "1r3xalp91l07m0cwllcxjzg6nkviiqnxkcbgg5qnzsdji6rgy65m"; type = "gem"; }; - version = "1.4.2"; + version = "1.4.3"; }; ruby-progressbar = { groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1k77i0d4wsn23ggdd2msrcwfy0i376cglfqypkk2q77r2l3408zf"; + sha256 = "02nmaw7yx9kl7rbaan5pl8x5nn0y4j5954mzrkzi9i3dhsrps4nc"; type = "gem"; }; - version = "1.10.1"; + version = "1.11.0"; }; ruby-readability = { dependencies = ["guess_html_encoding" "nokogiri"]; @@ -1935,14 +2034,14 @@ version = "0.7.0"; }; ruby2_keywords = { - groups = ["default"]; + groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17pcc0wgvh3ikrkr7bm3nx0qhyiqwidd13ij0fa50k7gsbnr2p0l"; + sha256 = "15wfcqxyfgka05v2a7kpg64x57gl1y4xzvnc9lh60bqx5sf1iqrs"; type = "gem"; }; - version = "0.0.2"; + version = "0.0.4"; }; rubyzip = { groups = ["default"]; @@ -1960,10 +2059,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18m3zcf207gcrmghx288w3n2kpphc22lbmbc1wdx1nzcn8g2yddh"; + sha256 = "0xi2c9vbfjs0gk4i9y4mrlb3xx6g5lj22hlg5cx6hyc88ri7j4bc"; type = "gem"; }; - version = "5.2.1"; + version = "5.2.3"; }; sassc = { dependencies = ["ffi" "rake"]; @@ -2004,10 +2103,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1wd1bblxr4dfmrnh3j83kvfds6a7nak4ifq37ab0pg1kdi6iiw7l"; + sha256 = "1qi7gzli00mqlaq9an28m6xd323k7grgq19r6dqa2amjnnxy41ld"; type = "gem"; }; - version = "4.4.1"; + version = "4.5.1"; }; sidekiq = { dependencies = ["connection_pool" "rack" "redis"]; @@ -2015,10 +2114,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0mjxrxppv08a1hwqi8gpg6n168cxqhp7c2r2jwc4rbz9j5k41vcw"; + sha256 = "1ac57q6lnqg9h9lsj49wlwhgsfqfr83lgka1c1srk6g8vghhz662"; type = "gem"; }; - version = "6.1.2"; + version = "6.2.1"; }; simplecov = { dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"]; @@ -2026,10 +2125,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mm20dvd64w46l5k11il9z5sjgdpp0bknml76glcngvl2w03k3cb"; + sha256 = "1hrv046jll6ad1s964gsmcq4hvkr3zzr6jc7z1mns22mvfpbc3cr"; type = "gem"; }; - version = "0.20.0"; + version = "0.21.2"; }; simplecov-html = { groups = ["default" "test"]; @@ -2046,10 +2145,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0cl3j7p3b5q7sxsx1va63c8imc5x6g99xablz08qrmqhpi0d6g6j"; + sha256 = "19r15hyvh52jx7fmsrcflb58xh8l7l0zx4sxkh3hqzhq68y81pjl"; type = "gem"; }; - version = "0.1.2"; + version = "0.1.3"; }; sprockets = { dependencies = ["concurrent-ruby" "rack"]; @@ -2092,40 +2191,30 @@ }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "147rb66p3n062vc433afqhkd99iazvkrqnghxgh871r62yhha93f"; + sha256 = "06lz70k8c0r7fyxk1nc3idh14x7nvsr21ydm1bsmbj00jyhmfzsn"; type = "gem"; }; - version = "0.2.16"; + version = "0.2.17"; }; test-prof = { groups = ["test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1jfq8ylxpxanc3f0i6qb3nchawx9hj6qcqj6ccfyixrnvzswwjvi"; + sha256 = "15jbm45jf1i8s1g5kj6pcfp6ddq9qfyy31lx3pff8g2w2hkhpik4"; type = "gem"; }; - version = "0.12.2"; + version = "1.0.5"; }; thor = { groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1xbhkmyhlxwzshaqa7swy2bx6vd64mm0wrr8g3jywvxy7hg0cwkm"; + sha256 = "18yhlvmfya23cs3pvhr1qy38y41b6mhr5q9vwv5lrgk16wmf3jna"; type = "gem"; }; - version = "1.0.1"; - }; - thread_safe = { - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; - type = "gem"; - }; - version = "0.3.6"; + version = "1.1.0"; }; tilt = { groups = ["default"]; @@ -2138,15 +2227,15 @@ version = "2.0.10"; }; tzinfo = { - dependencies = ["thread_safe"]; + dependencies = ["concurrent-ruby"]; groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0skr6ih9cr3pwp8l84f0z7fy3q9kiq8hw0sg3zqw0hpbbyj05743"; + sha256 = "10qp5x7f9hvlc0psv9gsfbxg4a7s0485wsbq1kljkxq94in91l4z"; type = "gem"; }; - version = "1.2.8"; + version = "2.0.4"; }; uglifier = { dependencies = ["execjs"]; @@ -2185,10 +2274,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna"; + sha256 = "1bilbnc8j6jkb59lrf177i3p1pdyxll0n8400hzqr35vl3r3kv2m"; type = "gem"; }; - version = "1.7.0"; + version = "2.0.0"; }; unicorn = { dependencies = ["kgio" "raindrops"]; @@ -2202,20 +2291,30 @@ }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1qzdhbmab2w034wpdj5ippnyyvgqm8gpx9wbchb4zgs4i1mswzhv"; + sha256 = "1jcm85d7j7njfgims712svlgml32zjim6qwabm99645aj5laayln"; type = "gem"; }; - version = "5.7.0"; + version = "6.0.0"; }; uniform_notifier = { groups = ["default" "development"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0vm4aix8jmv42s1x58m3lj3xwkbxyn9qn6lzhhig0d1j8fv6j30c"; + sha256 = "1614dqnky0f9f1znj0lih8i184vfps86md93dw0kxrg3af9gnqb4"; type = "gem"; }; - version = "1.13.0"; + version = "1.14.2"; + }; + uri_template = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0p8qbxlpmg3msw0ihny6a3gsn0yvydx9ksh5knn8dnq06zhqyb1i"; + type = "gem"; + }; + version = "0.7.0"; }; webmock = { dependencies = ["addressable" "crack" "hashdiff"]; @@ -2223,10 +2322,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0wbdjagk2qpr76k3zw2gmkfp5aqlrc1a4qrpjv7sq1q39qbn8xax"; + sha256 = "038igpmkpmn0nw0k7s4db8x88af1nwcy7wzh9m9c9q4p74h7rii0"; type = "gem"; }; - version = "3.10.0"; + version = "3.12.2"; }; webpush = { dependencies = ["hkdf" "jwt"]; @@ -2264,9 +2363,9 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "12n0hiawqayzchi0yga5n19hi63b2snd49fv3n23n2i4pp05jzrp"; + sha256 = "1746czsjarixq0x05f7p3hpzi38ldg6wxnxxw74kbjzh1sdjgmpl"; type = "gem"; }; - version = "2.4.1"; + version = "2.4.2"; }; } diff --git a/pkgs/servers/web-apps/discourse/unicorn_logging_and_timeout.patch b/pkgs/servers/web-apps/discourse/unicorn_logging_and_timeout.patch index 1dbfed67919..d78b511f6ad 100644 --- a/pkgs/servers/web-apps/discourse/unicorn_logging_and_timeout.patch +++ b/pkgs/servers/web-apps/discourse/unicorn_logging_and_timeout.patch @@ -1,10 +1,10 @@ diff --git a/config/unicorn.conf.rb b/config/unicorn.conf.rb -index 373e235b3f..57d4d7a55b 100644 +index ffcafcb618..31ba691983 100644 --- a/config/unicorn.conf.rb +++ b/config/unicorn.conf.rb @@ -27,18 +27,10 @@ pid (ENV["UNICORN_PID_PATH"] || "#{discourse_path}/tmp/pids/unicorn.pid") - if ENV["RAILS_ENV"] == "development" || !ENV["RAILS_ENV"] + if ENV["RAILS_ENV"] != "production" logger Logger.new($stdout) - # we want a longer timeout in dev cause first request can be really slow - timeout (ENV["UNICORN_TIMEOUT"] && ENV["UNICORN_TIMEOUT"].to_i || 60)