diff --git a/pkgs/servers/web-apps/discourse/assets_esbuild_from_path.patch b/pkgs/servers/web-apps/discourse/assets_esbuild_from_path.patch new file mode 100644 index 000000000000..fd40d27ca8b5 --- /dev/null +++ b/pkgs/servers/web-apps/discourse/assets_esbuild_from_path.patch @@ -0,0 +1,13 @@ +diff --git a/lib/discourse_js_processor.rb b/lib/discourse_js_processor.rb +index 3fee4259af9..53cc3107f46 100644 +--- a/lib/discourse_js_processor.rb ++++ b/lib/discourse_js_processor.rb +@@ -111,8 +111,6 @@ class DiscourseJsProcessor + + def self.generate_js_processor + Discourse::Utils.execute_command( +- "yarn", +- "--silent", + "esbuild", + "--log-level=warning", + "--bundle", diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix index 58eabadfb6e2..893404a6084f 100644 --- a/pkgs/servers/web-apps/discourse/default.nix +++ b/pkgs/servers/web-apps/discourse/default.nix @@ -13,6 +13,7 @@ , gzip , gnutar , git +, esbuild , cacert , util-linux , gawk @@ -46,13 +47,13 @@ }@args: let - version = "3.1.0"; + version = "3.2.0.beta1"; src = fetchFromGitHub { owner = "discourse"; repo = "discourse"; rev = "v${version}"; - sha256 = "sha256-Iv7VSnK8nZDpmIwIRPedSWlftABKuMOQ4MXDGpjuWrY="; + sha256 = "sha256-HVjt5rsLSuyOaQxkbiTrsYsSXj3oSWjke98QVp+tEqk="; }; ruby = ruby_3_2; @@ -65,6 +66,7 @@ let gnutar git brotli + esbuild # Misc required system utils which @@ -202,7 +204,7 @@ let yarnOfflineCache = fetchYarnDeps { yarnLock = src + "/app/assets/javascripts/yarn.lock"; - sha256 = "0sclrv3303dgg3r08dwhd1yvi3pvlnvnikn300vjsh6c71fnzhnj"; + sha256 = "070h66zp8kmsigbrkh5d3jzbzvllzhbx0fa2yzx5lbpgnjhih3p2"; }; nativeBuildInputs = runtimeDeps ++ [ @@ -215,6 +217,7 @@ let nodejs_18 jq moreutils + esbuild ]; outputs = [ "out" "javascripts" ]; @@ -238,6 +241,12 @@ let # hasn't been `patchShebangs`-ed yet. So instead we just use # `patch-package` from `nativeBuildInputs`. ./asserts_patch-package_from_path.patch + + # `lib/discourse_js_processor.rb` + # tries to call `../node_modules/.bin/esbuild`, which + # hasn't been `patchShebangs`-ed yet. So instead we just use + # `esbuild` from `nativeBuildInputs`. + ./assets_esbuild_from_path.patch ]; # We have to set up an environment that is close enough to @@ -351,6 +360,12 @@ let # Make sure the notification email setting applies ./notification_email.patch + + # `lib/discourse_js_processor.rb` + # tries to call `../node_modules/.bin/esbuild`, which + # hasn't been `patchShebangs`-ed yet. So instead we just use + # `esbuild` from `nativeBuildInputs`. + ./assets_esbuild_from_path.patch ]; postPatch = '' diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile index 647aefea8ada..649c1df5815a 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile +++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile @@ -18,7 +18,7 @@ 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 - rails_version = "7.0.5.1" + rails_version = "7.0.7" gem "actionmailer", rails_version gem "actionpack", rails_version gem "actionview", rails_version @@ -141,10 +141,10 @@ group :test do gem "fakeweb", require: false gem "minitest", require: false gem "simplecov", require: false - gem "selenium-webdriver", require: false + gem "selenium-webdriver", "~> 4.11", require: false gem "test-prof" - gem "webdrivers", require: false gem "rails-dom-testing", require: false + gem "minio_runner", require: false end group :test, :development do @@ -259,6 +259,11 @@ if ENV["IMPORT"] == "1" gem "parallel", require: false end +if ENV["GENERIC_IMPORT"] == "1" + gem "sqlite3" + gem "redcarpet" +end + gem "web-push" gem "colored2", require: false gem "maxminddb" diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock index 0b93bf23d097..685bdbd8a5e2 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock +++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock @@ -9,7 +9,7 @@ GIT GIT remote: https://github.com/thoughtbot/shoulda-matchers.git - revision: 783a90554053002017510285bc736099b2749c22 + revision: 68f76ce13e9892339f90c4928339dfd769cfa613 specs: shoulda-matchers (5.3.0) activesupport (>= 5.2.0) @@ -17,47 +17,47 @@ GIT GEM remote: https://rubygems.org/ specs: - actionmailer (7.0.5.1) - actionpack (= 7.0.5.1) - actionview (= 7.0.5.1) - activejob (= 7.0.5.1) - activesupport (= 7.0.5.1) + actionmailer (7.0.7) + actionpack (= 7.0.7) + actionview (= 7.0.7) + activejob (= 7.0.7) + activesupport (= 7.0.7) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.0) - actionpack (7.0.5.1) - actionview (= 7.0.5.1) - activesupport (= 7.0.5.1) + actionpack (7.0.7) + actionview (= 7.0.7) + activesupport (= 7.0.7) rack (~> 2.0, >= 2.2.4) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actionview (7.0.5.1) - activesupport (= 7.0.5.1) + actionview (7.0.7) + activesupport (= 7.0.7) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - actionview_precompiler (0.2.3) + actionview_precompiler (0.3.0) actionview (>= 6.0.a) active_model_serializers (0.8.4) activemodel (>= 3.0) - activejob (7.0.5.1) - activesupport (= 7.0.5.1) + activejob (7.0.7) + activesupport (= 7.0.7) globalid (>= 0.3.6) - activemodel (7.0.5.1) - activesupport (= 7.0.5.1) - activerecord (7.0.5.1) - activemodel (= 7.0.5.1) - activesupport (= 7.0.5.1) - activesupport (7.0.5.1) + activemodel (7.0.7) + activesupport (= 7.0.7) + activerecord (7.0.7) + activemodel (= 7.0.7) + activesupport (= 7.0.7) + activesupport (7.0.7) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) - addressable (2.8.4) + addressable (2.8.5) public_suffix (>= 2.0.2, < 6.0) annotate (3.2.0) activerecord (>= 3.2, < 8.0) @@ -82,6 +82,7 @@ GEM aws-sigv4 (~> 1.1) aws-sigv4 (1.5.0) aws-eventstream (~> 1, >= 1.0.2) + base64 (0.1.1) better_errors (2.10.1) erubi (>= 1.0.0) rack (>= 0.9.0) @@ -109,7 +110,7 @@ GEM cgi (0.3.6) chunky_png (1.4.0) coderay (1.1.3) - colored2 (3.1.2) + colored2 (4.0.0) concurrent-ruby (1.2.2) connection_pool (2.4.1) cose (1.3.0) @@ -119,7 +120,7 @@ GEM crack (0.4.5) rexml crass (1.0.6) - css_parser (1.14.0) + css_parser (1.16.0) addressable dartsass-ruby (3.0.1) sass-embedded (~> 1.54) @@ -144,8 +145,8 @@ GEM docile (1.4.0) email_reply_trimmer (0.1.13) erubi (1.12.0) - excon (0.100.0) - execjs (2.8.1) + excon (0.102.0) + execjs (2.9.0) exifr (1.4.0) fabrication (2.30.0) faker (2.23.0) @@ -163,9 +164,9 @@ GEM ffi (1.15.5) fspath (3.1.2) gc_tracer (1.5.1) - globalid (1.1.0) - activesupport (>= 5.0) - google-protobuf (3.23.4) + globalid (1.2.1) + activesupport (>= 6.1) + google-protobuf (3.24.3) guess_html_encoding (0.0.11) hana (1.3.7) hashdiff (1.0.1) @@ -188,7 +189,7 @@ GEM json (2.6.3) json-schema (3.0.0) addressable (>= 2.8) - json_schemer (1.0.3) + json_schemer (2.0.0) hana (~> 1.3) regexp_parser (~> 2.0) simpleidn (~> 0.2) @@ -222,19 +223,20 @@ GEM matrix (0.4.2) maxminddb (0.1.22) memory_profiler (1.0.1) - message_bus (4.3.7) + message_bus (4.3.8) rack (>= 1.1.3) method_source (1.0.0) - mini_mime (1.1.2) + mini_mime (1.1.5) mini_portile2 (2.8.4) mini_racer (0.8.0) libv8-node (~> 18.16.0.0) mini_scheduler (0.16.0) sidekiq (>= 4.2.3, < 7.0) - mini_sql (1.4.0) + mini_sql (1.5.0) mini_suffix (0.3.3) ffi (~> 1.9) - minitest (5.19.0) + minio_runner (0.1.1) + minitest (5.20.0) mocha (2.1.0) ruby2_keywords (>= 0.0.5) msgpack (1.7.2) @@ -253,7 +255,7 @@ GEM net-smtp (0.3.3) net-protocol nio4r (2.5.9) - nokogiri (1.15.3) + nokogiri (1.15.4) mini_portile2 (~> 2.8.2) racc (~> 1.4) oauth (1.1.0) @@ -268,7 +270,7 @@ GEM multi_json (~> 1.3) multi_xml (~> 0.5) rack (>= 1.2, < 4) - oj (3.15.1) + oj (3.16.1) omniauth (1.9.2) hashie (>= 3.4.6) rack (>= 1.6.2, < 3) @@ -296,7 +298,7 @@ GEM openssl (> 2.0) optimist (3.1.0) parallel (1.23.0) - parallel_tests (4.2.1) + parallel_tests (4.2.2) parallel parser (3.2.2.3) ast (~> 2.4.1) @@ -313,17 +315,17 @@ GEM pry-rails (0.3.9) pry (>= 0.10.4) public_suffix (5.0.3) - puma (6.3.0) + puma (6.3.1) nio4r (~> 2.0) racc (1.7.1) rack (2.2.8) - rack-mini-profiler (3.1.0) + rack-mini-profiler (3.1.1) rack (>= 1.2.0) - rack-protection (3.0.6) - rack + rack-protection (3.1.0) + rack (~> 2.2, >= 2.2.4) rack-test (2.1.0) rack (>= 1.3) - rails-dom-testing (2.1.1) + rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) @@ -337,9 +339,9 @@ GEM rails_multisite (5.0.0) activerecord (>= 6.0) railties (>= 6.0) - railties (7.0.5.1) - actionpack (= 7.0.5.1) - activesupport (= 7.0.5.1) + railties (7.0.7) + actionpack (= 7.0.7) + activesupport (= 7.0.7) method_source rake (>= 12.2) thor (~> 1.0) @@ -363,7 +365,7 @@ GEM rack (>= 1.4) rexml (3.2.6) rinku (2.0.6) - rotp (6.2.2) + rotp (6.3.0) rouge (4.1.3) rqrcode (2.2.0) chunky_png (~> 1.0) @@ -393,7 +395,7 @@ GEM rspec-mocks (~> 3.12) rspec-support (~> 3.12) rspec-support (3.12.1) - rss (0.2.9) + rss (0.3.0) rexml rswag-specs (2.10.1) activesupport (>= 3.1, < 7.1) @@ -402,7 +404,8 @@ GEM rspec-core (>= 2.14) rtlcss (0.2.1) mini_racer (>= 0.6.3) - rubocop (1.55.1) + rubocop (1.56.3) + base64 (~> 0.1.1) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) @@ -422,7 +425,7 @@ GEM rubocop-rspec (>= 2.0.0) rubocop-factory_bot (2.23.1) rubocop (~> 1.33) - rubocop-rspec (2.23.0) + rubocop-rspec (2.23.2) rubocop (~> 1.33) rubocop-capybara (~> 2.17) rubocop-factory_bot (~> 2.22) @@ -436,10 +439,10 @@ GEM sanitize (6.0.2) crass (~> 1.0.2) nokogiri (>= 1.12.0) - sass-embedded (1.64.1) + sass-embedded (1.66.1) google-protobuf (~> 3.23) rake (>= 13.0.0) - selenium-webdriver (4.10.0) + selenium-webdriver (4.12.0) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) @@ -462,7 +465,7 @@ GEM actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) - sshkey (2.0.0) + sshkey (3.0.0) stackprof (0.2.25) syntax_tree (6.1.1) prettier_print (>= 1.2.0) @@ -491,11 +494,7 @@ GEM hkdf (~> 1.0) jwt (~> 2.0) openssl (~> 3.0) - webdrivers (5.3.1) - nokogiri (~> 1.6) - rubyzip (>= 1.3.0) - selenium-webdriver (~> 4.0, < 4.11) - webmock (3.18.1) + webmock (3.19.1) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) @@ -504,20 +503,20 @@ GEM nokogiri (~> 1.8) yaml-lint (0.1.2) yard (0.9.34) - zeitwerk (2.6.10) + zeitwerk (2.6.11) PLATFORMS ruby DEPENDENCIES - actionmailer (= 7.0.5.1) - actionpack (= 7.0.5.1) - actionview (= 7.0.5.1) + actionmailer (= 7.0.7) + actionpack (= 7.0.7) + actionview (= 7.0.7) actionview_precompiler active_model_serializers (~> 0.8.3) - activemodel (= 7.0.5.1) - activerecord (= 7.0.5.1) - activesupport (= 7.0.5.1) + activemodel (= 7.0.7) + activerecord (= 7.0.7) + activesupport (= 7.0.7) addressable annotate aws-sdk-s3 @@ -577,6 +576,7 @@ DEPENDENCIES mini_scheduler mini_sql mini_suffix + minio_runner minitest mocha multi_json @@ -604,7 +604,7 @@ DEPENDENCIES rails-dom-testing rails_failover rails_multisite - railties (= 7.0.5.1) + railties (= 7.0.7) rake rb-fsevent rbtrace @@ -625,7 +625,7 @@ DEPENDENCIES ruby-readability rubyzip sanitize - selenium-webdriver + selenium-webdriver (~> 4.11) shoulda-matchers! sidekiq simplecov @@ -642,10 +642,9 @@ DEPENDENCIES unf unicorn web-push - webdrivers webmock yaml-lint yard BUNDLED WITH - 2.4.13 + 2.4.17 diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix index fc7b71f0c030..350bf7abba20 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix +++ b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix @@ -5,10 +5,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pz26qpdx1xncpy5h8k4afw0npnh6wn580yvwv2cf857zrzvr1pm"; + sha256 = "15ni57icsw1ilz5srlasff4h31h2ckgmxbdd8jnbniscvz4x2sd0"; type = "gem"; }; - version = "7.0.5.1"; + version = "7.0.7"; }; actionpack = { dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; @@ -16,10 +16,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "003y7cdxwzdqx8hgw02kf1b5mp8qr8syx07f35sk3ghhqxp39ksy"; + sha256 = "150sjsk12vzj9aswjy3cz124l8n8sn52bhd0wwly73rwc1a750sg"; type = "gem"; }; - version = "7.0.5.1"; + version = "7.0.7"; }; actionview = { dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; @@ -27,10 +27,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "11ihpqcvz3f38ka85zdjkdcvgdbcan81dbr0y9bi784jn1v5ggwa"; + sha256 = "1nn21k5psxdv2fkwxs679lr0b8n1nzli2ks343cx4azn6snp8b8a"; type = "gem"; }; - version = "7.0.5.1"; + version = "7.0.7"; }; actionview_precompiler = { dependencies = ["actionview"]; @@ -38,10 +38,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07dx8vkwig8han4zccs0chahcf9ibd4abzx9n56qah8zak5cyrhd"; + sha256 = "07jyr2h87ha6k2y965rs4ywq142ddkfkhbmp0r44xg4wnffr8jbl"; type = "gem"; }; - version = "0.2.3"; + version = "0.3.0"; }; active_model_serializers = { dependencies = ["activemodel"]; @@ -60,10 +60,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "11wkxf16zdb9gsnc94x4hyj89wjks06gnk4fbl7gp5vkbl744n83"; + sha256 = "0s5r5z9jm57jjabh8w2823rpjd1agn8z2rlqgyyn4s9pbbhgalzy"; type = "gem"; }; - version = "7.0.5.1"; + version = "7.0.7"; }; activemodel = { dependencies = ["activesupport"]; @@ -71,10 +71,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "12f89hxs4s26ggsg4bnz9qxlcsclcgx9gdsl8dni5jc0gk47h14y"; + sha256 = "1rspbw4yxx9fh2wyl2wvgwadwapfyx7j9zlirpd4pmk31wkhl4hf"; type = "gem"; }; - version = "7.0.5.1"; + version = "7.0.7"; }; activerecord = { dependencies = ["activemodel" "activesupport"]; @@ -82,10 +82,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1sfdq2slmsc0ygncl36dq1lmjww1y3b42izrnn62cyisiag28796"; + sha256 = "1ygg145wxlgm12b1x5r0rsk2aa6i2wjz7bgb21j8vmyqyfl272cy"; type = "gem"; }; - version = "7.0.5.1"; + version = "7.0.7"; }; activesupport = { dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; @@ -93,10 +93,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m1sa6djlm9cz6mz3lcbqqahvm6qj75dmq3phpn2ysyxnlz2hr0c"; + sha256 = "1wzbnv3hns0yiwbgh1m3q5j0d7b0k52nlpwirhxyv3l0ycmljfr9"; type = "gem"; }; - version = "7.0.5.1"; + version = "7.0.7"; }; addressable = { dependencies = ["public_suffix"]; @@ -104,10 +104,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "15s8van7r2ad3dq6i03l3z4hqnvxcq75a3h72kxvf9an53sqma20"; + sha256 = "05r1fwy487klqkya7vzia8hnklcxy4vr92m9dmni3prfwk6zpw33"; type = "gem"; }; - version = "2.8.4"; + version = "2.8.5"; }; annotate = { dependencies = ["activerecord" "rake"]; @@ -205,6 +205,16 @@ }; version = "1.5.0"; }; + base64 = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cydk9p2cv25qysm0sn2pb97fcpz1isa7n3c8xm1gd99li8x6x8c"; + type = "gem"; + }; + version = "0.1.1"; + }; better_errors = { dependencies = ["erubi" "rack" "rouge"]; groups = ["development"]; @@ -351,10 +361,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i"; + sha256 = "1zj06gjqwykgzxmbkp2hmg3wv5kv8zz5d77acxipzcgicdjgvfan"; type = "gem"; }; - version = "3.1.2"; + version = "4.0.0"; }; concurrent-ruby = { groups = ["default" "development" "test"]; @@ -424,10 +434,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04q1vin8slr3k8mp76qz0wqgap6f9kdsbryvgfq9fljhrm463kpj"; + sha256 = "18mii41bbl106rn940ah8v3xclj4yrxxa0bwlwp546244n9b83zp"; type = "gem"; }; - version = "1.14.0"; + version = "1.16.0"; }; dartsass-ruby = { dependencies = ["sass-embedded"]; @@ -572,20 +582,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08r6qgbpkxxsihjmlspk3l1sr69q5hx35p1l4wp7rmkbzys89867"; + sha256 = "0mbkyyadz9vw7mzixi9dks6i6iw033yn2hzwfvnfdvgqq6ywqs4g"; type = "gem"; }; - version = "0.100.0"; + version = "0.102.0"; }; execjs = { groups = ["assets" "default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "121h6af4i6wr3wxvv84y53jcyw2sk71j5wsncm6wq6yqrwcrk4vd"; + sha256 = "1a4dhqclx0n4dc5riiff1nkwfinaf5an1dxjywmlwa9wm57r9q9p"; type = "gem"; }; - version = "2.8.1"; + version = "2.9.0"; }; exifr = { groups = ["default"]; @@ -746,20 +756,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0kqm5ndzaybpnpxqiqkc41k4ksyxl41ln8qqr6kb130cdxsf2dxk"; + sha256 = "1sbw6b66r7cwdx3jhs46s4lr991969hvigkjpbdl7y3i31qpdgvh"; type = "gem"; }; - version = "1.1.0"; + version = "1.2.1"; }; google-protobuf = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1dq5lgkxhagqr8zjrwr10zi8rldbg2vhis2m5q86v5q9415ylfgj"; + sha256 = "0pcl4x4cw3snl5xzs99lm82m9xkfs8vm1a8dfrc34pwb77mwrwv3"; type = "gem"; }; - version = "3.23.4"; + version = "3.24.3"; }; guess_html_encoding = { groups = ["default"]; @@ -920,10 +930,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mbf7v8bzmxyk413y16drnww68bgyzknlqmaqvj785iakja7in7x"; + sha256 = "0spgxaxvsl3qvyj9qb95gd5hvy2pnp98hbgp8nfw6s69yyw0xmgj"; type = "gem"; }; - version = "1.0.3"; + version = "2.0.0"; }; jwt = { groups = ["default"]; @@ -1122,10 +1132,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ppqgch8xxccpmccdx37lb00112ayqjb80zz5m3w3298vdzb1kn4"; + sha256 = "15xqp7pnicjh2868fsc6fmxw8cw32bpiaqpc5bz8cwdib09ns3qk"; type = "gem"; }; - version = "4.3.7"; + version = "4.3.8"; }; method_source = { groups = ["default" "development" "test"]; @@ -1138,14 +1148,14 @@ version = "1.0.0"; }; mini_mime = { - groups = ["default"]; + groups = ["default" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0lbim375gw2dk6383qirz13hgdmxlan0vc5da2l072j3qw6fqjm5"; + sha256 = "1vycif7pjzkr29mfk4dlqv3disc5dn0va04lkwajlpr1wkibg0c6"; type = "gem"; }; - version = "1.1.2"; + version = "1.1.5"; }; mini_portile2 = { groups = ["default" "development" "test"]; @@ -1184,10 +1194,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1dgwyyya821sfj4f92sljsxmmnak2yrzsbckvy82001zgq1n3b41"; + sha256 = "0yrxjmwhfnvcwbj9vscyq0z67sq09zl8qhmzgakq2ywy4yvcpwgg"; type = "gem"; }; - version = "1.4.0"; + version = "1.5.0"; }; mini_suffix = { dependencies = ["ffi"]; @@ -1200,15 +1210,25 @@ }; version = "0.3.3"; }; + minio_runner = { + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11rwvbqichq5jipgbr5x6s609485ga7vxc32r3h9vx342gs6nrzy"; + type = "gem"; + }; + version = "0.1.1"; + }; minitest = { groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jnpsbb2dbcs95p4is4431l2pw1l5pn7dfg3vkgb4ga464j0c5l6"; + sha256 = "0bkmfi9mb49m0fkdhl2g38i3xxa02d411gg0m8x0gvbwfmmg5ym3"; type = "gem"; }; - version = "5.19.0"; + version = "5.20.0"; }; mocha = { dependencies = ["ruby2_keywords"]; @@ -1336,10 +1356,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1jw8a20a9k05fpz3q24im19b97idss3179z76yn5scc5b8lk2rl7"; + sha256 = "0k9w2z0953mnjrsji74cshqqp08q7m1r6zhadw1w0g34xzjh3a74"; type = "gem"; }; - version = "1.15.3"; + version = "1.15.4"; }; oauth = { dependencies = ["oauth-tty" "snaky_hash" "version_gem"]; @@ -1379,10 +1399,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vzcrsv6w5k90l75gy83dlfkv2z9pvnr82mz1nhnijmcg3rgqaz8"; + sha256 = "0m4vsd6i093kmyz9gckvzpnws997laldaiaf86hg5lza1ir82x7n"; type = "gem"; }; - version = "3.15.1"; + version = "3.16.1"; }; omniauth = { dependencies = ["hashie" "rack"]; @@ -1512,10 +1532,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04y02j0kyhfww41dnnjawn2gpp24smq0x21dvaa5z6pnq0fvmahv"; + sha256 = "1pa50my9sgh4wh9jah1qxjd33wsp1ahv29vj2q1biz434p67vh5p"; type = "gem"; }; - version = "4.2.1"; + version = "4.2.2"; }; parser = { dependencies = ["ast" "racc"]; @@ -1607,10 +1627,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1v7fmv0n4bhdcwh60dgza44iqai5pg34f5pzm4vh4i5fwx7mpqxh"; + sha256 = "1x4dwx2shx0p7lsms97r85r7ji7zv57bjy3i1kmcpxc8bxvrr67c"; type = "gem"; }; - version = "6.3.0"; + version = "6.3.1"; }; racc = { groups = ["default" "development" "test"]; @@ -1642,10 +1662,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13dhpp1iljhqp9c8akmp6gjhx47qf83w12ns4bif26ldkignpam1"; + sha256 = "18vj7q740f7ffj677i258abryj97w0a6g3d5859y0lgypm5big1v"; type = "gem"; }; - version = "3.1.0"; + version = "3.1.1"; }; rack-protection = { dependencies = ["rack"]; @@ -1653,10 +1673,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1kpm67az1wxlg76h620in2r7agfyhv177ps268j5ggsanzddzih8"; + sha256 = "0xsz78hccgza144n37bfisdkzpr2c8m0xl6rnlzgxdbsm1zrkg7r"; type = "gem"; }; - version = "3.0.6"; + version = "3.1.0"; }; rack-test = { dependencies = ["rack"]; @@ -1675,10 +1695,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17g05y7q7934z0ib4aph8h71c2qwjmlakkm7nb2ab45q0aqkfgjd"; + sha256 = "0fx9dx1ag0s1lr6lfr34lbx5i1bvn3bhyf3w3mx6h7yz90p725g5"; type = "gem"; }; - version = "2.1.1"; + version = "2.2.0"; }; rails-html-sanitizer = { dependencies = ["loofah" "nokogiri"]; @@ -1719,10 +1739,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1z4lqqbd4i5izsg97mx5yf3gj7y5d07wgvad0jzjghjg12pf142i"; + sha256 = "0in2b84qqmfnigx0li9bgi6l4knmgbj3a29fzm1zzb5jnv4r1gbr"; type = "gem"; }; - version = "7.0.5.1"; + version = "7.0.7"; }; rainbow = { groups = ["default" "development" "test"]; @@ -1873,10 +1893,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "10mmzc85y7andsich586ndykw678qn1ns2wpjxrg0sc0gr4w3pig"; + sha256 = "0m48hv6wpmmm6cjr6q92q78h1i610riml19k5h1dil2yws3h1m3m"; type = "gem"; }; - version = "6.2.2"; + version = "6.3.0"; }; rouge = { groups = ["default" "development"]; @@ -1995,10 +2015,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1b1zx07kr64kkpm4lssd4r1a1qyr829ppmfl85i4adcvx9mqfid0"; + sha256 = "1wv27axi39hhr0nmaffdl5bdjqiafcvp9xhfgnsgfczsblja50sn"; type = "gem"; }; - version = "0.2.9"; + version = "0.3.0"; }; rswag-specs = { dependencies = ["activesupport" "json-schema" "railties" "rspec-core"]; @@ -2023,15 +2043,15 @@ version = "0.2.1"; }; rubocop = { - dependencies = ["json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"]; + dependencies = ["base64" "json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"]; groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0s9p5qaqq68h5s3ys8xlk9swccma7arjif1w58987n6gicrsprrm"; + sha256 = "1i3571gchdj3c28znr5kisj0fkppy57208g9j1kv23rhk3p5q5p2"; type = "gem"; }; - version = "1.55.1"; + version = "1.56.3"; }; rubocop-ast = { dependencies = ["parser"]; @@ -2083,10 +2103,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0l364y00bw1zcs3grdxcxpn48vfrjds2khsiaxjqq3r9grvbprfy"; + sha256 = "0ylwy4afnxhbrvlaf8an9nrizj78axnzggiyfcp8v531cv8six5f"; type = "gem"; }; - version = "2.23.0"; + version = "2.23.2"; }; ruby-prof = { groups = ["development"]; @@ -2160,10 +2180,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "15k44qn8vk8ap8khkmpsiw40pywm9pkx4a5yhm8vfi2rgqci9k90"; + sha256 = "038fzkbq5sw9lf947akhpsvdm14q6jfzl2yn87s8958h42sn0xjy"; type = "gem"; }; - version = "1.64.1"; + version = "1.66.1"; }; selenium-webdriver = { dependencies = ["rexml" "rubyzip" "websocket"]; @@ -2171,10 +2191,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hwxxvx6j95ln82pjmrgyzg6qmf511dkcp5q79n6m5m8z4way8m3"; + sha256 = "0jwll13m7bqph4lgl75m7vwd175k657znwa7qn9qkf5dcxdjkcjs"; type = "gem"; }; - version = "4.10.0"; + version = "4.12.0"; }; shoulda-matchers = { dependencies = ["activesupport"]; @@ -2182,8 +2202,8 @@ platforms = []; source = { fetchSubmodules = false; - rev = "783a90554053002017510285bc736099b2749c22"; - sha256 = "10rw7ksi462fxamap6kimdy7hpdgx8477r6zs1kgrbakx24dm3wx"; + rev = "68f76ce13e9892339f90c4928339dfd769cfa613"; + sha256 = "08kbcdfplmbdhgq0x6lk2lpwrlgijrfq6vhl5hkmxg9v9gpgbbrj"; type = "git"; url = "https://github.com/thoughtbot/shoulda-matchers.git"; }; @@ -2282,10 +2302,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "03bkn55qsng484iqwz2lmm6rkimj01vsvhwk661s3lnmpkl65lbp"; + sha256 = "1k8i5pzjhcnyf0bhcyn5iixpfp4pz0556rcxwpglh6p0sr8s6nv5"; type = "gem"; }; - version = "2.0.0"; + version = "3.0.0"; }; stackprof = { groups = ["default"]; @@ -2484,27 +2504,16 @@ }; version = "3.0.0"; }; - webdrivers = { - dependencies = ["nokogiri" "rubyzip" "selenium-webdriver"]; - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "19aaxhawzv7315rh285gd1fg6m6wbrn3w3kilyibci1wphgm7mfp"; - type = "gem"; - }; - version = "5.3.1"; - }; webmock = { dependencies = ["addressable" "crack" "hashdiff"]; groups = ["test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1myj44wvbbqvv18ragv3ihl0h61acgnfwrnj3lccdgp49bgmbjal"; + sha256 = "0vfispr7wd2p1fs9ckn1qnby1yyp4i1dl7qz8n482iw977iyxrza"; type = "gem"; }; - version = "3.18.1"; + version = "3.19.1"; }; websocket = { groups = ["default" "test"]; @@ -2552,9 +2561,9 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06vf6y5ai20ry3b1h9cl7vsdj6i5valq172zdxpnfhj5zvlp104j"; + sha256 = "1mwdd445w63khz13hpv17m2br5xngyjl3jdj08xizjbm78i2zrxd"; type = "gem"; }; - version = "2.6.10"; + version = "2.6.11"; }; }