diff --git a/nixos/modules/services/web-apps/discourse.nix b/nixos/modules/services/web-apps/discourse.nix index a5b74025318c..0d08ed6f168c 100644 --- a/nixos/modules/services/web-apps/discourse.nix +++ b/nixos/modules/services/web-apps/discourse.nix @@ -17,7 +17,10 @@ let upstreamPostgresqlVersion = lib.getVersion pkgs.postgresql_15; postgresqlPackage = - if config.services.postgresql.enable then config.services.postgresql.package else pkgs.postgresql; + if config.services.postgresql.enable then + config.services.postgresql.finalPackage + else + pkgs.postgresql; postgresqlVersion = lib.getVersion postgresqlPackage; @@ -540,7 +543,7 @@ in assertions = [ { assertion = (cfg.database.host != null) -> (cfg.database.passwordFile != null); - message = "When services.gitlab.database.host is customized, services.discourse.database.passwordFile must be set!"; + message = "When services.discourse.database.host is customized, services.discourse.database.passwordFile must be set!"; } { assertion = cfg.hostname != ""; @@ -694,6 +697,9 @@ in services.postgresql = lib.mkIf databaseActuallyCreateLocally { enable = true; + extensions = ps: [ + ps.pgvector + ]; ensureUsers = [ { name = "discourse"; } ]; }; @@ -719,6 +725,7 @@ in psql -tAc "SELECT 1 FROM pg_database WHERE datname = 'discourse'" | grep -q 1 || psql -tAc 'CREATE DATABASE "discourse" OWNER "discourse"' psql '${cfg.database.name}' -tAc "CREATE EXTENSION IF NOT EXISTS pg_trgm" psql '${cfg.database.name}' -tAc "CREATE EXTENSION IF NOT EXISTS hstore" + psql '${cfg.database.name}' -tAc "CREATE EXTENSION IF NOT EXISTS vector" ''; serviceConfig = { @@ -805,8 +812,11 @@ in cp -r ${cfg.package}/share/discourse/config.dist/* /run/discourse/config/ cp -r ${cfg.package}/share/discourse/public.dist/* /run/discourse/public/ + cp -r ${cfg.package.assets.generated}/* /run/discourse/assets-generated/ ln -sf /var/lib/discourse/uploads /run/discourse/public/uploads ln -sf /var/lib/discourse/backups /run/discourse/public/backups + # discourse creates images in this folder, and by default it only has u=rx + chmod 750 /run/discourse/public/images ( umask u=rwx,g=,o= @@ -839,6 +849,7 @@ in "assets/javascripts/plugins" "public" "sockets" + "assets-generated" ]; RuntimeDirectoryMode = "0750"; StateDirectory = map (p: "discourse/" + p) [ diff --git a/nixos/tests/discourse.nix b/nixos/tests/discourse.nix index e4b15cd10076..fdf427291497 100644 --- a/nixos/tests/discourse.nix +++ b/nixos/tests/discourse.nix @@ -29,7 +29,7 @@ in nodes.discourse = { nodes, ... }: { - virtualisation.memorySize = 2048; + virtualisation.memorySize = 4096; virtualisation.cores = 4; virtualisation.useNixStoreImage = true; virtualisation.writableStore = false; diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix index a16f259a5c37..ce34806e2a80 100644 --- a/pkgs/servers/web-apps/discourse/default.nix +++ b/pkgs/servers/web-apps/discourse/default.nix @@ -10,6 +10,7 @@ callPackage, nixosTests, + defaultGemConfig, ruby_3_3, gzip, gnutar, @@ -34,6 +35,10 @@ procps, rsync, icu, + rustPlatform, + buildRubyGem, + rustc, + cargo, pnpm_9, svgo, nodejs, @@ -46,13 +51,13 @@ }: let - version = "3.4.7"; + version = "3.5.1"; src = fetchFromGitHub { owner = "discourse"; repo = "discourse"; rev = "v${version}"; - sha256 = "sha256-vidv5aa2r1YOcnvkqrk7ttuIk1bN5Ct7kMANl8kpEm0="; + sha256 = "sha256-hMC2YZUxe/zoL2oSMVlWqqiP+UDcJMPVsGzHdh8nwjc="; }; ruby = ruby_3_3; @@ -168,54 +173,116 @@ let name = "discourse-ruby-env-${version}"; inherit version ruby; gemdir = ./rubyEnv; - gemset = - let - gems = import ./rubyEnv/gemset.nix; - in - gems - // { - mini_racer = gems.mini_racer // { - buildInputs = [ icu ]; + gemset = import ./rubyEnv/gemset.nix; + gemConfig = defaultGemConfig // { + mini_racer = attrs: { + buildInputs = [ icu ]; + dontBuild = false; + NIX_LDFLAGS = "-licui18n"; + }; + libv8-node = + attrs: + let + noopScript = writeShellScript "noop" "exit 0"; + linkFiles = writeShellScript "link-files" '' + cd ../.. + + mkdir -p vendor/v8/${stdenv.hostPlatform.system}/libv8/obj/ + ln -s "${nodejs.libv8}/lib/libv8.a" vendor/v8/${stdenv.hostPlatform.system}/libv8/obj/libv8_monolith.a + + ln -s ${nodejs.libv8}/include vendor/v8/include + + mkdir -p ext/libv8-node + echo '--- !ruby/object:Libv8::Node::Location::Vendor {}' >ext/libv8-node/.location.yml + ''; + in + { dontBuild = false; - NIX_LDFLAGS = "-licui18n"; - }; - libv8-node = - let - noopScript = writeShellScript "noop" "exit 0"; - linkFiles = writeShellScript "link-files" '' - cd ../.. - - mkdir -p vendor/v8/${stdenv.hostPlatform.system}/libv8/obj/ - ln -s "${nodejs.libv8}/lib/libv8.a" vendor/v8/${stdenv.hostPlatform.system}/libv8/obj/libv8_monolith.a - - ln -s ${nodejs.libv8}/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. It has to be called - # libpsl.x86_64.so or it isn't found. postPatch = '' - cp $(readlink -f ${lib.getLib libpsl}/lib/libpsl.so) vendor/libpsl.x86_64.so + 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 = attrs: { + propagatedBuildInputs = [ libpsl ]; + dontBuild = false; + # Use our libpsl instead of the vendored one, which isn't + # available for aarch64. It has to be called + # libpsl.x86_64.so or it isn't found. + postPatch = '' + cp $(readlink -f ${lib.getLib libpsl}/lib/libpsl.so) vendor/libpsl.x86_64.so + ''; }; + tokenizers = attrs: { + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (buildRubyGem { inherit (attrs) gemName version source; }) + name + src + unpackPhase + nativeBuildInputs + ; + hash = "sha256-ydSXo3wp13/mPgJv1HbavNurkd2KxuKzuJNHliPpn2I="; + }; + + dontBuild = false; + + nativeBuildInputs = [ + cargo + rustc + rustPlatform.cargoSetupHook + rustPlatform.bindgenHook + ]; + + disallowedReferences = [ + rustc.unwrapped + ]; + + preInstall = '' + export CARGO_HOME="$PWD/../.cargo/" + ''; + + postInstall = '' + find $out -type f -name .rustc_info.json -delete + ''; + }; + tiktoken_ruby = attrs: { + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (buildRubyGem { inherit (attrs) gemName version source; }) + name + src + unpackPhase + nativeBuildInputs + ; + hash = "sha256-IABOxUymtFkF9sl1kRWAS5hM6GNJI6Y4VFICXdX7zF0="; + }; + + dontBuild = false; + + nativeBuildInputs = [ + cargo + rustc + rustPlatform.cargoSetupHook + rustPlatform.bindgenHook + ]; + + disallowedReferences = [ + rustc.unwrapped + ]; + + preInstall = '' + export CARGO_HOME="$PWD/../.cargo/" + ''; + + postInstall = '' + #ls $GEM_HOME/gems/${attrs.gemName}-${attrs.version}/lib + #mv -v $GEM_HOME/gems/${attrs.gemName}-${attrs.version}/lib/{glfm_markdown/glfm_markdown.so,} + find $out -type f -name .rustc_info.json -delete + ''; + }; + }; groups = [ "default" @@ -233,11 +300,13 @@ let pname = "discourse-assets"; inherit version src; fetcherVersion = 1; - hash = "sha256-WyRBnuKCl5NJLtqy3HK/sJcrpMkh0PjbasGPNDV6+7Y="; + hash = "sha256-npRKX5Lr2QrPD8OFBysDl30exP+FTnjMxFeR/Gv0Z0I="; }; nativeBuildInputs = runtimeDeps ++ [ - postgresql + (postgresql.withPackages (ps: [ + ps.pgvector + ])) redis uglify-js terser @@ -251,6 +320,7 @@ let "out" "javascripts" "node_modules" + "generated" ]; patches = [ @@ -274,6 +344,14 @@ let ]; env.RAILS_ENV = "production"; + env.DISCOURSE_DOWNLOAD_PRE_BUILT_ASSETS = "0"; + # Allow to use different bundler version than the lockfile has + env.BUNDLER_VERSION = pkgs.bundler.version; + + # requires full git and repository, even a src `leaveDotGit` is not enough. So patch this function to return the version + postPatch = '' + substituteInPlace script/assemble_ember_build.rb --replace-fail "def core_tree_hash" "def core_tree_hash; return \"v${version}\"" + ''; # We have to set up an environment that is close enough to # production ready or the assets:precompile task refuses to @@ -300,6 +378,7 @@ let psql -d postgres -tAc 'CREATE DATABASE "discourse" OWNER "discourse"' psql 'discourse' -tAc "CREATE EXTENSION IF NOT EXISTS pg_trgm" psql 'discourse' -tAc "CREATE EXTENSION IF NOT EXISTS hstore" + psql 'discourse' -tAc "CREATE EXTENSION IF NOT EXISTS vector" ${lib.concatMapStringsSep "\n" (p: "ln -sf ${p} plugins/${p.pluginName or ""}") plugins} @@ -310,6 +389,7 @@ let buildPhase = '' runHook preBuild + patchShebangs script/ bundle exec rake assets:precompile runHook postBuild @@ -322,9 +402,10 @@ let mv node_modules $node_modules - rm -r app/assets/javascripts/plugins + rm -rf app/assets/javascripts/plugins mv app/assets/javascripts $javascripts ln -sf /run/discourse/assets/javascripts/plugins $javascripts/plugins + mv app/assets/generated $generated runHook postInstall ''; @@ -374,6 +455,10 @@ let # theme-transpiler over and over again. Which at the same time allows the removal # of javascript devDependencies from the runtime environment. ./prebuild-theme-transpiler.patch + + # Our app/assets/generated folder is a symlink, but the ruby File.mkdir_p doesn't allow + # a symlink in the way to the last directory. This patch explicitly resolves the symlink. + ./resolve_generated_assets_symlink.patch ]; postPatch = '' @@ -406,6 +491,7 @@ let ln -sf /var/lib/discourse/tmp $out/share/discourse/tmp ln -sf /run/discourse/config $out/share/discourse/config ln -sf /run/discourse/public $out/share/discourse/public + ln -sf /run/discourse/assets-generated $out/share/discourse/app/assets/generated ln -sf ${assets.node_modules} $out/share/discourse/node_modules ln -sf ${assets} $out/share/discourse/public.dist/assets rm -r $out/share/discourse/app/assets/javascripts diff --git a/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix b/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix index 864bdb978d4f..0941b05f404c 100644 --- a/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix +++ b/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix @@ -14,7 +14,6 @@ in discourse-github = callPackage ./discourse-github { }; discourse-ldap-auth = callPackage ./discourse-ldap-auth { }; discourse-math = callPackage ./discourse-math { }; - discourse-migratepassword = callPackage ./discourse-migratepassword { }; discourse-oauth2-basic = callPackage ./discourse-oauth2-basic { }; discourse-openid-connect = callPackage ./discourse-openid-connect { }; discourse-prometheus = callPackage ./discourse-prometheus { }; @@ -22,6 +21,5 @@ in discourse-saved-searches = callPackage ./discourse-saved-searches { }; discourse-solved = callPackage ./discourse-solved { }; discourse-spoiler-alert = callPackage ./discourse-spoiler-alert { }; - discourse-voting = callPackage ./discourse-voting { }; discourse-yearly-review = callPackage ./discourse-yearly-review { }; } diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix index 610d60a3b915..613de051ec14 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix @@ -9,8 +9,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-assign"; - rev = "261a47d119d200a8d922d008ad3d1667df869435"; - sha256 = "sha256-0OClWO70btM7EN7Vir1LIhCTeO5+2jtkP4RozoKzp+0="; + rev = "6050446a9920f6ccf0694b38cec611452654b7bc"; + sha256 = "sha256-MxPCzqRbb9bgmR9OO4gfJUzFvmyBOcU1E1y1FUdUp9M="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-docs"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix index d1a09684cea5..0acecf9b617b 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix @@ -9,8 +9,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-bbcode-color"; - rev = "ecd4befeb4eae48aa0a37a88e5aca60e59730411"; - sha256 = "sha256-enpeXc6pE9+5EdbMIFsnWd++ixlHBKFRxbXmvJYJftg="; + rev = "14b8370160cda35568470a36a25e508eb8364609"; + sha256 = "sha256-3yIV5LKsYSDrhBwsalKZo9jY6j8kNzz99x/AJ95kPuk="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-bbcode-color"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix index ddde5a700a26..238bc3902ef9 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix @@ -10,8 +10,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-calendar"; - rev = "8d09cf8503b78f4c72b47a7319c0f4b9ad0247e7"; - sha256 = "sha256-ES0/f/sv4Doao/MOdHYMwadRIVXb1I7FgSsl7790tio="; + rev = "43e97c16e595f3f80d53a787614eb7c0f9d6a1c1"; + sha256 = "sha256-zks4zqzc4ZnUxMHSiUkcwaZEzmUXXgFMdiEp6CRPEIU="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-calendar"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix index d64aea099066..c23408a1c3bc 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix @@ -9,8 +9,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-chat-integration"; - rev = "29ad813cd04812786780e1706cbc043810dea7d8"; - sha256 = "sha256-5mGnHLlw3qIGi8et3WV1RXnrPB+bySi3wQryKTa5wNg="; + rev = "428df114ff7f8416314dc585e59bc898ee59c674"; + sha256 = "sha256-pP9MzQz9nghGIPMnGFOEXxW/OH/8BzHltcxAQboLYec="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-chat-integration"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix index d5b4a95b5c66..de23b46bf2ac 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix @@ -9,8 +9,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-data-explorer"; - rev = "2ba204a1de2638a7959e588b88f3b6c7fcf7a70f"; - sha256 = "sha256-u8yGKANEyqm63/ZnJLe3u1nkNGZyX0wFUBIKU5GgjzY="; + rev = "b61e81fb616ce5880af96584ab9175f07f6362d4"; + sha256 = "sha256-4E2PR7RwoM/e6cJFuaorK6EYe1nSDKkorJWrlWPzg3g="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-data-explorer"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix index 573bffa7808a..617da737f0af 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix @@ -9,8 +9,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-docs"; - rev = "4e42539cda9a54d7827bcdf51b6dfbcf56d24cc9"; - sha256 = "sha256-sv9Q0qEQVncQw3QLiro5YfVcHJAG8sJ0GTjduCZ0iP4="; + rev = "ff5d738a9f9d85847e6fc226f8324ad9cf466007"; + sha256 = "sha256-p5QYM6jbsqe9a3UouHdVimSxZeBvsoM/hb0UQ7iV1IM="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-docs"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock index f2931a5d4ad1..6414282db56f 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock @@ -3,20 +3,20 @@ GEM specs: addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) - faraday (2.12.3) + faraday (2.13.4) faraday-net_http (>= 2.0, < 3.5) json logger - faraday-net_http (3.4.0) + faraday-net_http (3.4.1) net-http (>= 0.5.0) - json (2.10.2) + json (2.13.2) logger (1.7.0) net-http (0.6.0) uri octokit (5.6.1) faraday (>= 1, < 3) sawyer (~> 0.9) - public_suffix (6.0.1) + public_suffix (6.0.2) sawyer (0.9.2) addressable (>= 2.3.5) faraday (>= 0.17.3, < 3) diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix index 972a06f778c0..e27d192d721f 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix @@ -10,8 +10,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-github"; - rev = "59e5fc5692959c6c564ab0e09de364ccfedd6702"; - sha256 = "sha256-b+8eSw8Kbz2CZN16Rd7c8uyH5P1iYhOJmdXu1C5UclU="; + rev = "d0cd63043de2ddac624db61ba282e0474fd447e2"; + sha256 = "sha256-NDC8KdfbgwM60i9g4PpziWD6uU9Mp67SOG7oYhS4j5I="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-github"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix index 36d463ebb5c5..7c3adab7270c 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix @@ -20,10 +20,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0dxalpc0ldvjjmd7z95na9lm99d2baz48sf9axk3a6x3pn50ibdi"; + sha256 = "09mcghancmn0s5cwk2xz581j3xm3xqxfv0yxg75axnyhrx9gy6f7"; type = "gem"; }; - version = "2.12.3"; + version = "2.13.4"; }; faraday-net_http = { dependencies = [ "net-http" ]; @@ -31,20 +31,20 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0jp5ci6g40d6i50bsywp35l97nc2fpi9a592r2cibwicdb6y9wd1"; + sha256 = "0fxbckg468dabkkznv48ss8zv14d9cd8mh1rr3m98aw7wzx5fmq9"; type = "gem"; }; - version = "3.4.0"; + version = "3.4.1"; }; json = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "01lbdaizhkxmrw4y8j3wpvsryvnvzmg0pfs56c52laq2jgdfmq1l"; + sha256 = "0s5vklcy2fgdxa9c6da34jbfrqq7xs6mryjglqqb5iilshcg3q82"; type = "gem"; }; - version = "2.10.2"; + version = "2.13.2"; }; logger = { groups = [ "default" ]; @@ -86,10 +86,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31"; + sha256 = "1543ap9w3ydhx39ljcd675cdz9cr948x9mp00ab8qvq6118wv9xz"; type = "gem"; }; - version = "6.0.1"; + version = "6.0.2"; }; sawyer = { dependencies = [ diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix index db65b1d07a59..6d2115f724bf 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix @@ -9,8 +9,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-math"; - rev = "90a56a5b463546cba5017cf25168bae759bcbf77"; - sha256 = "sha256-q8cNRIHYEkaE6QkdsHu4tPwSw3LnCNgKjbyESBXheE0="; + rev = "8db3f371e543bdf21fba35b1a539036386517272"; + sha256 = "sha256-ARyPDpDUlPlhhw4KL+eo5AUzp1F2moenXEemV72kfsI="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-math"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile deleted file mode 100644 index ba35ee28efa9..000000000000 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile +++ /dev/null @@ -1,9 +0,0 @@ -# frozen_string_literal: true - -source "https://rubygems.org" - -# gem "rails" -gem 'bcrypt', '3.1.13' -gem 'unix-crypt', '1.3.0' -gem 'ffi-compiler', '1.0.1', require: false -gem 'argon2', '2.2.0' diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile.lock deleted file mode 100644 index e806952546ee..000000000000 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile.lock +++ /dev/null @@ -1,25 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - argon2 (2.2.0) - ffi (~> 1.15) - ffi-compiler (~> 1.0) - bcrypt (3.1.13) - ffi (1.17.0) - ffi-compiler (1.0.1) - ffi (>= 1.0.0) - rake - rake (13.2.1) - unix-crypt (1.3.0) - -PLATFORMS - ruby - -DEPENDENCIES - argon2 (= 2.2.0) - bcrypt (= 3.1.13) - ffi-compiler (= 1.0.1) - unix-crypt (= 1.3.0) - -BUNDLED WITH - 2.5.11 diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix deleted file mode 100644 index 862e53fa4433..000000000000 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - lib, - mkDiscoursePlugin, - fetchFromGitHub, -}: - -mkDiscoursePlugin { - name = "discourse-migratepassword"; - bundlerEnvArgs.gemdir = ./.; - src = fetchFromGitHub { - owner = "communiteq"; - repo = "discourse-migratepassword"; - rev = "a732ae244cd4125561fd225a67bae95ef5f738d0"; - sha256 = "sha256-EO+QnFTy3PgxZ92DZBm9sP8sFAny3ZpFw+faTX32j7Q="; - }; - meta = with lib; { - homepage = "https://github.com/communiteq/discourse-migratepassword"; - maintainers = with maintainers; [ ryantm ]; - license = licenses.gpl2Only; - description = "Support migrated password hashes"; - }; -} diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix deleted file mode 100644 index d1c88454e8bc..000000000000 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix +++ /dev/null @@ -1,70 +0,0 @@ -{ - argon2 = { - dependencies = [ - "ffi" - "ffi-compiler" - ]; - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1wdllcqlr81nzyf485ldv1p660xsi476p79ghbj7zsf3n9n86gwd"; - type = "gem"; - }; - version = "2.2.0"; - }; - bcrypt = { - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0ai0m15jg3n0b22mimk09ppnga316dc7dyvz06w8rrqh5gy1lslp"; - type = "gem"; - }; - version = "3.1.13"; - }; - ffi = { - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi"; - type = "gem"; - }; - version = "1.17.0"; - }; - ffi-compiler = { - dependencies = [ - "ffi" - "rake" - ]; - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0c2caqm9wqnbidcb8dj4wd3s902z15qmgxplwyfyqbwa0ydki7q1"; - type = "gem"; - }; - version = "1.0.1"; - }; - rake = { - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6"; - type = "gem"; - }; - version = "13.2.1"; - }; - unix-crypt = { - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1wflipsmmicmgvqilp9pml4x19b337kh6p6jgrzqrzpkq2z52gdq"; - type = "gem"; - }; - version = "1.3.0"; - }; -} diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix index df9095c817d6..9abdf8634081 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix @@ -10,8 +10,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-openid-connect"; - rev = "e08efecc012a5ab8fa95084be93d4fd07ccebab9"; - sha256 = "sha256-v4UWFDdOFON+nHkH490kBQ4sXX7Mrp7KVhN1x9HML7w="; + rev = "8b879884b677b60ee726282457427864f2767926"; + sha256 = "sha256-+j3YRbZYCDnoweyfiCFP3U6AX860B1RQT14IBhnSi4M="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-openid-connect"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix index 349057769dd8..db3f2d84b027 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix @@ -10,8 +10,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-prometheus"; - rev = "f46906e1d555f6838d74ea38d5037264cc1020b0"; - sha256 = "sha256-czrxhH0L+vCZA8DKN6acW///iWJs9GIppEeaP2MOJBQ="; + rev = "a1e0ba671e13ceb9541a4d62d3ff7d206393d438"; + sha256 = "sha256-tZdRbLxUs4qPbN39g/y1dVCa0b+6Pk8uvCvsKVbUkMk="; }; patches = [ diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix index 6733d343c1d0..beace0fe7059 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix @@ -9,8 +9,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-reactions"; - rev = "f87583d9054421869ba0de16c24ad15e32bbebe7"; - sha256 = "sha256-v2AkpSTF3VNgBUfvRMQ3BCw0nClWjcVTdKNn9yiByBM="; + rev = "ed83e21e6e722cef3e38d6da083d483bfa14503b"; + sha256 = "sha256-XA9ADzBzp1TVV4belv4b4GR7xWY/05WFAWRlUBr2M+o="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-reactions"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix index 3c69b86189e0..0fe4190d41d6 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix @@ -9,8 +9,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-saved-searches"; - rev = "b78aae086e95255b1a1e91a01e2d56b45b7aead2"; - sha256 = "sha256-Wai+oZR+Pzjre6Th0kQDgvFOwfPRHlZkpKYYOUKNlx4="; + rev = "e9afd599d95fa79ba8a37316290c1a059e995e04"; + sha256 = "sha256-UtXDY3IxxM+JFOGZlN9mgiwrDImOAzJJuHNlhIdnotM="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-saved-searches"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix index 9c919190dad6..2cb7a168c5a7 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix @@ -9,8 +9,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-solved"; - rev = "e82c6ae1ca38ccebb34669148f8de93a3028906e"; - sha256 = "sha256-KwpBCk4fjkZlSzgtc0OXvQupPd+aPb9nONyyALpEZhg="; + rev = "8e777aa05dd3a303ccd772226e24b2e5f4d6be31"; + sha256 = "sha256-z/fB+QQW6iMBBDHUWvr5UmWyLyo18qnXddEOiPM7aRQ="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-solved"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix deleted file mode 100644 index ba4344edae74..000000000000 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ - lib, - mkDiscoursePlugin, - fetchFromGitHub, -}: - -mkDiscoursePlugin { - name = "discourse-voting"; - src = fetchFromGitHub { - owner = "discourse"; - repo = "discourse-topic-voting"; - rev = "d779202749e56aaee2d548b538796fb5db1b9b7c"; - sha256 = "sha256-8YF7W5SXhI7TGJNZkx5or7bxI0MKiDtx10TE2ekBMuM="; - }; - meta = with lib; { - homepage = "https://github.com/discourse/discourse-voting"; - maintainers = with maintainers; [ dpausp ]; - license = licenses.gpl2Only; - description = "Adds the ability for voting on a topic within a specified category in Discourse"; - }; -} diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix index 2d9c8240f0bd..8043d24ad70f 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix @@ -9,8 +9,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-yearly-review"; - rev = "439e0d78f1d8a0f387c0ec26f233a090ce82ef72"; - sha256 = "sha256-DXA5P7XnItBjP4H1J/G1cGbFddSDZh0wjMZiJ5JA9s8="; + rev = "a6baf4a5998a616091d94c31c23b9930409cd3e2"; + sha256 = "sha256-KP/lQqS47oGTz4Rw/+0p2LZVQEWdUtx0sRPxh3/Ua8A="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-yearly-review"; diff --git a/pkgs/servers/web-apps/discourse/resolve_generated_assets_symlink.patch b/pkgs/servers/web-apps/discourse/resolve_generated_assets_symlink.patch new file mode 100644 index 000000000000..895696d3c6e5 --- /dev/null +++ b/pkgs/servers/web-apps/discourse/resolve_generated_assets_symlink.patch @@ -0,0 +1,13 @@ +diff --git a/lib/plugin/instance.rb b/lib/plugin/instance.rb +index a5a5b8f943..30faee615d 100644 +--- a/lib/plugin/instance.rb ++++ b/lib/plugin/instance.rb +@@ -1383,7 +1383,7 @@ class Plugin::Instance + contents = javascript_includes.map { |js| File.read(js) } + + if contents.present? +- ensure_directory(extra_js_file_path) ++ ensure_directory(File.realpath(extra_js_file_path)) + Discourse::Utils.atomic_write_file(extra_js_file_path, contents.join("\n;\n")) + else + begin diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile index 869b2d548b3d..1f4e17fe1622 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile +++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile @@ -1,26 +1,24 @@ # frozen_string_literal: true +ruby "~> 3.3" + source "https://rubygems.org" # if there is a super emergency and rubygems is playing up, try #source 'http://production.cf.rubygems.org' gem "bootsnap", require: false, platform: :mri -gem "actionmailer", "~> 7.2.0" -gem "actionpack", "~> 7.2.0" -gem "actionview", "~> 7.2.0" -gem "activemodel", "~> 7.2.0" -gem "activerecord", "~> 7.2.0" -gem "activesupport", "~> 7.2.0" -gem "railties", "~> 7.2.0" -gem "sprockets-rails" +gem "actionmailer", "~> 8.0.0" +gem "actionpack", "~> 8.0.0" +gem "actionview", "~> 8.0.0" +gem "activemodel", "~> 8.0.0" +gem "activerecord", "~> 8.0.0" +gem "activesupport", "~> 8.0.0" +gem "railties", "~> 8.0.0" +gem "propshaft" gem "json" -# TODO: At the moment Discourse does not work with Sprockets 4, we would need to correct internals -# We intend to drop sprockets rather than upgrade to 4.x -gem "sprockets", "~> 3.7.3" - # this will eventually be added to rails, # allows us to precompile all our templates in the unicorn master gem "actionview_precompiler", require: false @@ -31,9 +29,11 @@ gem "mail" gem "mini_mime" gem "mini_suffix" -# config/initializers/006-mini_profiler.rb depends upon the RedisClient#call. -# Rework this when upgrading to redis client 5.0 and above. -gem "redis", "< 5.0" +# NOTE: hiredis-client is recommended for high performance use of Redis +# however a recent attempt at an upgrade lead to https://meta.discourse.org/t/rebuild-error/375387 +# for now we are sticking with the socked based implementation that is not sensitive to this issue +# gem "hiredis-client" +gem "redis" # This is explicitly used by Sidekiq and is an optional dependency. # We tell Sidekiq to use the namespace "sidekiq" which triggers this @@ -52,6 +52,7 @@ gem "active_model_serializers", "~> 0.8.3" gem "http_accept_language", require: false gem "discourse-fonts", require: "discourse_fonts" +gem "discourse-emojis", require: "discourse_emojis" gem "message_bus" @@ -61,6 +62,7 @@ gem "fastimage" gem "aws-sdk-s3", require: false gem "aws-sdk-sns", require: false +gem "aws-sdk-mediaconvert", require: false gem "excon", require: false gem "unf", require: false @@ -98,12 +100,12 @@ gem "rinku" gem "sidekiq" gem "mini_scheduler" -gem "execjs", require: false -gem "mini_racer", "0.17.pre13" +gem "mini_racer" gem "highline", require: false -gem "rack" +# When unicorn is not used anymore, we can use Rack 3 +gem "rack", "< 3" gem "rack-protection" # security gem "cbor", require: false @@ -116,22 +118,16 @@ gem "net-imap", require: false gem "net-pop", require: false gem "digest", require: false -# 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 -group :assets do - gem "uglifier" -end +gem "goldiloader", require: false group :test do gem "capybara", require: false gem "webmock", require: false - gem "fakeweb", require: false gem "simplecov", require: false - gem "selenium-webdriver", "~> 4.14", require: false - gem "selenium-devtools", require: false gem "test-prof" gem "rails-dom-testing", require: false gem "minio_runner", require: false + gem "capybara-playwright-driver" end group :test, :development do @@ -154,10 +150,9 @@ group :test, :development do gem "rswag-specs" - gem "annotate" + gem "annotaterb" gem "syntax_tree" - gem "syntax_tree-disable_ternary" gem "rspec-multi-mock" end @@ -173,11 +168,11 @@ end if ENV["ALLOW_DEV_POPULATE"] == "1" gem "discourse_dev_assets" - gem "faker", "~> 2.16" + gem "faker" else group :development, :test do gem "discourse_dev_assets" - gem "faker", "~> 2.16" + gem "faker" end end @@ -292,3 +287,28 @@ end gem "dry-initializer", "~> 3.1" gem "parallel" + +# for discourse-zendesk-plugin +gem "inflection", require: false +gem "multipart-post", require: false +gem "faraday-multipart", require: false +gem "zendesk_api", require: false + +# for discourse-subscriptions +gem "stripe", require: false + +# for discourse-github +gem "sawyer", require: false +gem "octokit", require: false + +# for discourse-ai +gem "tokenizers", require: false +gem "tiktoken_ruby", require: false +gem "discourse_ai-tokenizers", require: false +gem "ed25519" # TODO: remove this as existing ssl gem should handle this +gem "Ascii85", require: false +gem "ruby-rc4", require: false +gem "hashery", require: false +gem "ttfunk", require: false +gem "afm", require: false +gem "pdf-reader", require: false diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock index c05f581c03f3..5958232a8a70 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock +++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock @@ -1,26 +1,26 @@ GEM remote: https://rubygems.org/ specs: - actionmailer (7.2.2.1) - actionpack (= 7.2.2.1) - actionview (= 7.2.2.1) - activejob (= 7.2.2.1) - activesupport (= 7.2.2.1) + Ascii85 (2.0.1) + actionmailer (8.0.2.1) + actionpack (= 8.0.2.1) + actionview (= 8.0.2.1) + activejob (= 8.0.2.1) + activesupport (= 8.0.2.1) mail (>= 2.8.0) rails-dom-testing (~> 2.2) - actionpack (7.2.2.1) - actionview (= 7.2.2.1) - activesupport (= 7.2.2.1) + actionpack (8.0.2.1) + actionview (= 8.0.2.1) + activesupport (= 8.0.2.1) nokogiri (>= 1.8.5) - racc - rack (>= 2.2.4, < 3.2) + rack (>= 2.2.4) rack-session (>= 1.0.1) rack-test (>= 0.6.3) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) useragent (~> 0.16) - actionview (7.2.2.1) - activesupport (= 7.2.2.1) + actionview (8.0.2.1) + activesupport (= 8.0.2.1) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) @@ -29,16 +29,16 @@ GEM actionview (>= 6.0.a) active_model_serializers (0.8.4) activemodel (>= 3.0) - activejob (7.2.2.1) - activesupport (= 7.2.2.1) + activejob (8.0.2.1) + activesupport (= 8.0.2.1) globalid (>= 0.3.6) - activemodel (7.2.2.1) - activesupport (= 7.2.2.1) - activerecord (7.2.2.1) - activemodel (= 7.2.2.1) - activesupport (= 7.2.2.1) + activemodel (8.0.2.1) + activesupport (= 8.0.2.1) + activerecord (8.0.2.1) + activemodel (= 8.0.2.1) + activesupport (= 8.0.2.1) timeout (>= 0.4.0) - activesupport (7.2.2.1) + activesupport (8.0.2.1) base64 benchmark (>= 0.3) bigdecimal @@ -50,47 +50,54 @@ GEM minitest (>= 5.1) securerandom (>= 0.3) tzinfo (~> 2.0, >= 2.0.5) + uri (>= 0.13.1) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) - annotate (3.2.0) - activerecord (>= 3.2, < 8.0) - rake (>= 10.4, < 14.0) - ast (2.4.2) - aws-eventstream (1.3.0) - aws-partitions (1.894.0) - aws-sdk-core (3.191.3) + afm (1.0.0) + annotaterb (4.18.0) + activerecord (>= 6.0.0) + activesupport (>= 6.0.0) + ast (2.4.3) + aws-eventstream (1.4.0) + aws-partitions (1.1134.0) + aws-sdk-core (3.227.0) aws-eventstream (~> 1, >= 1.3.0) - aws-partitions (~> 1, >= 1.651.0) - aws-sigv4 (~> 1.8) + aws-partitions (~> 1, >= 1.992.0) + aws-sigv4 (~> 1.9) + base64 jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.77.0) - aws-sdk-core (~> 3, >= 3.191.0) - aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.143.0) - aws-sdk-core (~> 3, >= 3.191.0) + logger + aws-sdk-kms (1.99.0) + aws-sdk-core (~> 3, >= 3.216.0) + aws-sigv4 (~> 1.5) + aws-sdk-mediaconvert (1.165.0) + aws-sdk-core (~> 3, >= 3.227.0) + aws-sigv4 (~> 1.5) + aws-sdk-s3 (1.182.0) + aws-sdk-core (~> 3, >= 3.216.0) aws-sdk-kms (~> 1) - aws-sigv4 (~> 1.8) - aws-sdk-sns (1.72.0) - aws-sdk-core (~> 3, >= 3.191.0) - aws-sigv4 (~> 1.1) - aws-sigv4 (1.8.0) + aws-sigv4 (~> 1.5) + aws-sdk-sns (1.96.0) + aws-sdk-core (~> 3, >= 3.216.0) + aws-sigv4 (~> 1.5) + aws-sigv4 (1.12.1) aws-eventstream (~> 1, >= 1.0.2) - base64 (0.2.0) - benchmark (0.4.0) + base64 (0.3.0) + benchmark (0.4.1) better_errors (2.10.1) erubi (>= 1.0.0) rack (>= 0.9.0) rouge (>= 1.0.0) - bigdecimal (3.1.9) + bigdecimal (3.2.2) binding_of_caller (1.0.1) debug_inspector (>= 1.2.0) - bootsnap (1.18.4) + bootsnap (1.18.6) msgpack (~> 1.2) builder (3.3.0) - bullet (8.0.0) + bullet (8.0.8) activesupport (>= 3.0.0) uniform_notifier (~> 1.11) - byebug (11.1.3) + byebug (12.0.0) capybara (3.40.0) addressable matrix @@ -100,14 +107,18 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - cbor (0.5.9.8) + capybara-playwright-driver (0.5.7) + addressable + capybara + playwright-ruby-client (>= 1.16.0) + cbor (0.5.10.1) certified (1.0.0) - cgi (0.4.1) + cgi (0.5.0) chunky_png (1.4.0) coderay (1.1.3) colored2 (4.0.3) concurrent-ruby (1.3.5) - connection_pool (2.5.0) + connection_pool (2.5.3) cose (1.3.1) cbor (~> 0.5.9) openssl-signature_algorithm (~> 1.0) @@ -116,63 +127,93 @@ GEM bigdecimal rexml crass (1.0.6) - css_parser (1.21.0) + css_parser (1.21.1) addressable - csv (3.3.2) + csv (3.3.5) date (3.4.1) debug_inspector (1.2.0) - diff-lcs (1.5.1) - diffy (3.4.3) + diff-lcs (1.6.2) + diffy (3.4.4) digest (3.2.0) digest-xxhash (0.2.9) - discourse-fonts (0.0.18) + discourse-emojis (1.0.41) + discourse-fonts (0.0.19) discourse-seed-fu (2.3.12) activerecord (>= 3.1) activesupport (>= 3.1) - discourse_dev_assets (0.0.4) - faker (~> 2.16) + discourse_ai-tokenizers (0.3.1) + activesupport (>= 6.0) + tiktoken_ruby (~> 0.0.11.1) + tokenizers (~> 0.5.4) + discourse_dev_assets (0.0.5) + faker (~> 3.5.1) literate_randomizer docile (1.4.1) - drb (2.2.1) + drb (2.2.3) dry-initializer (3.2.0) + ed25519 (1.4.0) email_reply_trimmer (0.2.0) + erb (5.0.2) erubi (1.13.1) - excon (1.2.3) - execjs (2.10.0) + excon (1.2.5) + logger exifr (1.4.1) - extralite-bundle (2.8.2) - fabrication (2.31.0) - faker (2.23.0) + extralite-bundle (2.13) + fabrication (3.0.0) + faker (3.5.2) i18n (>= 1.8.11, < 2) - fakeweb (1.3.0) - faraday (2.12.2) + faraday (2.13.4) faraday-net_http (>= 2.0, < 3.5) json logger - faraday-net_http (3.4.0) + faraday-multipart (1.1.1) + multipart-post (~> 2.0) + faraday-net_http (3.4.1) net-http (>= 0.5.0) - faraday-retry (2.2.1) + faraday-retry (2.3.2) faraday (~> 2.0) fast_blank (1.0.1) fastimage (2.3.1) - ffi (1.17.1) - ffi (1.17.1-arm64-darwin) - ffi (1.17.1-x86_64-darwin) + ffi (1.17.2) + ffi (1.17.2-aarch64-linux-gnu) + ffi (1.17.2-aarch64-linux-musl) + ffi (1.17.2-arm-linux-gnu) + ffi (1.17.2-arm-linux-musl) + ffi (1.17.2-arm64-darwin) + ffi (1.17.2-x86_64-darwin) + ffi (1.17.2-x86_64-linux-gnu) + ffi (1.17.2-x86_64-linux-musl) fspath (3.1.2) globalid (1.2.1) activesupport (>= 6.1) - google-protobuf (4.29.3) + goldiloader (5.4.0) + activerecord (>= 6.1, < 8.1) + activesupport (>= 6.1, < 8.1) + google-protobuf (4.32.0) bigdecimal rake (>= 13) - google-protobuf (4.29.3-arm64-darwin) + google-protobuf (4.32.0-aarch64-linux-gnu) bigdecimal rake (>= 13) - google-protobuf (4.29.3-x86_64-darwin) + google-protobuf (4.32.0-aarch64-linux-musl) + bigdecimal + rake (>= 13) + google-protobuf (4.32.0-arm64-darwin) + bigdecimal + rake (>= 13) + google-protobuf (4.32.0-x86_64-darwin) + bigdecimal + rake (>= 13) + google-protobuf (4.32.0-x86_64-linux-gnu) + bigdecimal + rake (>= 13) + google-protobuf (4.32.0-x86_64-linux-musl) bigdecimal rake (>= 13) guess_html_encoding (0.0.11) hana (1.3.7) - hashdiff (1.1.2) + hashdiff (1.2.0) + hashery (2.1.2) hashie (5.0.0) highline (3.1.2) reline @@ -188,15 +229,16 @@ GEM progress (~> 3.0, >= 3.0.1) image_size (3.4.0) in_threads (1.6.0) - io-console (0.8.0) - irb (1.15.1) + inflection (1.0.0) + io-console (0.8.1) + irb (1.15.2) pp (>= 0.6.0) rdoc (>= 4.0.0) reline (>= 0.4.2) iso8601 (0.13.0) jmespath (1.6.2) - json (2.9.1) - json-schema (5.1.1) + json (2.13.2) + json-schema (5.2.2) addressable (~> 2.8) bigdecimal (~> 3.1) json_schemer (2.4.0) @@ -207,10 +249,14 @@ GEM jwt (2.10.1) base64 kgio (2.11.4) - language_server-protocol (3.17.0.4) - libv8-node (22.7.0.4) - libv8-node (22.7.0.4-arm64-darwin) - libv8-node (22.7.0.4-x86_64-darwin) + language_server-protocol (3.17.0.5) + libv8-node (24.1.0.0) + libv8-node (24.1.0.0-aarch64-linux) + libv8-node (24.1.0.0-arm64-darwin) + libv8-node (24.1.0.0-x86_64-darwin) + libv8-node (24.1.0.0-x86_64-linux) + libv8-node (24.1.0.0-x86_64-linux-musl) + lint_roller (1.1.0) listen (3.9.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) @@ -222,8 +268,8 @@ GEM railties (>= 4) request_store (~> 1.0) logstash-event (1.2.02) - logster (2.20.0) - loofah (2.24.0) + logster (2.20.1) + loofah (2.24.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) lru_redux (1.1.0) @@ -233,50 +279,67 @@ GEM net-imap net-pop net-smtp - matrix (0.4.2) + matrix (0.4.3) maxminddb (0.1.22) memory_profiler (1.1.0) - message_bus (4.3.8) + message_bus (4.4.1) rack (>= 1.1.3) messageformat-wrapper (1.1.0) mini_racer (>= 0.6.3) method_source (1.1.0) + mime-types (3.7.0) + logger + mime-types-data (~> 3.2025, >= 3.2025.0507) + mime-types-data (3.2025.0812) mini_mime (1.1.5) mini_portile2 (2.8.9) - mini_racer (0.17.0.pre13) - libv8-node (~> 22.7.0.4) + mini_racer (0.19.0) + libv8-node (~> 24.1.0.0) mini_scheduler (0.18.0) sidekiq (>= 6.5, < 8.0) mini_sql (1.6.0) mini_suffix (0.3.3) ffi (~> 1.9) - minio_runner (0.1.2) - minitest (5.25.4) + minio_runner (1.0.0) + minitest (5.25.5) mocha (2.7.1) ruby2_keywords (>= 0.0.5) - msgpack (1.7.5) - multi_json (1.15.0) - multi_xml (0.7.1) + msgpack (1.8.0) + multi_json (1.17.0) + multi_xml (0.7.2) bigdecimal (~> 3.1) + multipart-post (2.4.1) mustache (1.1.1) net-http (0.6.0) uri - net-imap (0.5.5) + net-imap (0.5.9) date net-protocol net-pop (0.1.2) net-protocol net-protocol (0.2.2) timeout - net-smtp (0.5.0) + net-smtp (0.5.1) net-protocol nio4r (2.7.4) - nokogiri (1.18.2) + nokogiri (1.18.9) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.18.2-arm64-darwin) + nokogiri (1.18.9-aarch64-linux-gnu) racc (~> 1.4) - nokogiri (1.18.2-x86_64-darwin) + nokogiri (1.18.9-aarch64-linux-musl) + racc (~> 1.4) + nokogiri (1.18.9-arm-linux-gnu) + racc (~> 1.4) + nokogiri (1.18.9-arm-linux-musl) + racc (~> 1.4) + nokogiri (1.18.9-arm64-darwin) + racc (~> 1.4) + nokogiri (1.18.9-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.18.9-x86_64-linux-gnu) + racc (~> 1.4) + nokogiri (1.18.9-x86_64-linux-musl) racc (~> 1.4) oauth (1.1.0) oauth-tty (~> 1.0, >= 1.0.1) @@ -290,22 +353,26 @@ GEM multi_json (~> 1.3) multi_xml (~> 0.5) rack (>= 1.2, < 4) - oj (3.16.9) + octokit (5.6.1) + faraday (>= 1, < 3) + sawyer (~> 0.9) + oj (3.16.11) bigdecimal (>= 3.0) ostruct (>= 0.2) - omniauth (1.9.2) + omniauth (2.1.2) hashie (>= 3.4.6) - rack (>= 1.6.2, < 3) + rack (>= 2.2.3) + rack-protection omniauth-facebook (9.0.0) omniauth-oauth2 (~> 1.2) - omniauth-github (1.4.0) - omniauth (~> 1.5) - omniauth-oauth2 (>= 1.4.0, < 2.0) - omniauth-google-oauth2 (0.8.2) + omniauth-github (2.0.0) + omniauth (~> 2.0) + omniauth-oauth2 (~> 1.7.1) + omniauth-google-oauth2 (1.0.1) jwt (>= 2.0) oauth2 (~> 1.1) - omniauth (~> 1.1) - omniauth-oauth2 (>= 1.6) + omniauth (~> 2.0) + omniauth-oauth2 (~> 1.7.1) omniauth-oauth (1.2.1) oauth omniauth (>= 1.0, < 3) @@ -319,40 +386,60 @@ GEM openssl (3.3.0) openssl-signature_algorithm (1.3.0) openssl (> 2.0) - optimist (3.2.0) - ostruct (0.6.1) - parallel (1.26.3) - parallel_tests (4.9.0) + optimist (3.2.1) + ostruct (0.6.3) + parallel (1.27.0) + parallel_tests (5.4.0) parallel - parser (3.3.7.0) + parser (3.3.9.0) ast (~> 2.4.1) racc - pg (1.5.9) + pdf-reader (2.15.0) + Ascii85 (>= 1.0, < 3.0, != 2.0.0) + afm (>= 0.2.1, < 2) + hashery (~> 2.0) + ruby-rc4 + ttfunk + pg (1.6.1) + pg (1.6.1-aarch64-linux) + pg (1.6.1-aarch64-linux-musl) + pg (1.6.1-arm64-darwin) + pg (1.6.1-x86_64-darwin) + pg (1.6.1-x86_64-linux) + pg (1.6.1-x86_64-linux-musl) + playwright-ruby-client (1.54.1) + concurrent-ruby (>= 1.1.6) + mime-types (>= 3.0) pp (0.6.2) prettyprint prettier_print (1.2.1) prettyprint (0.2.0) + prism (1.4.0) progress (3.6.0) - pry (0.14.2) + propshaft (1.2.1) + actionpack (>= 7.0.0) + activesupport (>= 7.0.0) + rack + pry (0.15.2) coderay (~> 1.1) method_source (~> 1.0) - pry-byebug (3.10.1) - byebug (~> 11.0) - pry (>= 0.13, < 0.15) + pry-byebug (3.11.0) + byebug (~> 12.0) + pry (>= 0.13, < 0.16) pry-rails (0.3.11) pry (>= 0.13.0) pry-stack_explorer (0.6.1) binding_of_caller (~> 1.0) pry (~> 0.13) - psych (5.2.3) + psych (5.2.6) date stringio - public_suffix (6.0.1) + public_suffix (6.0.2) puma (6.6.0) nio4r (~> 2.0) racc (1.8.1) - rack (2.2.10) - rack-mini-profiler (3.3.1) + rack (2.2.17) + rack-mini-profiler (4.0.1) rack (>= 1.2.0) rack-protection (3.2.0) base64 (>= 0.1.0) @@ -364,23 +451,23 @@ GEM rackup (1.0.1) rack (< 3) webrick - rails-dom-testing (2.2.0) + rails-dom-testing (2.3.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) rails-html-sanitizer (1.6.2) loofah (~> 2.21) nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) - rails_failover (2.2.0) - activerecord (>= 6.1, < 8.0) + rails_failover (2.3.0) + activerecord (>= 6.1, < 9.0) concurrent-ruby - railties (>= 6.1, < 8.0) - rails_multisite (6.1.0) - activerecord (>= 6.0) - railties (>= 6.0) - railties (7.2.2.1) - actionpack (= 7.2.2.1) - activesupport (= 7.2.2.1) + railties (>= 6.1, < 9.0) + rails_multisite (7.0.0) + activerecord (>= 7.1) + railties (>= 7.1) + railties (8.0.2.1) + actionpack (= 8.0.2.1) + activesupport (= 8.0.2.1) irb (~> 1.13) rackup (>= 1.0.0) rake (>= 12.2) @@ -388,62 +475,67 @@ GEM zeitwerk (~> 2.6) rainbow (3.1.1) raindrops (0.20.1) - rake (13.2.1) + rake (13.3.0) rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) - rbtrace (0.5.1) + rb_sys (0.9.106) + rbtrace (0.5.2) ffi (>= 1.0.6) msgpack (>= 0.4.3) optimist (>= 3.0.0) rchardet (1.9.0) - rdoc (6.11.0) + rdoc (6.14.2) + erb psych (>= 4.0.0) - redcarpet (3.6.0) - redis (4.8.1) + redcarpet (3.6.1) + redis (5.4.0) + redis-client (>= 0.22.0) + redis-client (0.25.2) + connection_pool redis-namespace (1.11.0) redis (>= 4) - regexp_parser (2.10.0) - reline (0.6.0) + regexp_parser (2.11.2) + reline (0.6.2) io-console (~> 0.5) request_store (1.7.0) rack (>= 1.4) rexml (3.4.1) rinku (2.0.6) rotp (6.3.0) - rouge (4.5.1) - rqrcode (2.2.0) + rouge (4.6.0) + rqrcode (3.1.0) chunky_png (~> 1.0) - rqrcode_core (~> 1.0) - rqrcode_core (1.2.0) + rqrcode_core (~> 2.0) + rqrcode_core (2.0.0) rrule (0.6.0) activesupport (>= 2.3) - rspec (3.13.0) + rspec (3.13.1) rspec-core (~> 3.13.0) rspec-expectations (~> 3.13.0) rspec-mocks (~> 3.13.0) - rspec-core (3.13.2) + rspec-core (3.13.5) rspec-support (~> 3.13.0) - rspec-expectations (3.13.3) + rspec-expectations (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) rspec-html-matchers (0.10.0) nokogiri (~> 1) rspec (>= 3.0.0.a) - rspec-mocks (3.13.2) + rspec-mocks (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) rspec-multi-mock (0.3.1) rspec (>= 3.7.0) - rspec-rails (7.1.0) - actionpack (>= 7.0) - activesupport (>= 7.0) - railties (>= 7.0) + rspec-rails (8.0.2) + actionpack (>= 7.2) + activesupport (>= 7.2) + railties (>= 7.2) rspec-core (~> 3.13) rspec-expectations (~> 3.13) rspec-mocks (~> 3.13) rspec-support (~> 3.13) - rspec-support (3.13.2) + rspec-support (3.13.4) rss (0.3.1) rexml rswag-specs (2.16.0) @@ -453,42 +545,52 @@ GEM rspec-core (>= 2.14) rtlcss (0.2.1) mini_racer (>= 0.6.3) - rubocop (1.71.1) + rubocop (1.79.2) json (~> 2.3) - language_server-protocol (>= 3.17.0) + language_server-protocol (~> 3.17.0.2) + lint_roller (~> 1.1.0) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) - rubocop-ast (>= 1.38.0, < 2.0) + rubocop-ast (>= 1.46.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.38.0) - parser (>= 3.3.1.0) - rubocop-capybara (2.21.0) - rubocop (~> 1.41) - rubocop-discourse (3.9.3) + rubocop-ast (1.46.0) + parser (>= 3.3.7.2) + prism (~> 1.4) + rubocop-capybara (2.22.1) + lint_roller (~> 1.1) + rubocop (~> 1.72, >= 1.72.1) + rubocop-discourse (3.12.1) activesupport (>= 6.1) - rubocop (>= 1.59.0) - rubocop-capybara (>= 2.0.0) - rubocop-factory_bot (>= 2.0.0) - rubocop-rails (>= 2.25.0) + lint_roller (>= 1.1.0) + rubocop (>= 1.73.2) + rubocop-capybara (>= 2.22.0) + rubocop-factory_bot (>= 2.27.0) + rubocop-rails (>= 2.30.3) rubocop-rspec (>= 3.0.1) - rubocop-rspec_rails (>= 2.30.0) - rubocop-factory_bot (2.26.1) - rubocop (~> 1.61) - rubocop-rails (2.29.1) + rubocop-rspec_rails (>= 2.31.0) + rubocop-factory_bot (2.27.1) + lint_roller (~> 1.1) + rubocop (~> 1.72, >= 1.72.1) + rubocop-rails (2.33.3) activesupport (>= 4.2.0) + lint_roller (~> 1.1) rack (>= 1.1) - rubocop (>= 1.52.0, < 2.0) - rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rspec (3.4.0) - rubocop (~> 1.61) - rubocop-rspec_rails (2.30.0) - rubocop (~> 1.61) - rubocop-rspec (~> 3, >= 3.0.1) - ruby-prof (1.7.1) + rubocop (>= 1.75.0, < 2.0) + rubocop-ast (>= 1.44.0, < 2.0) + rubocop-rspec (3.6.0) + lint_roller (~> 1.1) + rubocop (~> 1.72, >= 1.72.1) + rubocop-rspec_rails (2.31.0) + lint_roller (~> 1.1) + rubocop (~> 1.72, >= 1.72.1) + rubocop-rspec (~> 3.5) + ruby-prof (1.7.2) + base64 ruby-progressbar (1.13.0) + ruby-rc4 (0.1.5) ruby-readability (0.7.2) guess_html_encoding (>= 0.0.4) nokogiri (>= 1.6.0) @@ -497,115 +599,151 @@ GEM sanitize (7.0.0) crass (~> 1.0.2) nokogiri (>= 1.16.8) - sass-embedded (1.77.5) - google-protobuf (>= 3.25, < 5.0) + sass-embedded (1.90.0) + google-protobuf (~> 4.31) rake (>= 13) - sass-embedded (1.77.5-arm64-darwin) - google-protobuf (>= 3.25, < 5.0) - sass-embedded (1.77.5-x86_64-darwin) - google-protobuf (>= 3.25, < 5.0) - sassc-embedded (1.77.7) - sass-embedded (~> 1.77) + sass-embedded (1.90.0-aarch64-linux-gnu) + google-protobuf (~> 4.31) + sass-embedded (1.90.0-aarch64-linux-musl) + google-protobuf (~> 4.31) + sass-embedded (1.90.0-arm-linux-gnueabihf) + google-protobuf (~> 4.31) + sass-embedded (1.90.0-arm-linux-musleabihf) + google-protobuf (~> 4.31) + sass-embedded (1.90.0-arm64-darwin) + google-protobuf (~> 4.31) + sass-embedded (1.90.0-x86_64-darwin) + google-protobuf (~> 4.31) + sass-embedded (1.90.0-x86_64-linux-gnu) + google-protobuf (~> 4.31) + sass-embedded (1.90.0-x86_64-linux-musl) + google-protobuf (~> 4.31) + sassc-embedded (1.80.5) + sass-embedded (~> 1.80) + sawyer (0.9.2) + addressable (>= 2.3.5) + faraday (>= 0.17.3, < 3) securerandom (0.4.1) - selenium-devtools (0.135.0) - selenium-webdriver (~> 4.2) - selenium-webdriver (4.31.0) - base64 (~> 0.2) - logger (~> 1.4) - rexml (~> 3.2, >= 3.2.5) - rubyzip (>= 1.2.2, < 3.0) - websocket (~> 1.0) - shoulda-matchers (6.4.0) + shoulda-matchers (6.5.0) activesupport (>= 5.2.0) - sidekiq (6.5.12) - connection_pool (>= 2.2.5, < 3) - rack (~> 2.0) - redis (>= 4.5.0, < 5) + sidekiq (7.3.9) + base64 + connection_pool (>= 2.3.0) + logger + rack (>= 2.2.4) + redis-client (>= 0.22.2) simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) simplecov_json_formatter (~> 0.1) - simplecov-html (0.13.1) + simplecov-html (0.13.2) simplecov_json_formatter (0.1.4) simpleidn (0.2.3) - snaky_hash (2.0.1) - hashie - version_gem (~> 1.1, >= 1.1.1) - sprockets (3.7.5) - base64 - concurrent-ruby (~> 1.0) - rack (> 1, < 3) - sprockets-rails (3.5.2) - actionpack (>= 6.1) - activesupport (>= 6.1) - sprockets (>= 3.0.0) - sqlite3 (2.5.0) + snaky_hash (2.0.3) + hashie (>= 0.1.0, < 6) + version_gem (>= 1.1.8, < 3) + sqlite3 (2.7.3) mini_portile2 (~> 2.8.0) - sqlite3 (2.5.0-arm64-darwin) - sqlite3 (2.5.0-x86_64-darwin) + sqlite3 (2.7.3-aarch64-linux-gnu) + sqlite3 (2.7.3-aarch64-linux-musl) + sqlite3 (2.7.3-arm-linux-gnu) + sqlite3 (2.7.3-arm-linux-musl) + sqlite3 (2.7.3-arm64-darwin) + sqlite3 (2.7.3-x86_64-darwin) + sqlite3 (2.7.3-x86_64-linux-gnu) + sqlite3 (2.7.3-x86_64-linux-musl) sshkey (3.0.0) stackprof (0.2.27) - stringio (3.1.2) - syntax_tree (6.2.0) + stringio (3.1.7) + stripe (11.1.0) + syntax_tree (6.3.0) prettier_print (>= 1.2.0) - syntax_tree-disable_ternary (1.0.0) test-prof (1.4.4) - thor (1.3.2) + thor (1.4.0) + tiktoken_ruby (0.0.11.1) + rb_sys (= 0.9.106) + tiktoken_ruby (0.0.11.1-aarch64-linux) + tiktoken_ruby (0.0.11.1-arm-linux) + tiktoken_ruby (0.0.11.1-arm64-darwin) + tiktoken_ruby (0.0.11.1-x86_64-darwin) + tiktoken_ruby (0.0.11.1-x86_64-linux) + tiktoken_ruby (0.0.11.1-x86_64-linux-musl) timeout (0.4.3) + tokenizers (0.5.5) + rb_sys + tokenizers (0.5.5-aarch64-linux) + tokenizers (0.5.5-aarch64-linux-musl) + tokenizers (0.5.5-arm64-darwin) + tokenizers (0.5.5-x86_64-darwin) + tokenizers (0.5.5-x86_64-linux) + tokenizers (0.5.5-x86_64-linux-musl) trilogy (2.9.0) + ttfunk (1.8.0) + bigdecimal (~> 3.1) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - tzinfo-data (1.2025.1) + tzinfo-data (1.2025.2) tzinfo (>= 1.0.0) - uglifier (4.2.1) - execjs (>= 0.3.0, < 3) unf (0.2.0) - unicode-display_width (3.1.4) + unicode-display_width (3.1.5) unicode-emoji (~> 4.0, >= 4.0.4) unicode-emoji (4.0.4) unicorn (6.1.0) kgio (~> 2.6) raindrops (~> 0.7) - uniform_notifier (1.16.0) - uri (1.0.2) + uniform_notifier (1.17.0) + uri (1.0.3) useragent (0.16.11) - version_gem (1.1.4) + version_gem (1.1.8) web-push (3.0.1) jwt (~> 2.0) openssl (~> 3.0) - webmock (3.24.0) + webmock (3.25.1) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) webrick (1.9.1) - websocket (1.2.11) xpath (3.2.0) nokogiri (~> 1.8) yaml-lint (0.1.2) yard (0.9.37) - zeitwerk (2.7.1) + zeitwerk (2.7.3) + zendesk_api (1.38.0.rc1) + faraday (> 2.0.0) + faraday-multipart + hashie (>= 3.5.2, < 6.0.0) + inflection + mini_mime + multipart-post (~> 2.0) PLATFORMS - arm64-darwin-21 - arm64-darwin-22 - arm64-darwin-23 - arm64-darwin-24 + aarch64-linux-gnu + aarch64-linux-musl + arm-linux + arm-linux-gnu + arm-linux-gnueabihf + arm-linux-musl + arm-linux-musleabihf + arm64-darwin ruby - x86_64-darwin-22 - x86_64-darwin-23 - x86_64-darwin-24 + x86_64-darwin + x86_64-linux-gnu + x86_64-linux-musl DEPENDENCIES - actionmailer (~> 7.2.0) - actionpack (~> 7.2.0) - actionview (~> 7.2.0) + Ascii85 + actionmailer (~> 8.0.0) + actionpack (~> 8.0.0) + actionview (~> 8.0.0) actionview_precompiler active_model_serializers (~> 0.8.3) - activemodel (~> 7.2.0) - activerecord (~> 7.2.0) - activesupport (~> 7.2.0) + activemodel (~> 8.0.0) + activerecord (~> 8.0.0) + activesupport (~> 8.0.0) addressable - annotate + afm + annotaterb + aws-sdk-mediaconvert aws-sdk-s3 aws-sdk-sns better_errors @@ -614,6 +752,7 @@ DEPENDENCIES bullet byebug capybara + capybara-playwright-driver cbor certified cgi (>= 0.3.6) @@ -625,25 +764,30 @@ DEPENDENCIES diffy digest digest-xxhash + discourse-emojis discourse-fonts discourse-seed-fu + discourse_ai-tokenizers discourse_dev_assets dry-initializer (~> 3.1) + ed25519 email_reply_trimmer excon - execjs extralite-bundle fabrication - faker (~> 2.16) - fakeweb + faker faraday + faraday-multipart faraday-retry fast_blank fastimage + goldiloader + hashery highline htmlentities http_accept_language image_optim + inflection iso8601 json json_schemer @@ -660,19 +804,21 @@ DEPENDENCIES message_bus messageformat-wrapper mini_mime - mini_racer (= 0.17.pre13) + mini_racer mini_scheduler mini_sql mini_suffix minio_runner mocha multi_json + multipart-post mustache net-http net-imap net-pop net-smtp nokogiri + octokit oj omniauth omniauth-facebook @@ -682,24 +828,26 @@ DEPENDENCIES omniauth-twitter parallel parallel_tests + pdf-reader pg + propshaft pry-byebug pry-rails pry-stack_explorer puma - rack + rack (< 3) rack-mini-profiler rack-protection rails-dom-testing rails_failover rails_multisite - railties (~> 7.2.0) + railties (~> 8.0.0) rake rb-fsevent rbtrace rchardet redcarpet - redis (< 5.0) + redis redis-namespace rinku rotp @@ -715,27 +863,27 @@ DEPENDENCIES rubocop-discourse ruby-prof ruby-progressbar + ruby-rc4 ruby-readability rubyzip sanitize sassc-embedded - selenium-devtools - selenium-webdriver (~> 4.14) + sawyer shoulda-matchers sidekiq simplecov - sprockets (~> 3.7.3) - sprockets-rails sqlite3 sshkey stackprof + stripe syntax_tree - syntax_tree-disable_ternary test-prof thor + tiktoken_ruby + tokenizers trilogy + ttfunk tzinfo-data - uglifier unf unicorn web-push @@ -743,6 +891,356 @@ DEPENDENCIES yaml-lint yard zeitwerk + zendesk_api + +CHECKSUMS + Ascii85 (2.0.1) sha256=15cb5d941808543cbb9e7e6aea3c8ec3877f154c3461e8b3673e97f7ecedbe5a + actionmailer (8.0.2.1) sha256=0de14d8d04541eab130858cb2f0697266be42de1afe1104bc43d7998137ddb9c + actionpack (8.0.2.1) sha256=61e7e11a31dbe5152ca57221788bdca42ef302c4cc53b4c8993d68dce8982b0a + actionview (8.0.2.1) sha256=2ea6d20ccb0b7b84a221a940ac06853ce99235e4ecb4947815839c7c5ecbf347 + actionview_precompiler (0.4.0) sha256=33b6bd6ec4c1b856e02fdf5f6512c9eb4a92ac1c0545e941b3e354b7d540ed1c + active_model_serializers (0.8.4) sha256=7350e3d3b6a5946bbec033241d908013cc85ff4d584230e6aa074225547c754c + activejob (8.0.2.1) sha256=d6e5f2da07ec8efac13a38af1752416770dc74e95783f7b252506d707aa32b89 + activemodel (8.0.2.1) sha256=17bab6cdb86531844113df22f864480a89a276bf0318246e628f99e0ac077ec4 + activerecord (8.0.2.1) sha256=a6556e7bdd53f3889d18d2aa3a7ff115fd6c5e1463dd06f97fb88d06b58c6df1 + activesupport (8.0.2.1) sha256=0405a76fd1ca989975d9ae00d46a4d3979bdf3817482d846b63affa84bd561c6 + addressable (2.8.7) sha256=462986537cf3735ab5f3c0f557f14155d778f4b43ea4f485a9deb9c8f7c58232 + afm (1.0.0) sha256=5bd4d6f6241e7014ef090985ec6f4c3e9745f6de0828ddd58bc1efdd138f4545 + annotaterb (4.18.0) sha256=a07ec5d3e8f063308dbbf17970a74155434504a3c3887511cd94fbc83c4f4294 + ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383 + aws-eventstream (1.4.0) sha256=116bf85c436200d1060811e6f5d2d40c88f65448f2125bc77ffce5121e6e183b + aws-partitions (1.1134.0) sha256=28f5f6156777ac346904a79ce6cb3b14a521e3866fee12a0da86d7b500266d3e + aws-sdk-core (3.227.0) sha256=99071fc5e3ca9347873fd114574319740c3041745df3c74e27875bd912dfc79e + aws-sdk-kms (1.99.0) sha256=ba292fc3ffd672532aae2601fe55ff424eee78da8e23c23ba6ce4037138275a8 + aws-sdk-mediaconvert (1.165.0) sha256=d955a571cd8b0407c0778e1d0f2333a70bf9ab48e36c81da8c5b317db24001e4 + aws-sdk-s3 (1.182.0) sha256=d0fc3579395cb6cb69bf6e975240ce031fc673190e74c8dddbdd6c18572b450d + aws-sdk-sns (1.96.0) sha256=f92b3c7203c53181b1cafb3dbbea85f330002ad696175bda829cfef359fa6dd4 + aws-sigv4 (1.12.1) sha256=6973ff95cb0fd0dc58ba26e90e9510a2219525d07620c8babeb70ef831826c00 + base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b + benchmark (0.4.1) sha256=d4ef40037bba27f03b28013e219b950b82bace296549ec15a78016552f8d2cce + better_errors (2.10.1) sha256=f798f1bac93f3e775925b7fcb24cffbcf0bb62ee2210f5350f161a6b75fc0a73 + bigdecimal (3.2.2) sha256=39085f76b495eb39a79ce07af716f3a6829bc35eb44f2195e2753749f2fa5adc + binding_of_caller (1.0.1) sha256=2b2902abff4246ddcfbc4da9b69bc4a019e22aeb300c2ff6289a173d4b90b29a + bootsnap (1.18.6) sha256=0ae2393c1e911e38be0f24e9173e7be570c3650128251bf06240046f84a07d00 + builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f + bullet (8.0.8) sha256=b4b9905eb6b803d9a0ba620944ed79c8bb27ff3ca90ef8f8e39ff21db5b7c542 + byebug (12.0.0) sha256=d4a150d291cca40b66ec9ca31f754e93fed8aa266a17335f71bb0afa7fca1a1e + capybara (3.40.0) sha256=42dba720578ea1ca65fd7a41d163dd368502c191804558f6e0f71b391054aeef + capybara-playwright-driver (0.5.7) sha256=875a1928077d56be8b484f84674901a2374752d7842d93de2045bbede1aad242 + cbor (0.5.10.1) sha256=79cdf79f18dcd9ee97e0b849c6d573e5a2e3ddc1954d180f384d6ed2612b6df0 + certified (1.0.0) sha256=aa4cdf0e90e7ee96f6e0ce3daae39eaa8f0486124e0d92daf64d2105aeb9069c + cgi (0.5.0) sha256=fe99f65bb2c146e294372ebb27602adbc3b4c008e9ea7038c6bd48c1ec9759da + chunky_png (1.4.0) sha256=89d5b31b55c0cf4da3cf89a2b4ebc3178d8abe8cbaf116a1dba95668502fdcfe + coderay (1.1.3) sha256=dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b + colored2 (4.0.3) sha256=63e1038183976287efc43034f5cca17fb180b4deef207da8ba78d051cbce2b37 + concurrent-ruby (1.3.5) sha256=813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6 + connection_pool (2.5.3) sha256=cfd74a82b9b094d1ce30c4f1a346da23ee19dc8a062a16a85f58eab1ced4305b + cose (1.3.1) sha256=d5d4dbcd6b035d513edc4e1ab9bc10e9ce13b4011c96e3d1b8fe5e6413fd6de5 + cppjieba_rb (0.4.4) sha256=319a7ab57b6ec28a8d1b223487ecd114432f1930d7740db2f99c1991e6c8faaf + crack (1.0.0) sha256=c83aefdb428cdc7b66c7f287e488c796f055c0839e6e545fec2c7047743c4a49 + crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d + css_parser (1.21.1) sha256=6cfd3ffc0a97333b39d2b1b49c95397b05e0e3b684d68f77ec471ba4ec2ef7c7 + csv (3.3.5) sha256=6e5134ac3383ef728b7f02725d9872934f523cb40b961479f69cf3afa6c8e73f + date (3.4.1) sha256=bf268e14ef7158009bfeaec40b5fa3c7271906e88b196d958a89d4b408abe64f + debug_inspector (1.2.0) sha256=9bdfa02eebc3da163833e6a89b154084232f5766087e59573b70521c77ea68a2 + diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962 + diffy (3.4.4) sha256=79384ab5ca82d0e115b2771f0961e27c164c456074bd2ec46b637ebf7b6e47e3 + digest (3.2.0) sha256=fa2e7092ec683f65d82fadde5ff4ca3b32e23ee0b19f1fc1a5e09993ad2d3991 + digest-xxhash (0.2.9) sha256=a989d8309c03c4136a4bea9981ec0a146a2750de7f3dfb7b5624a3038aa598d7 + discourse-emojis (1.0.41) sha256=b322e1de3849ae437152e267ab35101b57f27303ac7136af482962e48c63cc2a + discourse-fonts (0.0.19) sha256=78d4ddd671615908303a675427039d8d787c935e6deae184c6e143c18c6e0033 + discourse-seed-fu (2.3.12) sha256=4f61d95c11ed54609046cd04eb3a51b531c5fa863fa86d1bea7d74264e5c75e4 + discourse_ai-tokenizers (0.3.1) sha256=a7752f2f7b4b29fea148e2c893b287a1478c4dc8828f684c09e51d5a33bbc373 + discourse_dev_assets (0.0.5) sha256=a09a801a210aa3f7247dd382dfd73b389d4bd02be86be675eca2d451f9898285 + docile (1.4.1) sha256=96159be799bfa73cdb721b840e9802126e4e03dfc26863db73647204c727f21e + drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373 + dry-initializer (3.2.0) sha256=37d59798f912dc0a1efe14a4db4a9306989007b302dcd5f25d0a2a20c166c4e3 + ed25519 (1.4.0) sha256=16e97f5198689a154247169f3453ef4cfd3f7a47481fde0ae33206cdfdcac506 + email_reply_trimmer (0.2.0) sha256=05843fa5ee1a2037235f1f3c876e922f613e2b4406fea5bb14212d1708d6c525 + erb (5.0.2) sha256=d30f258143d4300fb4ecf430042ac12970c9bb4b33c974a545b8f58c1ec26c0f + erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9 + excon (1.2.5) sha256=ca040bb61bc0059968f34a17115a00d2db8562e3c0c5c5c7432072b551c85a9d + exifr (1.4.1) sha256=768374cc6b6ff3743acba57c1c35229bdd8c6b9fbc1285952047fc1215c4b894 + extralite-bundle (2.13) sha256=0d00338dd3b348f44a02bb9e93db3714231e7240a48320f1ee3a1db5197db3cc + fabrication (3.0.0) sha256=a6a0bfad9071348ad3cb1701df788524b888c0cdd044b988893e7509f7463be3 + faker (3.5.2) sha256=f9a80291b2e3f259801d1dd552f0732fe04dce5d1f74e798365bc0413789c473 + faraday (2.13.4) sha256=c719ff52cfd0dbaeca79dd83ed3aeea3f621032abf8bc959d1c05666157cac26 + faraday-multipart (1.1.1) sha256=77a18ff40149030fd1aef55bb4fc7a67ce46419a8a3fcd010e28c2526e8d8903 + faraday-net_http (3.4.1) sha256=095757fae7872b94eac839c08a1a4b8d84fd91d6886cfbe75caa2143de64ab3b + faraday-retry (2.3.2) sha256=2402d2029032ebd238a2046221e67f6ef0da78c5a8ce8cd4f8b9c62e4d6451d1 + fast_blank (1.0.1) sha256=269fc30414fed4e6403bc4a49081e1ea539f8b9226e59276ed1efaefabaa17ea + fastimage (2.3.1) sha256=23c629f1f3e7d61bcfcc06c25b3d2418bc6bf41d2e615dbf5132c0e3b63ecce9 + ffi (1.17.2) sha256=297235842e5947cc3036ebe64077584bff583cd7a4e94e9a02fdec399ef46da6 + ffi (1.17.2-aarch64-linux-gnu) sha256=c910bd3cae70b76690418cce4572b7f6c208d271f323d692a067d59116211a1a + ffi (1.17.2-aarch64-linux-musl) sha256=69e6556b091d45df83e6c3b19d3c54177c206910965155a6ec98de5e893c7b7c + ffi (1.17.2-arm-linux-gnu) sha256=d4a438f2b40224ae42ec72f293b3ebe0ba2159f7d1bd47f8417e6af2f68dbaa5 + ffi (1.17.2-arm-linux-musl) sha256=977dfb7f3a6381206dbda9bc441d9e1f9366bf189a634559c3b7c182c497aaa3 + ffi (1.17.2-arm64-darwin) sha256=54dd9789be1d30157782b8de42d8f887a3c3c345293b57ffb6b45b4d1165f813 + ffi (1.17.2-x86_64-darwin) sha256=981f2d4e32ea03712beb26e55e972797c2c5a7b0257955d8667ba58f2da6440e + ffi (1.17.2-x86_64-linux-gnu) sha256=05d2026fc9dbb7cfd21a5934559f16293815b7ce0314846fee2ac8efbdb823ea + ffi (1.17.2-x86_64-linux-musl) sha256=97c0eb3981414309285a64dc4d466bd149e981c279a56371ef811395d68cb95c + fspath (3.1.2) sha256=b5ac9bafb97e2c8f8f9e303cd98ebd484be76fe9aa588bc4d01c6d99e78c9d75 + globalid (1.2.1) sha256=70bf76711871f843dbba72beb8613229a49429d1866828476f9c9d6ccc327ce9 + goldiloader (5.4.0) sha256=277a86ff424b963bc9d98d8f4d10bb7eea0eb010d3209893dea7092302350b73 + google-protobuf (4.32.0) sha256=e64bdc0280e9bb9233fa3f62b72a5c4d1522679c5cb4485b0fec726d0b6b96ab + google-protobuf (4.32.0-aarch64-linux-gnu) sha256=764c3e3e4e4952f798746e5933375f50609572aa964b767d7ab0f96a57fca788 + google-protobuf (4.32.0-aarch64-linux-musl) sha256=17d1442d5e266b96362c35fde23722797344083eddef459fe58731babcc7f52e + google-protobuf (4.32.0-arm64-darwin) sha256=c2a3508af783e0b72171a400c54040be7f65523126cb83f1686d521ef20f5b9b + google-protobuf (4.32.0-x86_64-darwin) sha256=60098f391bbb47c31df8f8fb7f86f307606bf560877f6253f9f142f024d86895 + google-protobuf (4.32.0-x86_64-linux-gnu) sha256=0813ffbb2cade07e757be35a32036455d52cb18856e34666b508c492925d747b + google-protobuf (4.32.0-x86_64-linux-musl) sha256=d26307111f43a27065f38128d744b6e3fcebfb6c6c1595d3755787cda6eebced + guess_html_encoding (0.0.11) sha256=cab6468b945f38673fc41ad147fbbc89693b3c6c34b03b071e2ed669a603e098 + hana (1.3.7) sha256=5425db42d651fea08859811c29d20446f16af196308162894db208cac5ce9b0d + hashdiff (1.2.0) sha256=c984f13e115bfc9953332e8e83bd9d769cfde9944e2d54e07eb9df7b76e140b5 + hashery (2.1.2) sha256=d239cc2310401903f6b79d458c2bbef5bf74c46f3f974ae9c1061fb74a404862 + hashie (5.0.0) sha256=9d6c4e51f2a36d4616cbc8a322d619a162d8f42815a792596039fc95595603da + highline (3.1.2) sha256=67cbd34d19f6ef11a7ee1d82ffab5d36dfd5b3be861f450fc1716c7125f4bb4a + htmlentities (4.3.4) sha256=125a73c6c9f2d1b62100b7c3c401e3624441b663762afa7fe428476435a673da + http_accept_language (2.1.1) sha256=0043f0d55a148cf45b604dbdd197cb36437133e990016c68c892d49dbea31634 + i18n (1.14.7) sha256=ceba573f8138ff2c0915427f1fc5bdf4aa3ab8ae88c8ce255eb3ecf0a11a5d0f + image_optim (0.31.4) sha256=5bffd0891268e8d189d46ee4b8599918581bba1032d244e6ace4779a434776c0 + image_size (3.4.0) sha256=c6a580513fe74947e25e5d3f0aea1e33add6c20f7d0007efa65504317b7f029a + in_threads (1.6.0) sha256=91a7e6138d279dc632f59b8a9a409e47148948e297c0f69c92f9a2479a182149 + inflection (1.0.0) sha256=ceba9b26fc28b9af82e33e822d28f78a4312af75687efec81d5ef1062498d355 + io-console (0.8.1) sha256=1e15440a6b2f67b6ea496df7c474ed62c860ad11237f29b3bd187f054b925fcb + irb (1.15.2) sha256=222f32952e278da34b58ffe45e8634bf4afc2dc7aa9da23fed67e581aa50fdba + iso8601 (0.13.0) sha256=298c2b15b7be5fa95a1372813d36a2257656cd8e906dfbc1f5cb409851425aa2 + jmespath (1.6.2) sha256=238d774a58723d6c090494c8879b5e9918c19485f7e840f2c1c7532cf84ebcb1 + json (2.13.2) sha256=02e1f118d434c6b230a64ffa5c8dee07e3ec96244335c392eaed39e1199dbb68 + json-schema (5.2.2) sha256=60beae0ed79ca9c552854c9ebfd44f50f77bd0c3144526d46afec384509940d5 + json_schemer (2.4.0) sha256=56cb6117bb5748d925b33ad3f415b513d41d25d0bbf57fe63c0a78ff05597c24 + jwt (2.10.1) sha256=e6424ae1d813f63e761a04d6284e10e7ec531d6f701917fadcd0d9b2deaf1cc5 + kgio (2.11.4) sha256=bda7a2146115998a5b07154e708e0ac02c38dcee7e793c33e2e14f600fdfffc6 + language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc + libv8-node (24.1.0.0) sha256=2f0e9ac629c4c5753eaf7001952bb6dce4eb596f3dc0df3049ee7d9cfb9471cd + libv8-node (24.1.0.0-aarch64-linux) sha256=fe7787bdb082d1101f65d8f42572ec6c634776a334d82b9fedded152e1d4f358 + libv8-node (24.1.0.0-arm64-darwin) sha256=f34bdd85787a32a16db137ffbe83feb1cd09f4d69ff3c43cd2f0a675656ee16b + libv8-node (24.1.0.0-x86_64-darwin) sha256=243cfae376d7d54b02fb9e8cfd2a2a08e791d066fb78252925a825f05805083b + libv8-node (24.1.0.0-x86_64-linux) sha256=0857486e64f7bd4133d4aa607c42d0abade1ab53dffcbfd30f12e0b7dba8f157 + libv8-node (24.1.0.0-x86_64-linux-musl) sha256=080a243ac014054780cc0d0be2c18b93642a139d09622c0cfd1ebc8614d24437 + lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87 + listen (3.9.0) sha256=db9e4424e0e5834480385197c139cb6b0ae0ef28cc13310cfd1ca78377d59c67 + literate_randomizer (0.4.0) sha256=05073c9b383983b1ed7e26c40b963468e91bc86e663b3eeff3a4af91b84217b1 + logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203 + lograge (0.14.0) sha256=42371a75823775f166f727639f5ddce73dd149452a55fc94b90c303213dc9ae1 + logstash-event (1.2.02) sha256=89a7dc60fac67070a5f60ba07409e541b09cb58906c391e90cb74b9f217467ae + logster (2.20.1) sha256=a84bbe58e7f99c4eb0246ea3a952ed87950f63aeea3cdbe7147018d10cc9a2a8 + loofah (2.24.1) sha256=655a30842b70ec476410b347ab1cd2a5b92da46a19044357bbd9f401b009a337 + lru_redux (1.1.0) sha256=ee71d0ccab164c51de146c27b480a68b3631d5b4297b8ffe8eda1c72de87affb + lz4-ruby (0.3.3) sha256=011be5ee230cfddc8308d4e2e0b05300c7bc755a887de799377ca6c5b6aede89 + mail (2.8.1) sha256=ec3b9fadcf2b3755c78785cb17bc9a0ca9ee9857108a64b6f5cfc9c0b5bfc9ad + matrix (0.4.3) sha256=a0d5ab7ddcc1973ff690ab361b67f359acbb16958d1dc072b8b956a286564c5b + maxminddb (0.1.22) sha256=50933be438fbed9dceabef4163eab41884bd8830d171fdb8f739bee769c4907e + memory_profiler (1.1.0) sha256=79a17df7980a140c83c469785905409d3027ca614c42c086089d128b805aa8f8 + message_bus (4.4.1) sha256=719ec5c3167e6571030dee0f43eafa99dbf68ae67fca6fd63c265ff55c0c2adb + messageformat-wrapper (1.1.0) sha256=ecea879626e412d1bc841c457dacfcbb1a62cf88ca83573e4ea34bb371f160bc + method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5 + mime-types (3.7.0) sha256=dcebf61c246f08e15a4de34e386ebe8233791e868564a470c3fe77c00eed5e56 + mime-types-data (3.2025.0812) sha256=3b94426896fa1390304fb8c6fe23b69c2c6f471aa2bb0b59bd2ddc532bea0538 + mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef + mini_portile2 (2.8.9) sha256=0cd7c7f824e010c072e33f68bc02d85a00aeb6fce05bb4819c03dfd3c140c289 + mini_racer (0.19.0) sha256=9152694738db8b145ced843126e2a391f908732c069cb97bbc909c2bac16bbc1 + mini_scheduler (0.18.0) sha256=d2f084f38da8d76c5844a92f0d6bd01fc9982a8b5e6c7679b6cf44c82da33503 + mini_sql (1.6.0) sha256=5296637f6a4af5bb43e06788037e9a2968ff9c8eb65928befcba8cb41f42d6ee + mini_suffix (0.3.3) sha256=8d1d33f92f69a2247c9b7d27173235da90479d955cdb863b63a7f53843b722e7 + minio_runner (1.0.0) sha256=ca0fc56a90c63b65a26cda632938c9075046835d41f4b9d1e165b0550eae0538 + minitest (5.25.5) sha256=391b6c6cb43a4802bfb7c93af1ebe2ac66a210293f4a3fb7db36f2fc7dc2c756 + mocha (2.7.1) sha256=8f7d538d5d3ebc75fc788b3d92fbab913a93a78462d2a3ce99d1bdde7af7f851 + msgpack (1.8.0) sha256=e64ce0212000d016809f5048b48eb3a65ffb169db22238fb4b72472fecb2d732 + multi_json (1.17.0) sha256=76581f6c96aebf2e85f8a8b9854829e0988f335e8671cd1a56a1036eb75e4a1b + multi_xml (0.7.2) sha256=307a96dc48613badb7b2fc174fd4e62d7c7b619bc36ea33bfd0c49f64f5787ce + multipart-post (2.4.1) sha256=9872d03a8e552020ca096adadbf5e3cb1cd1cdd6acd3c161136b8a5737cdb4a8 + mustache (1.1.1) sha256=90891fdd50b53919ca334c8c1031eada1215e78d226d5795e523d6123a2717d0 + net-http (0.6.0) sha256=9621b20c137898af9d890556848c93603716cab516dc2c89b01a38b894e259fb + net-imap (0.5.9) sha256=d95905321e1bd9f294ffc7ff8697be218eee1ec96c8504c0960964d0a0be33fc + net-pop (0.1.2) sha256=848b4e982013c15b2f0382792268763b748cce91c9e91e36b0f27ed26420dff3 + net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8 + net-smtp (0.5.1) sha256=ed96a0af63c524fceb4b29b0d352195c30d82dd916a42f03c62a3a70e5b70736 + nio4r (2.7.4) sha256=d95dee68e0bb251b8ff90ac3423a511e3b784124e5db7ff5f4813a220ae73ca9 + nokogiri (1.18.9) sha256=ac5a7d93fd0e3cef388800b037407890882413feccca79eb0272a2715a82fa33 + nokogiri (1.18.9-aarch64-linux-gnu) sha256=5bcfdf7aa8d1056a7ad5e52e1adffc64ef53d12d0724fbc6f458a3af1a4b9e32 + nokogiri (1.18.9-aarch64-linux-musl) sha256=55e9e6ca46c4ad1715e313f407d8481d15be1e3b65d9f8e52ba1c124d01676a7 + nokogiri (1.18.9-arm-linux-gnu) sha256=fe611ae65880e445a9c0f650d52327db239f3488626df4173c05beafd161d46e + nokogiri (1.18.9-arm-linux-musl) sha256=935605e14c0ba17da18d203922440bf6c0676c602659278d855d4622d756a324 + nokogiri (1.18.9-arm64-darwin) sha256=eea3f1f06463ff6309d3ff5b88033c4948d0da1ab3cc0a3a24f63c4d4a763979 + nokogiri (1.18.9-x86_64-darwin) sha256=e0d2deb03d3d7af8016e8c9df5ff4a7d692159cefb135cbb6a4109f265652348 + nokogiri (1.18.9-x86_64-linux-gnu) sha256=b52f5defedc53d14f71eeaaf990da66b077e1918a2e13088b6a96d0230f44360 + nokogiri (1.18.9-x86_64-linux-musl) sha256=e69359d6240c17e64cc9f43970d54f13bfc7b8cc516b819228f687e953425e69 + oauth (1.1.0) sha256=38902b7f0f5ed91e858d6353f5e1e06b2c16a8aa0fd91984671eab1a1d1cddeb + oauth-tty (1.0.5) sha256=34e25c307da4509d4deec266ff3690bbf42e391355f496201c029268862d8b17 + oauth2 (1.4.11) sha256=6739fcc8872bc94f476b0cae3e8bd78a56d8364b1b79b0757794c25e152d5c10 + octokit (5.6.1) sha256=48efb2c2aa83c2c394358f073d35ad71d4ac0f14870cd00ceebd3ef3949fe495 + oj (3.16.11) sha256=2aab609d2bc896529bd3c70d737f591c13932a640ba6164a0f7e414efdb052b1 + omniauth (2.1.2) sha256=def03277298b8f8a5d3ff16cdb2eb5edb9bffed60ee7dda24cc0c89b3ae6a0ce + omniauth-facebook (9.0.0) sha256=440ad8dd9edc9ebec1fd6607b787667c8ce70d2969c2030d7e9ca42a271af854 + omniauth-github (2.0.0) sha256=1ca26576125a97e27d3f8dc39cd98853d7382dd0fc04a40d3b9ec345ee378649 + omniauth-google-oauth2 (1.0.1) sha256=2ed7a4ac8d98ab824c95e0d6760784abf1248262b3ba2ab56ec7ebd7074d12a6 + omniauth-oauth (1.2.1) sha256=25bf22c90234280fa825200490f03ff1ce7d76f1a4fbd6c882c6c5b169c58da8 + omniauth-oauth2 (1.7.3) sha256=3f5a8f99fa72e0f91d2abd7475ceb972a4ae67ed59e049f314c0c1bad81f4745 + omniauth-twitter (1.4.0) sha256=c5cc6c77cd767745ffa9ebbd5fbd694a3fa99d1d2d82a4d7def0bf3b6131b264 + openssl (3.3.0) sha256=ff3a573fc97ab30f69483fddc80029f91669bf36532859bd182d1836f45aee79 + openssl-signature_algorithm (1.3.0) sha256=a3b40b5e8276162d4a6e50c7c97cdaf1446f9b2c3946a6fa2c14628e0c957e80 + optimist (3.2.1) sha256=8cf8a0fd69f3aa24ab48885d3a666717c27bc3d9edd6e976e18b9d771e72e34e + ostruct (0.6.3) sha256=95a2ed4a4bd1d190784e666b47b2d3f078e4a9efda2fccf18f84ddc6538ed912 + parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130 + parallel_tests (5.4.0) sha256=89413fc46e8f6d8e309b0cb1162287ead1c7e9d41a1fee344a73fab4dc14a248 + parser (3.3.9.0) sha256=94d6929354b1a6e3e1f89d79d4d302cc8f5aa814431a6c9c7e0623335d7687f2 + pdf-reader (2.15.0) sha256=c5025750bec8de7b11cfd1d1ccc2b944d2782c3638cd15b5ee1531d1206c0886 + pg (1.6.1) sha256=e210a75e5f702954537e73bb82f90dfbe0c6d9273c018cd0e93e779181028e6b + pg (1.6.1-aarch64-linux) sha256=2dc057589c4df67240bd52c68303a00a91299329bc7573b7447faee42331e214 + pg (1.6.1-aarch64-linux-musl) sha256=24e0c42594601c5021d3243e0e5e6e74d70de83b152d5bcb616ae49d6cac84c0 + pg (1.6.1-arm64-darwin) sha256=3b502915de30cf5983d62aabae927cb7c3628b0ca46cdf3a6b888af4ff7f42b3 + pg (1.6.1-x86_64-darwin) sha256=c8930170622c39ee24b318a2265655b5f8f34628444ee00e4ae44068865309f7 + pg (1.6.1-x86_64-linux) sha256=6ac0d5c8efafc3f22a7eca2a264300037598fabe27a88e5029bc0e6d90caeb1f + pg (1.6.1-x86_64-linux-musl) sha256=419a8e971ef122fb758a296424cb245a369c05a797b6c4787902d7d30eefa494 + playwright-ruby-client (1.54.1) sha256=c097731a9c027ed5a54adaac61ad9e62a318c2ace86fce7c3f85bbd7767682e2 + pp (0.6.2) sha256=947ec3120c6f92195f8ee8aa25a7b2c5297bb106d83b41baa02983686577b6ff + prettier_print (1.2.1) sha256=a72838b5f23facff21f90a5423cdcdda19e4271092b41f4ea7f50b83929e6ff9 + prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193 + prism (1.4.0) sha256=dc0e3e00e93160213dc2a65519d9002a4a1e7b962db57d444cf1a71565bb703e + progress (3.6.0) sha256=360ed306dfa43d6174e847d563c70736dca249e2333cfec4b0387306c86cd573 + propshaft (1.2.1) sha256=e9b91daf52f21152f851a59f8621af53ffb4dc4401f9b5f8fe16065190b98654 + pry (0.15.2) sha256=12d54b8640d3fa29c9211dd4ffb08f3fd8bf7a4fd9b5a73ce5b59c8709385b6b + pry-byebug (3.11.0) sha256=0b0abb7d309bc7f00044d512a3c8567274f7012b944b38becc8440439a1cea72 + pry-rails (0.3.11) sha256=a69e28e24a34d75d1f60bcf241192a54253f8f7ef8a62cba1e75750a9653593d + pry-stack_explorer (0.6.1) sha256=a2dbea9b47c4ad00cf5c1ce21499f8128b915089e90015f7bafb6e9453baf340 + psych (5.2.6) sha256=814328aa5dcb6d604d32126a20bc1cbcf05521a5b49dbb1a8b30a07e580f316e + public_suffix (6.0.2) sha256=bfa7cd5108066f8c9602e0d6d4114999a5df5839a63149d3e8b0f9c1d3558394 + puma (6.6.0) sha256=f25c06873eb3d5de5f0a4ebc783acc81a4ccfe580c760cfe323497798018ad87 + racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f + rack (2.2.17) sha256=5fe02a1ca80d6fb2271dba00985ee2962d6f5620b6f46dfed89f5301ac4699dd + rack-mini-profiler (4.0.1) sha256=485810c23211f908196c896ea10cad72ed68780ee2998bec1f1dfd7558263d78 + rack-protection (3.2.0) sha256=3c74ba7fc59066453d61af9bcba5b6fe7a9b3dab6f445418d3b391d5ea8efbff + rack-session (1.0.2) sha256=a02115e5420b4de036839b9811e3f7967d73446a554b42aa45106af335851d76 + rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463 + rackup (1.0.1) sha256=ba86604a28989fe1043bff20d819b360944ca08156406812dca6742b24b3c249 + rails-dom-testing (2.3.0) sha256=8acc7953a7b911ca44588bf08737bc16719f431a1cc3091a292bca7317925c1d + rails-html-sanitizer (1.6.2) sha256=35fce2ca8242da8775c83b6ba9c1bcaad6751d9eb73c1abaa8403475ab89a560 + rails_failover (2.3.0) sha256=eed6ea0674fd6f9f6b070ad297ad2ead121ecf9202920f6068b6a4f29d9491c9 + rails_multisite (7.0.0) sha256=7aacf364ed86d2bee73fb679cbfe6c343ce89067b9746b3d5857fffc57f036f2 + railties (8.0.2.1) sha256=54e40e1771fc2878f572d5a4e076cddb057ba8d4d471f8b7d9bfc61bc1301d4c + rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a + raindrops (0.20.1) sha256=aa0eb9ff6834f2d9e232ba688bd49cb30be893bc5a3452e74722c94c1fab4730 + rake (13.3.0) sha256=96f5092d786ff412c62fde76f793cc0541bd84d2eb579caa529aa8a059934493 + rb-fsevent (0.11.2) sha256=43900b972e7301d6570f64b850a5aa67833ee7d87b458ee92805d56b7318aefe + rb-inotify (0.11.1) sha256=a0a700441239b0ff18eb65e3866236cd78613d6b9f78fea1f9ac47a85e47be6e + rb_sys (0.9.106) sha256=b64d5e4bb33aefa0acec5d829162f211a8f9e5bfe08780ed298c637c7229527c + rbtrace (0.5.2) sha256=a2d7d222ab81363aaa0e91337ddbf70df834885d401a80ea0339d86c71f31895 + rchardet (1.9.0) sha256=26889486cdd83b378652baf7603f71d93e431bb11bc237b4cd8c65151af4a590 + rdoc (6.14.2) sha256=9fdd44df130f856ae70cc9a264dfd659b9b40de369b16581f4ab746e42439226 + redcarpet (3.6.1) sha256=d444910e6aa55480c6bcdc0cdb057626e8a32c054c29e793fa642ba2f155f445 + redis (5.4.0) sha256=798900d869418a9fc3977f916578375b45c38247a556b61d58cba6bb02f7d06b + redis-client (0.25.2) sha256=aa37e34c29da39fdb0b8663e7a649adb0923959cd4a9351befe2cd19e6f8d6f0 + redis-namespace (1.11.0) sha256=e91a1aa2b2d888b6dea1d4ab8d39e1ae6fac3426161feb9d91dd5cca598a2239 + regexp_parser (2.11.2) sha256=5e5e9c1485ffd8de53ab1d2807affd81f617f72967dfc64fc75a69e2cbf0ff98 + reline (0.6.2) sha256=1dad26a6008872d59c8e05244b119347c9f2ddaf4a53dce97856cd5f30a02846 + request_store (1.7.0) sha256=e1b75d5346a315f452242a68c937ef8e48b215b9453a77a6c0acdca2934c88cb + rexml (3.4.1) sha256=c74527a9a0a04b4ec31dbe0dc4ed6004b960af943d8db42e539edde3a871abca + rinku (2.0.6) sha256=8b60670e3143f3db2b37efa262971ce3619ec23092045498ef9f077d82828d7d + rotp (6.3.0) sha256=75d40087e65ed0d8022c33055a6306c1c400d1c12261932533b5d6cbcd868854 + rouge (4.6.0) sha256=10198622df0ef919796da5686a9cc116a49280805e1ed4b851c97ef677eddd7a + rqrcode (3.1.0) sha256=e2d5996375f6e9a013823c289ed575dbea678b8e0388574302c1fac563f098af + rqrcode_core (2.0.0) sha256=1e40b823ab57a96482a417fff5dd5c33645a00cea6ef5d9e342fecc5ef91d9ab + rrule (0.6.0) sha256=bd123b4df7eb086a6388d9c47e8ecaad3708433d11c57a195a50d4d0dd4e9616 + rspec (3.13.1) sha256=b9f9a58fa915b8d94a1d6b3195fe6dd28c4c34836a6097015142c4a9ace72140 + rspec-core (3.13.5) sha256=ab3f682897c6131c67f9a17cfee5022a597f283aebe654d329a565f9937a4fa3 + rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836 + rspec-html-matchers (0.10.0) sha256=d424bfeb0104884478be299b6695b56c2d0432bb77dc9cedecb5138e91c0e9ae + rspec-mocks (3.13.5) sha256=e4338a6f285ada9fe56f5893f5457783af8194f5d08884d17a87321d5195ea81 + rspec-multi-mock (0.3.1) sha256=289470f28d1d9dcdecabf70e9a14f97b0dc7e3dba090dfbe4c98c64ebd53794c + rspec-rails (8.0.2) sha256=113139a53f5d068d4f48d1c29ad5f982013ed9b0daa69d7f7b266eda5d433ace + rspec-support (3.13.4) sha256=184b1814f6a968102b57df631892c7f1990a91c9a3b9e80ef892a0fc2a71a3f7 + rss (0.3.1) sha256=b46234c04551b925180f8bedfc6f6045bf2d9998417feda72f300e7980226737 + rswag-specs (2.16.0) sha256=8ba26085c408b0bd2ed21dc8015c80f417c7d34c63720ab7133c2549b5bd2a91 + rtlcss (0.2.1) sha256=213d5a00bf61267f93a7a516d699d77e1cc5f396743abb33c01e3f3243a7bf60 + rubocop (1.79.2) sha256=d3f42a7d197952c2a163719c5462fea827710a435b18bfb7070c6eedd2e90391 + rubocop-ast (1.46.0) sha256=0da7f6ad5b98614f89b74f11873c191059c823eae07d6ffd40a42a3338f2232b + rubocop-capybara (2.22.1) sha256=ced88caef23efea53f46e098ff352f8fc1068c649606ca75cb74650970f51c0c + rubocop-discourse (3.12.1) sha256=ebf7e2224f053047372071419052828c3e3a01bccb14ea1f282ac143547df9bc + rubocop-factory_bot (2.27.1) sha256=9d744b5916778c1848e5fe6777cc69855bd96548853554ec239ba9961b8573fe + rubocop-rails (2.33.3) sha256=848c011b58c1292f3066246c9eb18abf6ffcfbce28bc57c4ab888bbec79af74b + rubocop-rspec (3.6.0) sha256=c0e4205871776727e54dee9cc91af5fd74578001551ba40e1fe1a1ab4b404479 + rubocop-rspec_rails (2.31.0) sha256=775375e18a26a1184a812ef3054b79d218e85601b9ae897f38f8be24dddf1f45 + ruby-prof (1.7.2) sha256=270424fcac37e611f2d15a55226c4628e234f8434e1d7c25ca8a2155b9fc4340 + ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33 + ruby-rc4 (0.1.5) sha256=00cc40a39d20b53f5459e7ea006a92cf584e9bc275e2a6f7aa1515510e896c03 + ruby-readability (0.7.2) sha256=7351ddc89ac62ecdd35336acb1313ac29dc1dad9745d59f25109ec2215c6580c + ruby2_keywords (0.0.5) sha256=ffd13740c573b7301cf7a2e61fc857b2a8e3d3aff32545d6f8300d8bae10e3ef + rubyzip (2.4.1) sha256=8577c88edc1fde8935eb91064c5cb1aef9ad5494b940cf19c775ee833e075615 + sanitize (7.0.0) sha256=269d1b9d7326e69307723af5643ec032ff86ad616e72a3b36d301ac75a273984 + sass-embedded (1.90.0) sha256=e1ebd6dcc2c94f30bab081e9b35a7a0579abdff51fee7032bef68298ae6c44d5 + sass-embedded (1.90.0-aarch64-linux-gnu) sha256=e8ce5d2b026a63564a07691b50f1481849ed46afa3e92c3b760150efb6aebab8 + sass-embedded (1.90.0-aarch64-linux-musl) sha256=8df2c75b68ca0c55e3d0ad910c647d34ac8b0fd2869128864c370cde0170efe8 + sass-embedded (1.90.0-arm-linux-gnueabihf) sha256=a150421af6900fce707edcde12b4d5f6c9b85f11256ec26383363ce6611244a2 + sass-embedded (1.90.0-arm-linux-musleabihf) sha256=4e125094f86cc3d7577f7fef67ece0e874d4ea790467e698e7ce169d1a518dd9 + sass-embedded (1.90.0-arm64-darwin) sha256=c3ff4f4b3cb692a16b31b1a678deb6ffb2704f6aee6a8552fa63153f2f9c9c8d + sass-embedded (1.90.0-x86_64-darwin) sha256=cc7770bfbc34bc0c4ad7740523c5ed63500fda44b1c088ec9bc1a53206bdb52c + sass-embedded (1.90.0-x86_64-linux-gnu) sha256=cfcead0b72810818186459b14e587a94aa8bb15a167185898154f7b9d5a63036 + sass-embedded (1.90.0-x86_64-linux-musl) sha256=fffd0ee0dff16fa2ce572228fa7d4f5ed1f9aff6b2b6a79af92cb2000a7b5a71 + sassc-embedded (1.80.5) sha256=b2720c938de54e9798bea17bc044ea0df05f552acec30b8e9a79060cceb9cb3e + sawyer (0.9.2) sha256=fa3a72d62a4525517b18857ddb78926aab3424de0129be6772a8e2ba240e7aca + securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1 + shoulda-matchers (6.5.0) sha256=ef6b572b2bed1ac4aba6ab2c5ff345a24b6d055a93a3d1c3bfc86d9d499e3f44 + sidekiq (7.3.9) sha256=1108712e1def89002b28e3545d5ae15d4a57ffd4d2c25d97bb1360988826b5a7 + simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5 + simplecov-html (0.13.2) sha256=bd0b8e54e7c2d7685927e8d6286466359b6f16b18cb0df47b508e8d73c777246 + simplecov_json_formatter (0.1.4) sha256=529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428 + simpleidn (0.2.3) sha256=08ce96f03fa1605286be22651ba0fc9c0b2d6272c9b27a260bc88be05b0d2c29 + snaky_hash (2.0.3) sha256=25a3d299566e8153fb02fa23fd9a9358845950f7a523ddbbe1fa1e0d79a6d456 + sqlite3 (2.7.3) sha256=d2b2fecd9341132f2cea3fde9061ee0fab9c9d532a8ecccfab4fe63d9621bf57 + sqlite3 (2.7.3-aarch64-linux-gnu) sha256=00bab7e2ceb7e911b0a2c516bcb9ec0aa7ee57b9b231419e1788515319ac4317 + sqlite3 (2.7.3-aarch64-linux-musl) sha256=035dca6c5bc0f45bb059f33cf774e96462563e460a2d5bd48972562bf3a78c8b + sqlite3 (2.7.3-arm-linux-gnu) sha256=c22a2593a8274cba5fc55be415cfddab3ff5d3275b5a78878daf214bf2a60db1 + sqlite3 (2.7.3-arm-linux-musl) sha256=e735bea1c81eceff2e1b3388e6bccbcbf5c81405f7dbd69b5c80b3b4c4a92c89 + sqlite3 (2.7.3-arm64-darwin) sha256=133772f4312a9d0fa0c16aab7c2abdda2ee93f47dded0f353a2981f7b9d2b9b4 + sqlite3 (2.7.3-x86_64-darwin) sha256=a857e364e858d79e634c66c02c130f79c633f0035d422b3381be9958859771f4 + sqlite3 (2.7.3-x86_64-linux-gnu) sha256=11b2612fddf56602d238be7a984fa0633e591edd034f7520747bc0927b7fa865 + sqlite3 (2.7.3-x86_64-linux-musl) sha256=4307278661bbe0a619da7a5da25f4417f6826246ee7b4a56a5c10c3731d5256a + sshkey (3.0.0) sha256=655ba351d6e01a48dfe59d65530af8975c777b8cc57a061770de3228ff2d11cd + stackprof (0.2.27) sha256=aff6d28656c852e74cf632cc2046f849033dc1dedffe7cb8c030d61b5745e80c + stringio (3.1.7) sha256=5b78b7cb242a315fb4fca61a8255d62ec438f58da2b90be66048546ade4507fa + stripe (11.1.0) sha256=a76e82cc7e4d2433803ca5fbe9453d019df376236f0b9fbcb7f36e6dd327f98d + syntax_tree (6.3.0) sha256=56e25a9692c798ec94c5442fe94c5e94af76bef91edc8bb02052cbdecf35f13d + test-prof (1.4.4) sha256=1a59513ed9d33a1f5ca17c0b89da4e70f60a91c83ec62e9a873dbb99141353ef + thor (1.4.0) sha256=8763e822ccb0f1d7bee88cde131b19a65606657b847cc7b7b4b82e772bcd8a3d + tiktoken_ruby (0.0.11.1) sha256=adffa735711bf1b19554423c82ba2e2be4a77d7776186cbaf19f837680f8cb8b + tiktoken_ruby (0.0.11.1-aarch64-linux) sha256=1ffcfcf1a7ac561e2e08996a60b3ee4213923b02184d29da2eb76c3be0c54001 + tiktoken_ruby (0.0.11.1-arm-linux) sha256=2f1b79eadf62c2ea2691821f1d1c008b402e0e48d9baef2fc52d648b0744b7a5 + tiktoken_ruby (0.0.11.1-arm64-darwin) sha256=9b0f2a863bf6dbad2c78f95d8566e39fbb2293be552a7cc16a93e638a0b823e1 + tiktoken_ruby (0.0.11.1-x86_64-darwin) sha256=554c84d14e66a7cef277b00ec26ce6c201d6b94d223f8d71397b1287cda11d78 + tiktoken_ruby (0.0.11.1-x86_64-linux) sha256=ab56c936876c2ccba41fd8dc6588097e6555345ad0bdf5f4204be771a3637618 + tiktoken_ruby (0.0.11.1-x86_64-linux-musl) sha256=fd52104cbeb14471136f8519a07eef457ca84d01693bfb9b92b150a1fb3f42f6 + timeout (0.4.3) sha256=9509f079b2b55fe4236d79633bd75e34c1c1e7e3fb4b56cb5fda61f80a0fe30e + tokenizers (0.5.5) sha256=7bf1600567a3f253ec3f24da51af338437ecd1c638874122a9c57ea1724f4d92 + tokenizers (0.5.5-aarch64-linux) sha256=55ac300cdcefcb4dccbe5b1577920d3ab47dab404c4e70a442aa5c97f084790d + tokenizers (0.5.5-aarch64-linux-musl) sha256=ddd23414ef60e15860a1ec804496ff053aa817956036594923a086c2897c492a + tokenizers (0.5.5-arm64-darwin) sha256=3a1606ce6aa918d89eea816b2de4cba9a7b5ad76ba1b42ad3ff44f6ff6208a85 + tokenizers (0.5.5-x86_64-darwin) sha256=892594b0406c9890d45b4a2fbf16d75e7075472029a48fd84b776d5ee9863e17 + tokenizers (0.5.5-x86_64-linux) sha256=e9681afe50dc74beed880bed08d385ebb1d22d51831d9169e285f3836306730c + tokenizers (0.5.5-x86_64-linux-musl) sha256=f5ccc321a58b58b45ee85042ea384fb0f99600361ecd1260f77bfd020b8bdb0a + trilogy (2.9.0) sha256=a2d63b663ba68a4758e15d1f9afb228f5d16efc7fe7cea68699e1c106ef6067f + ttfunk (1.8.0) sha256=a7cbc7e489cc46e979dde04d34b5b9e4f5c8f1ee5fc6b1a7be39b829919d20ca + tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b + tzinfo-data (1.2025.2) sha256=a92375a1fbb47d38fe88fd514c40a38cc8f97d168da2a6479f15185e86470939 + unf (0.2.0) sha256=e6bcc2e101d80e3f9459753db747d5926aada1aaaf61e629e93359da9a5b04ab + unicode-display_width (3.1.5) sha256=bf566817855ee7ee3adcf7bace0d5906cb14401417db59193f8a5fcedf02dd4e + unicode-emoji (4.0.4) sha256=2c2c4ef7f353e5809497126285a50b23056cc6e61b64433764a35eff6c36532a + unicorn (6.1.0) sha256=45dd987add4c2b084c1880a68373af42797a704ad7441faff9b14b4982aa0fc0 + uniform_notifier (1.17.0) sha256=db4787ed2ad168ccb0ad4027a45811e1c9e2f8275682fee72697e6ce1c6d6ca7 + uri (1.0.3) sha256=e9f2244608eea2f7bc357d954c65c910ce0399ca5e18a7a29207ac22d8767011 + useragent (0.16.11) sha256=700e6413ad4bb954bb63547fa098dddf7b0ebe75b40cc6f93b8d54255b173844 + version_gem (1.1.8) sha256=a964767ecbe36551b9ff2e59099548c27569f2f7f94bdb09f609d76393a8e008 + web-push (3.0.1) sha256=5b4dd2f2bba3bd8951da6416492fe920a6f203d14d3080f943c5d01c0cc4b18d + webmock (3.25.1) sha256=ab9d5d9353bcbe6322c83e1c60a7103988efc7b67cd72ffb9012629c3d396323 + webrick (1.9.1) sha256=b42d3c94f166f3fb73d87e9b359def9b5836c426fc8beacf38f2184a21b2a989 + xpath (3.2.0) sha256=6dfda79d91bb3b949b947ecc5919f042ef2f399b904013eb3ef6d20dd3a4082e + yaml-lint (0.1.2) sha256=e3960b171766ae187338a169815e99fe10fcb0d9c22b1c539e8d57e114324c8a + yard (0.9.37) sha256=a6e910399e78e613f80ba9add9ba7c394b1a935f083cccbef82903a3d2a26992 + zeitwerk (2.7.3) sha256=b2e86b4a9b57d26ba68a15230dcc7fe6f040f06831ce64417b0621ad96ba3e85 + zendesk_api (1.38.0.rc1) sha256=9ebe2575d223ed1c0651b2d10df6c010141cda49d524c38532b472f7e8bb3f7a + +RUBY VERSION + ruby 3.3.1p55 BUNDLED WITH - 2.6.9 + 2.5.22 diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix index 81bfd5bf56dd..248c7b7f5dcc 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix +++ b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix @@ -12,17 +12,16 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "07xjqxmwif57wxz28ch10c3c2261ydv1x56vsiidg2icqciyaamh"; + sha256 = "176vgl9rhy9xqi5i1qdgw4ny8sr6jw32zjsq109sn7jl0j6lvq8d"; type = "gem"; }; - version = "7.2.2.1"; + version = "8.0.2.1"; }; actionpack = { dependencies = [ "actionview" "activesupport" "nokogiri" - "racc" "rack" "rack-session" "rack-test" @@ -38,10 +37,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0d7pq6fsf041fvskzmqm12xcgk5m9d5fa6kbs1lsbmfbgc51dchp"; + sha256 = "02ibk3ldqs1xk74b8lycqh1g6bm4vj5ph8bjlln1brfv64df3rv1"; type = "gem"; }; - version = "7.2.2.1"; + version = "8.0.2.1"; }; actionview = { dependencies = [ @@ -59,10 +58,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "19arngl1nshasvbh90gzc23z1vpid2xzg3043grbmcfqyc68iz39"; + sha256 = "0izkrdg7r7432mw99d7cwhsr5s9whl3aqh5946i88yqbrc6d59if"; type = "gem"; }; - version = "7.2.2.1"; + version = "8.0.2.1"; }; actionview_precompiler = { dependencies = [ "actionview" ]; @@ -95,10 +94,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0nryqb19i3frxhanykf6lmrw0rb09863z114gi7sm55kff2mmygj"; + sha256 = "129bldx70vahaargg0spx5sdqw378591gbrq7b0zm3pc0zdg5rfn"; type = "gem"; }; - version = "7.2.2.1"; + version = "8.0.2.1"; }; activemodel = { dependencies = [ "activesupport" ]; @@ -110,10 +109,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1bzxvccj8349slymls7navb5y14anglkkasphcd6gi72kqgqd643"; + sha256 = "1i3y0ynf16cgc9p28603pxva528a91jgh8nz2d0q8cb5p36vdfhp"; type = "gem"; }; - version = "7.2.2.1"; + version = "8.0.2.1"; }; activerecord = { dependencies = [ @@ -129,10 +128,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1fgscw775wj4l7f5pj274a984paz23zy0111giqkhl9dqdqiz8vr"; + sha256 = "1wbdijshd3dqgzwhdpb32ig6rz8my5zkmanj32fqiwskvmxnwmd6"; type = "gem"; }; - version = "7.2.2.1"; + version = "8.0.2.1"; }; activesupport = { dependencies = [ @@ -147,6 +146,7 @@ "minitest" "securerandom" "tzinfo" + "uri" ]; groups = [ "default" @@ -156,10 +156,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1xa7hr4gp2p86ly6n1j2skyx8pfg6yi621kmnh7zhxr9m7wcnaw4"; + sha256 = "1ik1sm5sizrsnr3di0klh7rvsy9r9mmd805fv5srk66as5psf184"; type = "gem"; }; - version = "7.2.2.1"; + version = "8.0.2.1"; }; addressable = { dependencies = [ "public_suffix" ]; @@ -176,10 +176,20 @@ }; version = "2.8.7"; }; - annotate = { + afm = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0ia5iw9xvvy1igaxsa08vvv4b5ry9ipyr18917pi8w0y4kvddm2v"; + type = "gem"; + }; + version = "1.0.0"; + }; + annotaterb = { dependencies = [ "activerecord" - "rake" + "activesupport" ]; groups = [ "development" @@ -188,10 +198,20 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1lw0fxb5mirsdp3bp20gjyvs7clvi19jbxnrm2ihm20kzfhvlqcs"; + sha256 = "15229wyciywlrl8pb263lc24ahsm86kp0ygipf6k0qzhx39wazm0"; type = "gem"; }; - version = "3.2.0"; + version = "4.18.0"; + }; + Ascii85 = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0nmyxpngg5rycyryhq9l9hapz1y3iqyflskyksxkqm0832a5vjqm"; + type = "gem"; + }; + version = "2.0.1"; }; ast = { groups = [ @@ -202,46 +222,48 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "04nc8x27hlzlrr5c2gn7mar4vdr0apw5xg22wp6m8dx3wqr04a0y"; + sha256 = "10yknjyn0728gjn6b5syynvrvrwm66bhssbxq8mkhshxghaiailm"; type = "gem"; }; - version = "2.4.2"; + version = "2.4.3"; }; aws-eventstream = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0gvdg4yx4p9av2glmp7vsxhs0n8fj1ga9kq2xdb8f95j7b04qhzi"; + sha256 = "0fqqdqg15rgwgz3mn4pj91agd20csk9gbrhi103d20328dfghsqi"; type = "gem"; }; - version = "1.3.0"; + version = "1.4.0"; }; aws-partitions = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0fhym2gsm9kzl74nvzk3hhw288n1l77kxinhik43p37ayranzcv5"; + sha256 = "0gkd4q0bbmw6vah15vkghvij398l7g5yd7570ilk9b3pcwazdx98"; type = "gem"; }; - version = "1.894.0"; + version = "1.1134.0"; }; aws-sdk-core = { dependencies = [ "aws-eventstream" "aws-partitions" "aws-sigv4" + "base64" "jmespath" + "logger" ]; groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "088nq8yz9n4p7pnhjwp9nbxlkj7jwchpkzvnl4nybfb1dkvk4dns"; + sha256 = "17n7vw9djnw74x7cgwsxfi0k033l351mf56i7y3lg4yawg2iy1wr"; type = "gem"; }; - version = "3.191.3"; + version = "3.227.0"; }; aws-sdk-kms = { dependencies = [ @@ -252,10 +274,24 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1gbxms3daszl4mk89swjrpq3fqgm9lg0wl65yjfp0nfz8jm4jyqf"; + sha256 = "1a3mh89kfh6flqxw48wfv9wfwkj2zxazw096mqm56wnnzz1jyads"; type = "gem"; }; - version = "1.77.0"; + version = "1.99.0"; + }; + aws-sdk-mediaconvert = { + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1r0182r7scavikd82v7392mzj2x76cihy7cffz00f14brmqsamfr"; + type = "gem"; + }; + version = "1.165.0"; }; aws-sdk-s3 = { dependencies = [ @@ -267,10 +303,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1safbxycz517m2v981z8kbmdiqx9jypl093ia0mcrskkgh4fyb3s"; + sha256 = "03a55dbihv6xvgfwhx0f35rwc7q3rr0555vfpxlwpdjw75wkbz6h"; type = "gem"; }; - version = "1.143.0"; + version = "1.182.0"; }; aws-sdk-sns = { dependencies = [ @@ -281,10 +317,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1ql1y276lfk27dyisk8ak1wdnysklw2dcir3kgy05glzzc9j4z1w"; + sha256 = "1m3dz9cz7zlwhbd5n5wnsqm00c7khpmbnggvraqq2cf50dr3qazr"; type = "gem"; }; - version = "1.72.0"; + version = "1.96.0"; }; aws-sigv4 = { dependencies = [ "aws-eventstream" ]; @@ -292,23 +328,31 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1g3w27wzjy4si6kp49w10as6ml6g6zl3xrfqs5ikpfciidv9kpc4"; + sha256 = "003ch8qzh3mppsxch83ns0jra8d222ahxs96p9cdrl0grfazywv9"; type = "gem"; }; - version = "1.8.0"; + version = "1.12.1"; }; base64 = { groups = [ "default" + "development" "test" ]; - platforms = [ ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "ruby"; + } + ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; + sha256 = "0yx9yn47a8lkfcjmigk79fykxvr80r4m1i35q82sxzynpbm7lcr7"; type = "gem"; }; - version = "0.2.0"; + version = "0.3.0"; }; benchmark = { groups = [ @@ -319,10 +363,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0jl71qcgamm96dzyqk695j24qszhcc7liw74qc83fpjljp2gh4hg"; + sha256 = "1kicilpma5l0lwayqjb5577bm0hbjndj2gh150xz09xsgc1l1vyl"; type = "gem"; }; - version = "0.4.0"; + version = "0.4.1"; }; better_errors = { dependencies = [ @@ -355,10 +399,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1k6qzammv9r6b2cw3siasaik18i6wjc5m0gw5nfdc6jj64h79z1g"; + sha256 = "1p2szbr4jdvmwaaj2kxlbv1rp0m6ycbgfyp0kjkkkswmniv5y21r"; type = "gem"; }; - version = "3.1.9"; + version = "3.2.2"; }; binding_of_caller = { dependencies = [ "debug_inspector" ]; @@ -387,10 +431,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0mdgj9yw1hmx3xh2qxyjc31y8igmxzd9h0c245ay2zkz76pl4k5c"; + sha256 = "003xl226y120cbq1n99805jw6w75gcz1gs941yz3h7li3qy3kqha"; type = "gem"; }; - version = "1.18.4"; + version = "1.18.6"; }; builder = { groups = [ @@ -415,10 +459,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0kfyg2j6a4sg94sajnmy0scv9dxjh7jka9dlil1fzpx137g2zw3p"; + sha256 = "0hn5nysivwlzwgwgh3m97kzjgfy8g7nl82b2pahdj0xqnrg91fdl"; type = "gem"; }; - version = "8.0.0"; + version = "8.0.8"; }; byebug = { groups = [ @@ -435,10 +479,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0nx3yjf4xzdgb8jkmk2344081gqr22pgjqnmjg2q64mj5d6r9194"; + sha256 = "07hsr9zzl2mvf5gk65va4smdizlk9rsiz8wwxik0p96cj79518fl"; type = "gem"; }; - version = "11.1.3"; + version = "12.0.0"; }; capybara = { dependencies = [ @@ -460,15 +504,30 @@ }; version = "3.40.0"; }; + capybara-playwright-driver = { + dependencies = [ + "addressable" + "capybara" + "playwright-ruby-client" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0hnjmbhyvfs543g96bc4sx94fdx2054ng12g925vwmkx0wl1jnl7"; + type = "gem"; + }; + version = "0.5.7"; + }; cbor = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1dsf9gjc2cj79vrnz2vgq573biqjw7ad4b0idm05xg6rb3y9gq4y"; + sha256 = "1w3d5dhx4vjd707ihkcmq7fy78p5fgawcjdqw2byxnfw32gzgkbr"; type = "gem"; }; - version = "0.5.9.8"; + version = "0.5.10.1"; }; certified = { groups = [ @@ -488,10 +547,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0c5494n3n6l51n1w1vc118zckbqdzk7r6b656hswg72w0bif2ja3"; + sha256 = "1njrjznc2j5xqqw71sp9130b9hyv59h2gfrf6yaf4in1n9dzd6gy"; type = "gem"; }; - version = "0.4.1"; + version = "0.5.0"; }; chunky_png = { groups = [ "default" ]; @@ -556,10 +615,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1z7bag6zb2vwi7wp2bkdkmk7swkj6zfnbsnc949qq0wfsgw94fr3"; + sha256 = "0nrhsk7b3sjqbyl1cah6ibf1kvi3v93a7wf4637d355hp614mmyg"; type = "gem"; }; - version = "2.5.0"; + version = "2.5.3"; }; cose = { dependencies = [ @@ -622,20 +681,20 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0625073hwx41c246v9dvkp0rk0xgh9d0sc0gm73dbmlxnjwgalv7"; + sha256 = "1izp5vna86s7xivqzml4nviy01bv76arrd5is8wkncwp1by3zzbc"; type = "gem"; }; - version = "1.21.0"; + version = "1.21.1"; }; csv = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0kmx36jjh2sahd989vcvw74lrlv07dqc3rnxchc5sj2ywqsw3w3g"; + sha256 = "0gz7r2kazwwwyrwi95hbnhy54kwkfac5swh2gy5p5vw36fn38lbf"; type = "gem"; }; - version = "3.3.2"; + version = "3.3.5"; }; date = { groups = [ @@ -673,20 +732,20 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1znxccz83m4xgpd239nyqxlifdb7m8rlfayk6s259186nkgj6ci7"; + sha256 = "0qlrj2qyysc9avzlr4zs1py3x684hqm61n4czrsk1pyllz5x5q4s"; type = "gem"; }; - version = "1.5.1"; + version = "1.6.2"; }; diffy = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "19xaz5qmw0kg1rdsjh13vk7674bpcmjy6cnddx1cvl80vgkvjr22"; + sha256 = "1qs7drxvyzk3dg22xgblc12lq5kww9hhj7vpn8ay3l42rasllf3r"; type = "gem"; }; - version = "3.4.3"; + version = "3.4.4"; }; digest = { groups = [ "default" ]; @@ -708,15 +767,25 @@ }; version = "0.2.9"; }; + discourse-emojis = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0anccf6f8qi992pkcwdc0drz4mqv20ssnrz2a9ql7bj973gf28mk"; + type = "gem"; + }; + version = "1.0.41"; + }; discourse-fonts = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "18bj5d0hf7bwy0pppah55aawg7yn61sjgjhh03j5lcnkxl9mrlm7"; + sha256 = "0cq0ds6c2hz1qs2f3skdbs9pqy4dkl1jfm3778q0hnb1f7bdvm3q"; type = "gem"; }; - version = "0.0.18"; + version = "0.0.19"; }; discourse-seed-fu = { dependencies = [ @@ -732,6 +801,21 @@ }; version = "2.3.12"; }; + discourse_ai-tokenizers = { + dependencies = [ + "activesupport" + "tiktoken_ruby" + "tokenizers" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0wy3pcrml7g51566i3w2r16qqix1hyr97j7292hzwaabgcpjyxd7"; + type = "gem"; + }; + version = "0.3.1"; + }; discourse_dev_assets = { dependencies = [ "faker" @@ -744,10 +828,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0ncd6n34vm7qd5mpza8wrqfkgfc6xbd5rxjcbdnvsv94zxr75rm1"; + sha256 = "11c2i7wm3m52xisycsz85g84p79q7gbxz0nkgljgg8qa44d816m0"; type = "gem"; }; - version = "0.0.4"; + version = "0.0.5"; }; docile = { groups = [ @@ -763,14 +847,18 @@ version = "1.4.1"; }; drb = { - groups = [ "default" ]; + groups = [ + "default" + "development" + "test" + ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79"; + sha256 = "0wrkl7yiix268s2md1h6wh91311w95ikd8fy8m5gx589npyxc00b"; type = "gem"; }; - version = "2.2.1"; + version = "2.2.3"; }; dry-initializer = { groups = [ "default" ]; @@ -782,6 +870,16 @@ }; version = "3.2.0"; }; + ed25519 = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "01n5rbyws1ijwc5dw7s88xx3zzacxx9k97qn8x11b6k8k18pzs8n"; + type = "gem"; + }; + version = "1.4.0"; + }; email_reply_trimmer = { groups = [ "default" ]; platforms = [ ]; @@ -792,6 +890,20 @@ }; version = "0.2.0"; }; + erb = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "03vcq8g8rxdq8njp9j9k9fxwjw19q4m08c7lxjs0yc6l8f0ja3yk"; + type = "gem"; + }; + version = "5.0.2"; + }; erubi = { groups = [ "default" @@ -814,27 +926,15 @@ version = "1.13.1"; }; excon = { + dependencies = [ "logger" ]; groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1am69fn9nzj2pa05fd02q4zbzn1g7c9w5g52yjzdsbhm1x9n9g95"; + sha256 = "17asr18vawi08g3wbif0wdi8bnyj01d125saydl9j1f03fv0n16a"; type = "gem"; }; - version = "1.2.3"; - }; - execjs = { - groups = [ - "assets" - "default" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "03a590q16nhqvfms0lh42mp6a1i41w41qpdnf39zjbq5y3l8pjvb"; - type = "gem"; - }; - version = "2.10.0"; + version = "1.2.5"; }; exifr = { groups = [ "default" ]; @@ -851,10 +951,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1x73a43hjw7f9vwlhfax4rmp7hpwaadvcamnbw31hh94bx3i71lv"; + sha256 = "1k5kglcva79sxvqj10x481r1w8ql6zdr77mv095g8j5ksf6k600d"; type = "gem"; }; - version = "2.8.2"; + version = "2.13"; }; fabrication = { groups = [ @@ -864,10 +964,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1al5iv3as21l5clci0b5cg27z136pan7gkj7plp4l0w83c6z2y9c"; + sha256 = "1qrv8vvhjx9yi64bji6hrp08if14hmwdy08prg9qld3ij2nvz856"; type = "gem"; }; - version = "2.31.0"; + version = "3.0.0"; }; faker = { dependencies = [ "i18n" ]; @@ -878,20 +978,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1wslw5gh335zcahxmdd497xaa7h0d8l60c0jfv942mn47fxy8m47"; + sha256 = "0wy4i4vl3h2v6scffx0zbp74vq1gfgq55m8x3n05kwp3na8h5a7r"; type = "gem"; }; - version = "2.23.0"; - }; - fakeweb = { - groups = [ "test" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1a09z9nb369bvwpghncgd5y4f95lh28w0q258srh02h22fz9dj8y"; - type = "gem"; - }; - version = "1.3.0"; + version = "3.5.2"; }; faraday = { dependencies = [ @@ -903,10 +993,21 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1mls9g490k63rdmjc9shqshqzznfn1y21wawkxrwp2vvbk13jwqm"; + sha256 = "09mcghancmn0s5cwk2xz581j3xm3xqxfv0yxg75axnyhrx9gy6f7"; type = "gem"; }; - version = "2.12.2"; + version = "2.13.4"; + }; + faraday-multipart = { + dependencies = [ "multipart-post" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "00w9imp55hi81q0wsgwak90ldkk7gbyb8nzmmv8hy0s907s8z8bp"; + type = "gem"; + }; + version = "1.1.1"; }; faraday-net_http = { dependencies = [ "net-http" ]; @@ -914,10 +1015,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0jp5ci6g40d6i50bsywp35l97nc2fpi9a592r2cibwicdb6y9wd1"; + sha256 = "0fxbckg468dabkkznv48ss8zv14d9cd8mh1rr3m98aw7wzx5fmq9"; type = "gem"; }; - version = "3.4.0"; + version = "3.4.1"; }; faraday-retry = { dependencies = [ "faraday" ]; @@ -925,10 +1026,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "023ncwlagnf2irx2ckyj1pg1f1x436jgr4a5y45mih298p8zwij1"; + sha256 = "1laici6jximrz3a8rkm8qmwdmw3fgzk22qh4l8wd5srjj01d40i4"; type = "gem"; }; - version = "2.2.1"; + version = "2.3.2"; }; fast_blank = { groups = [ "default" ]; @@ -976,10 +1077,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0fgwn1grxf4zxmyqmb9i4z2hr111585n9jnk17y6y7hhs7dv1xi6"; + sha256 = "19kdyjg3kv7x0ad4xsd4swy5izsbb1vl1rpb6qqcqisr5s23awi9"; type = "gem"; }; - version = "1.17.1"; + version = "1.17.2"; }; fspath = { groups = [ "default" ]; @@ -1002,6 +1103,20 @@ }; version = "1.2.1"; }; + goldiloader = { + dependencies = [ + "activerecord" + "activesupport" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0wqb6l1262d7vs9rh86k22q0xskypc84v3wdv74kp5jb8bzqcyi7"; + type = "gem"; + }; + version = "5.4.0"; + }; google-protobuf = { dependencies = [ "bigdecimal" @@ -1011,10 +1126,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0rmmp533ypc5c2r3ks8zqxchqkf1g8laig87f7hdfmwz0p07cmcs"; + sha256 = "1awndc5nswpc1xdlid2wkikj45adbhmbfqizz8rr5fz9h01dqjz6"; type = "gem"; }; - version = "4.29.3"; + version = "4.32.0"; }; guess_html_encoding = { groups = [ "default" ]; @@ -1044,10 +1159,20 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0xqsnx25lm1wwgchvrl5xla5zzk3d6gbkdfj062cwggdsvgfwc1c"; + sha256 = "1da0w5v7ppxrgvh58bafjklzv73nknyq73if6d9rkz2v24zg3169"; type = "gem"; }; - version = "1.1.2"; + version = "1.2.0"; + }; + hashery = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0qj8815bf7q6q7llm5rzdz279gzmpqmqqicxnzv066a020iwqffj"; + type = "gem"; + }; + version = "2.1.2"; }; hashie = { groups = [ "default" ]; @@ -1142,6 +1267,16 @@ }; version = "1.6.0"; }; + inflection = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0mfkk0j0dway3p4gwzk8fnpi4hwaywl2v0iywf1azf98zhk9pfnf"; + type = "gem"; + }; + version = "1.0.0"; + }; io-console = { groups = [ "default" @@ -1151,10 +1286,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "18pgvl7lfjpichdfh1g50rpz0zpaqrpr52ybn9liv1v9pjn9ysnd"; + sha256 = "1jszj95hazqqpnrjjzr326nn1j32xmsc9xvd97mbcrrgdc54858y"; type = "gem"; }; - version = "0.8.0"; + version = "0.8.1"; }; irb = { dependencies = [ @@ -1170,10 +1305,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1478m97wiy6nwg6lnl0szy39p46acsvrhax552vsh1s2mi2sgg6r"; + sha256 = "1fpxa2m83rb7xlzs57daqwnzqjmz6j35xr7zb15s73975sak4br2"; type = "gem"; }; - version = "1.15.1"; + version = "1.15.2"; }; iso8601 = { groups = [ "default" ]; @@ -1204,10 +1339,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "048danb0x10mpch6mf88mky35zjn6wk4hpbqq68ssbq58i3fzgfj"; + sha256 = "0s5vklcy2fgdxa9c6da34jbfrqq7xs6mryjglqqb5iilshcg3q82"; type = "gem"; }; - version = "2.9.1"; + version = "2.13.2"; }; json-schema = { dependencies = [ @@ -1222,10 +1357,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1gzrf6q4d9kbixj6bpi2bp8dizmqxcmlq30ni86h3ifzpkcrm0mk"; + sha256 = "1ma0k5889hzydba2ci8lqg87pxsh9zabz7jchm9cbacwsw7axgk0"; type = "gem"; }; - version = "5.1.1"; + version = "5.2.2"; }; json_schemer = { dependencies = [ @@ -1283,20 +1418,34 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0scnz2fvdczdgadvjn0j9d49118aqm3hj66qh8sd2kv6g1j65164"; + sha256 = "1k0311vah76kg5m6zr7wmkwyk5p2f9d9hyckjpn3xgr83ajkj7px"; type = "gem"; }; - version = "3.17.0.4"; + version = "3.17.0.5"; }; libv8-node = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1ki1vjkq8nhmlz7rqi1ic0mjmbjsa7d1bgcvkzdl4q9vhaa5dzvn"; + sha256 = "1kbijkxrqzgf94qdzh1xdxcypr6wnqmra0bhmwz7bif45739l3ig"; type = "gem"; }; - version = "22.7.0.4"; + version = "24.1.0.0"; + }; + lint_roller = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "11yc0d84hsnlvx8cpk4cbj6a4dz9pk0r1k29p0n1fz9acddq831c"; + type = "gem"; + }; + version = "1.1.0"; }; listen = { dependencies = [ @@ -1373,10 +1522,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1bmvpa5mk779rgl4s4qy8nyhjh1lpf5gn4pmv40xyalnv2whryf3"; + sha256 = "1a52r46d263h2kkxng7amrihz5c7xm9ak8vf4jq4x77rwxcbwjx8"; type = "gem"; }; - version = "2.20.0"; + version = "2.20.1"; }; loofah = { dependencies = [ @@ -1391,10 +1540,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "07pfa5kgl7k2hxlzzn89qna6bmiyrxlchgbzi0885frsi08agrk1"; + sha256 = "0dx316q03x6rpdbl610rdaj2vfd5s8fanixk21j4gv3h5f230nk5"; type = "gem"; }; - version = "2.24.0"; + version = "2.24.1"; }; lru_redux = { groups = [ "default" ]; @@ -1450,10 +1599,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1h2cgkpzkh3dd0flnnwfq6f3nl2b1zff9lvqz8xs853ssv5kq23i"; + sha256 = "0nscas3a4mmrp1rc07cdjlbbpb2rydkindmbj3v3z5y1viyspmd0"; type = "gem"; }; - version = "0.4.2"; + version = "0.4.3"; }; maxminddb = { groups = [ "default" ]; @@ -1488,10 +1637,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "15xqp7pnicjh2868fsc6fmxw8cw32bpiaqpc5bz8cwdib09ns3qk"; + sha256 = "1nra1ifgapr67kb6zjkzws5gdnwrzbm463zf1l1p2rby2v1wb7ki"; type = "gem"; }; - version = "4.3.8"; + version = "4.4.1"; }; messageformat-wrapper = { dependencies = [ "mini_racer" ]; @@ -1518,6 +1667,36 @@ }; version = "1.1.0"; }; + mime-types = { + dependencies = [ + "logger" + "mime-types-data" + ]; + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0mjyxl7c0xzyqdqa8r45hqg7jcw2prp3hkp39mdf223g4hfgdsyw"; + type = "gem"; + }; + version = "3.7.0"; + }; + mime-types-data = { + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0f05x8mm7p1dpmchpfx2393nyb4wnqizximq9wq904zsjrl4551v"; + type = "gem"; + }; + version = "3.2025.0812"; + }; mini_mime = { groups = [ "default" @@ -1552,10 +1731,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "168a3crdgakm9mk5yrqlqsrx587rm7sk1f2l7sfs9cg87f7xb7ji"; + sha256 = "1hdv2sn2p74hpixvk7065irhiycilgi2ccc4xmf192yv713njlli"; type = "gem"; }; - version = "0.17.0.pre13"; + version = "0.19.0"; }; mini_scheduler = { dependencies = [ "sidekiq" ]; @@ -1594,10 +1773,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1c0bld2bpnfrld7g0pli3pp3b1z3a21cgahhw70i5cjr33sx88pi"; + sha256 = "0f05mq75bc35w78vkx21bn1lcl07r4w2jqysdji6afy6j1mca3ya"; type = "gem"; }; - version = "0.1.2"; + version = "1.0.0"; }; minitest = { groups = [ @@ -1608,10 +1787,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0izrg03wn2yj3gd76ck7ifbm9h2kgy8kpg4fk06ckpy4bbicmwlw"; + sha256 = "0mn7q9yzrwinvfvkyjiz548a4rmcwbmz2fn9nyzh4j1snin6q6rr"; type = "gem"; }; - version = "5.25.4"; + version = "5.25.5"; }; mocha = { dependencies = [ "ruby2_keywords" ]; @@ -1639,20 +1818,20 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1a5fsgchkpcca4wf3pipbb2jbj523l7fbaq37j10cr0yymwlkc7z"; + sha256 = "0cnpnbn2yivj9gxkh8mjklbgnpx6nf7b8j2hky01dl0040hy0k76"; type = "gem"; }; - version = "1.7.5"; + version = "1.8.0"; }; multi_json = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; + sha256 = "06sabsvnw0x1aqdcswc6bqrqz6705548bfd8z22jxgxfjrn1yn3n"; type = "gem"; }; - version = "1.15.0"; + version = "1.17.0"; }; multi_xml = { dependencies = [ "bigdecimal" ]; @@ -1660,10 +1839,20 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "06x61ca5j84nyhr1mwh9r436yiphnc5hmacb3gwqyn5gd0611kjg"; + sha256 = "1kl7ax7zcj8czlxs6vn3kdhpnz1dwva4y5zwnavssfv193f9cyih"; type = "gem"; }; - version = "0.7.1"; + version = "0.7.2"; + }; + multipart-post = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1a5lrlvmg2kb2dhw3lxcsv6x276bwgsxpnka1752082miqxd0wlq"; + type = "gem"; + }; + version = "2.4.1"; }; mustache = { groups = [ "default" ]; @@ -1695,10 +1884,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0ak8w6ypw4lba1y1mdmqwvkrh84ps6h9kd7hn029h9k85j9sirmb"; + sha256 = "1z1kpshd0r09jv0091bcr4gfx3i1psbqdzy7zyag5n8v3qr0anfr"; type = "gem"; }; - version = "0.5.5"; + version = "0.5.9"; }; net-pop = { dependencies = [ "net-protocol" ]; @@ -1728,10 +1917,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0amlhz8fhnjfmsiqcjajip57ici2xhw089x7zqyhpk51drg43h2z"; + sha256 = "0dh7nzjp0fiaqq1jz90nv4nxhc2w359d7c199gmzq965cfps15pd"; type = "gem"; }; - version = "0.5.0"; + version = "0.5.1"; }; nio4r = { groups = [ "default" ]; @@ -1756,10 +1945,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1gzqcs1kkykj8lrnbxc1iwr1wqmmaml8l6wyxdvy0vqq6gxiqyck"; + sha256 = "0czsh9d738kj0bmpkjnczq9j924hg103gc00i0wfyg0fzn9psnmc"; type = "gem"; }; - version = "1.18.2"; + version = "1.18.9"; }; oauth = { dependencies = [ @@ -1804,6 +1993,20 @@ }; version = "1.4.11"; }; + octokit = { + dependencies = [ + "faraday" + "sawyer" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "15g4kyag6gmxxq6d03472h7srm3imlsks1wg6nac7hl3mb1b5vs8"; + type = "gem"; + }; + version = "5.6.1"; + }; oj = { dependencies = [ "bigdecimal" @@ -1813,24 +2016,25 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "091kbavd1rfiwr6kn1laladspyk67y6hdlsdilz752nqxm9w3ibg"; + sha256 = "1cajn3ylwhby1x51d9hbchm964qwb5zp63f7sfdm55n85ffn1ara"; type = "gem"; }; - version = "3.16.9"; + version = "3.16.11"; }; omniauth = { dependencies = [ "hashie" "rack" + "rack-protection" ]; groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1jn9j54l5h7xcba2vjq74l1dk0xrwvsjxam4qhylpi52nw0h5502"; + sha256 = "1km0wqx9pj609jidvrqfsvzbzfgdnlpdnv7i7xfqm3wb55vk5w6y"; type = "gem"; }; - version = "1.9.2"; + version = "2.1.2"; }; omniauth-facebook = { dependencies = [ "omniauth-oauth2" ]; @@ -1852,10 +2056,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0xbk0dbxqfpyfb33ghz6vrlz3m6442rp18ryf13gwzlnifcawhlb"; + sha256 = "0jc66zp4bhwy7c6s817ws0nkimski3crrhwd7xyy55ss29v6b8hw"; type = "gem"; }; - version = "1.4.0"; + version = "2.0.0"; }; omniauth-google-oauth2 = { dependencies = [ @@ -1868,10 +2072,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "10pnxvb6wpnf58dja3yz4ja527443x3q13hzhcbays4amnnp8i4a"; + sha256 = "19hj9l3xgsy7dssjmfmkca129wdbhh3pdmp0jm685awqinna9mrf"; type = "gem"; }; - version = "0.8.2"; + version = "1.0.1"; }; omniauth-oauth = { dependencies = [ @@ -1949,20 +2153,20 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "073pk2rhyjq2vhdiz3xh2s884r15cvprw1yfjs7h9bmwdf1f9j81"; + sha256 = "0kp3f8g7g7cbw5vfkmpdv71pphhpcxk3lpc892mj9apkd7ys1y4c"; type = "gem"; }; - version = "3.2.0"; + version = "3.2.1"; }; ostruct = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "05xqijcf80sza5pnlp1c8whdaay8x5dc13214ngh790zrizgp8q9"; + sha256 = "04nrir9wdpc4izqwqbysxyly8y7hsfr4fsv69rw91lfi9d5fv8lm"; type = "gem"; }; - version = "0.6.1"; + version = "0.6.3"; }; parallel = { groups = [ @@ -1973,10 +2177,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1vy7sjs2pgz4i96v5yk9b7aafbffnvq7nn419fgvw55qlavsnsyq"; + sha256 = "0c719bfgcszqvk9z47w2p8j2wkz5y35k48ywwas5yxbbh3hm3haa"; type = "gem"; }; - version = "1.26.3"; + version = "1.27.0"; }; parallel_tests = { dependencies = [ "parallel" ]; @@ -1987,10 +2191,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0nikqa0h9znbg31p3hl4y3280sqggjd7m47gmjydxw6iasm66l09"; + sha256 = "0j522kfb9ykk98sfw7qssklwglgahwi1dc8ckcq8wvcgdv23yhc9"; type = "gem"; }; - version = "4.9.0"; + version = "5.4.0"; }; parser = { dependencies = [ @@ -2005,20 +2209,54 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "16qi2qhpszm842awxghmsp64yvvawafq96w5jw98irz3f4bh2jbl"; + sha256 = "1wl7frfk68q6gsf6q6j32jl5m3yc0b9x8ycxz3hy79miaj9r5mll"; type = "gem"; }; - version = "3.3.7.0"; + version = "3.3.9.0"; + }; + pdf-reader = { + dependencies = [ + "Ascii85" + "afm" + "hashery" + "ruby-rc4" + "ttfunk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "11h8dhhd2c8mxssibk9q6qn7ilj4p71crlfirw8pppn8pr85f0n5"; + type = "gem"; + }; + version = "2.15.0"; }; pg = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1p2gqqrm895fzr9vi8d118zhql67bm8ydjvgqbq1crdnfggzn7kn"; + sha256 = "0swf0a0r2xryx788q09w4zcwdq7v1pwq5fvkgr9m8abhbxgaf472"; type = "gem"; }; - version = "1.5.9"; + version = "1.6.1"; + }; + playwright-ruby-client = { + dependencies = [ + "concurrent-ruby" + "mime-types" + ]; + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1ql2frvdgfw57xycwvz8mk11i8v2ksnn3b6s9ajxazh2khd775y0"; + type = "gem"; + }; + version = "1.54.1"; }; pp = { dependencies = [ "prettyprint" ]; @@ -2063,6 +2301,20 @@ }; version = "0.2.0"; }; + prism = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0gkhpdjib9zi9i27vd9djrxiwjia03cijmd6q8yj2q1ix403w3nw"; + type = "gem"; + }; + version = "1.4.0"; + }; progress = { groups = [ "default" ]; platforms = [ ]; @@ -2073,19 +2325,38 @@ }; version = "3.6.0"; }; - pry = { + propshaft = { dependencies = [ - "coderay" - "method_source" + "actionpack" + "activesupport" + "rack" ]; groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0k9kqkd9nps1w1r1rb7wjr31hqzkka2bhi8b518x78dcxppm9zn4"; + sha256 = "0m46p68521hnzvwbby818kfb9zskmwhqd7x5a7w544gjaapivfg9"; type = "gem"; }; - version = "0.14.2"; + version = "1.2.1"; + }; + pry = { + dependencies = [ + "coderay" + "method_source" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0ssv704qg75mwlyagdfr9xxbzn1ziyqgzm0x474jkynk8234pm8j"; + type = "gem"; + }; + version = "0.15.2"; }; pry-byebug = { dependencies = [ @@ -2096,10 +2367,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1y41al94ks07166qbp2200yzyr5y60hm7xaiw4lxpgsm4b1pbyf8"; + sha256 = "0wpa3jd46h44rjz3hjwl5c0zfx3jav4a64nm8h0g1iwv61yvn2hb"; type = "gem"; }; - version = "3.10.1"; + version = "3.11.0"; }; pry-rails = { dependencies = [ "pry" ]; @@ -2142,10 +2413,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1vjrx3yd596zzi42dcaq5xw7hil1921r769dlbz08iniaawlp9c4"; + sha256 = "0vii1xc7x81hicdbp7dlllhmbw5w3jy20shj696n0vfbbnm2hhw1"; type = "gem"; }; - version = "5.2.3"; + version = "5.2.6"; }; public_suffix = { groups = [ @@ -2156,10 +2427,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31"; + sha256 = "1543ap9w3ydhx39ljcd675cdz9cr948x9mp00ab8qvq6118wv9xz"; type = "gem"; }; - version = "6.0.1"; + version = "6.0.2"; }; puma = { dependencies = [ "nio4r" ]; @@ -2202,10 +2473,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0ax778fsfvlhj7c11n0d1wdcb8bxvkb190a9lha5d91biwzyx9g4"; + sha256 = "1pcr8sn02lwzv3z6vx5n41b6ybcnw9g9h05s3lkv4vqdm0f2mq2z"; type = "gem"; }; - version = "2.2.10"; + version = "2.2.17"; }; rack-mini-profiler = { dependencies = [ "rack" ]; @@ -2213,10 +2484,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "00d80wjavaakhs177b7g542qs3n55kj4icjkwj0lbxcmaxyxxw1b"; + sha256 = "0y1x4rc7bz8x3zn8p6g21rw6ivbjml6a2vl9dhchiy8i6b110n28"; type = "gem"; }; - version = "3.3.1"; + version = "4.0.1"; }; rack-protection = { dependencies = [ @@ -2294,10 +2565,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0fx9dx1ag0s1lr6lfr34lbx5i1bvn3bhyf3w3mx6h7yz90p725g5"; + sha256 = "07awj8bp7jib54d0khqw391ryw8nphvqgw4bb12cl4drlx9pkk4a"; type = "gem"; }; - version = "2.2.0"; + version = "2.3.0"; }; rails-html-sanitizer = { dependencies = [ @@ -2327,10 +2598,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0pvwgm413fza8q1zc3mmzx504wiljm9d7b9qrkzfzsb2yzpidxs2"; + sha256 = "1jcijjfz595nd1h0z4h2jb7iw4md5snrglha0xmryvzxfh3fmmpf"; type = "gem"; }; - version = "2.2.0"; + version = "2.3.0"; }; rails_multisite = { dependencies = [ @@ -2341,10 +2612,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1al624kvcxa5ijprali9gxp0bqv1w1573iswb5fkg4p2i4xvimvv"; + sha256 = "1winy1bzrzspb0ynnx5rcy8fhg1ldkzcnydn7zkvxll6xmjg7b3s"; type = "gem"; }; - version = "6.1.0"; + version = "7.0.0"; }; railties = { dependencies = [ @@ -2364,10 +2635,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "07zy8b88qxx493pc5sfkzvxqj3zcf363r1128n3hsvfx2vqipwg3"; + sha256 = "0k0x630ipimzv6vzhwflsjl7n1fvrmvf196mfbspha7wf4bhxr2l"; type = "gem"; }; - version = "7.2.2.1"; + version = "8.0.2.1"; }; rainbow = { groups = [ @@ -2412,10 +2683,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6"; + sha256 = "14s4jdcs1a4saam9qmzbsa2bsh85rj9zfxny5z315x3gg0nhkxcn"; type = "gem"; }; - version = "13.2.1"; + version = "13.3.0"; }; rb-fsevent = { groups = [ @@ -2445,6 +2716,16 @@ }; version = "0.11.1"; }; + rb_sys = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0z2j55r7qqwc57nq11z0pzjzka0iy9i930jxxjna1vrsnd5mwkdn"; + type = "gem"; + }; + version = "0.9.106"; + }; rbtrace = { dependencies = [ "ffi" @@ -2462,10 +2743,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1p65p6f917al0f07sn5ca9yj92f7mk52xgnp0ahqpyrb8r6sdjz8"; + sha256 = "158qydqnrn1r0gm806j0bn439y0dyzdpscwi1sm3ldl1mcid5mx2"; type = "gem"; }; - version = "0.5.1"; + version = "0.5.2"; }; rchardet = { groups = [ "default" ]; @@ -2478,7 +2759,10 @@ version = "1.9.0"; }; rdoc = { - dependencies = [ "psych" ]; + dependencies = [ + "erb" + "psych" + ]; groups = [ "default" "development" @@ -2487,30 +2771,42 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0h00mb8wcj937srrafpjzq0klfi8rfpd4b3xpbvn9ghrn2wnzimy"; + sha256 = "09lj8d16wx5byj0nbcb9wc6v9farsvgn98n91kknm18g2ggl9pcz"; type = "gem"; }; - version = "6.11.0"; + version = "6.14.2"; }; redcarpet = { groups = [ "generic_import" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1sg9sbf9pm91l7lac7fs4silabyn0vflxwaa2x3lrzsm0ff8ilca"; + sha256 = "0iglapqs4av4za9yfaac0lna7s16fq2xn36wpk380m55d8792i6l"; type = "gem"; }; - version = "3.6.0"; + version = "3.6.1"; }; redis = { + dependencies = [ "redis-client" ]; groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0fikjg6j12ka6hh36dxzhfkpqqmilzjfzcdf59iwkzsgd63f0ziq"; + sha256 = "0syhyw1bp9nbb0fvcmm58y1c6iav6xw6b4bzjz1rz2j1d7c012br"; type = "gem"; }; - version = "4.8.1"; + version = "5.4.0"; + }; + redis-client = { + dependencies = [ "connection_pool" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1w6nz3k1kkg2xwdkbaflkjaj62fvk9j7lgk6p2qgsffs556f6dxa"; + type = "gem"; + }; + version = "0.25.2"; }; redis-namespace = { dependencies = [ "redis" ]; @@ -2532,10 +2828,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0qccah61pjvzyyg6mrp27w27dlv6vxlbznzipxjcswl7x3fhsvyb"; + sha256 = "167zy35y4sasqx7wdpv757vigxl1znphfa0xmd9xxn7zhla9qpjy"; type = "gem"; }; - version = "2.10.0"; + version = "2.11.2"; }; reline = { dependencies = [ "io-console" ]; @@ -2547,10 +2843,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1lirwlw59apc8m1wjk85y2xidiv0fkxjn6f7p84yqmmyvish6qjp"; + sha256 = "0ii8l0q5zkang3lxqlsamzfz5ja7jc8ln905isfdawl802k2db8x"; type = "gem"; }; - version = "0.6.0"; + version = "0.6.2"; }; request_store = { dependencies = [ "rack" ]; @@ -2611,10 +2907,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1pchwrkr0994v7mh054lcp0na3bk3mj2sk0dc33bn6bhxrnirj1a"; + sha256 = "0ynxxmvzczn9a6wd87jyh209590nq6f6ls55dmwiky8fvwi8c68h"; type = "gem"; }; - version = "4.5.1"; + version = "4.6.0"; }; rqrcode = { dependencies = [ @@ -2625,20 +2921,20 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1hggzz8i1l62pkkiybhiqv6ypxw7q844sddrrbbfczjcnj5sivi3"; + sha256 = "1bwqy1iwbyn1091mg203is5ngsnvfparwa1wh89s1sgnfmirkmg2"; type = "gem"; }; - version = "2.2.0"; + version = "3.1.0"; }; rqrcode_core = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "06ld6386hbdhy5h0k09axmgn424kavpc8f27k1vjhknjhbf8jjfg"; + sha256 = "1ayrj7pwbv1g6jg5vvx6rq05lr1kbkfzbzqplj169aapmcivhh0y"; type = "gem"; }; - version = "1.2.0"; + version = "2.0.0"; }; rrule = { dependencies = [ "activesupport" ]; @@ -2664,10 +2960,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "14xrp8vq6i9zx37vh0yp4h9m0anx9paw200l1r5ad9fmq559346l"; + sha256 = "0h11wynaki22a40rfq3ahcs4r36jdpz9acbb3m5dkf0mm67sbydr"; type = "gem"; }; - version = "3.13.0"; + version = "3.13.1"; }; rspec-core = { dependencies = [ "rspec-support" ]; @@ -2679,10 +2975,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "001kazj244cb6fbkmh7ap74csbr78717qaskqzqpir1q8xpdmywl"; + sha256 = "18sgga9zjrd5579m9rpb78l7yn9a0bjzwz51z5kiq4y6jwl6hgxb"; type = "gem"; }; - version = "3.13.2"; + version = "3.13.5"; }; rspec-expectations = { dependencies = [ @@ -2697,10 +2993,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0n3cyrhsa75x5wwvskrrqk56jbjgdi2q1zx0irllf0chkgsmlsqf"; + sha256 = "0dl8npj0jfpy31bxi6syc7jymyd861q277sfr6jawq2hv6hx791k"; type = "gem"; }; - version = "3.13.3"; + version = "3.13.5"; }; rspec-html-matchers = { dependencies = [ @@ -2732,10 +3028,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1vxxkb2sf2b36d8ca2nq84kjf85fz4x7wqcvb8r6a5hfxxfk69r3"; + sha256 = "10gajm8iscl7gb8q926hyna83bw3fx2zb4sqdzjrznjs51pqlcz4"; type = "gem"; }; - version = "3.13.2"; + version = "3.13.5"; }; rspec-multi-mock = { dependencies = [ "rspec" ]; @@ -2768,10 +3064,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0izfwfb9bfb5q3wjgjc85b9nlkribqn8vk75zadafv08qilmnn4l"; + sha256 = "1kis8dfxlvi6gdzrv9nsn3ckw0c2z7armhni917qs1jx7yjkjc8i"; type = "gem"; }; - version = "7.1.0"; + version = "8.0.2"; }; rspec-support = { groups = [ @@ -2782,10 +3078,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1v6v6xvxcpkrrsrv7v1xgf7sl0d71vcfz1cnrjflpf6r7x3a58yf"; + sha256 = "1xx3f4mgr84jz07fifd3r68hm6giqy91hqyzawmi0s59yqa1hjqq"; type = "gem"; }; - version = "3.13.2"; + version = "3.13.4"; }; rss = { dependencies = [ "rexml" ]; @@ -2832,6 +3128,7 @@ dependencies = [ "json" "language_server-protocol" + "lint_roller" "parallel" "parser" "rainbow" @@ -2848,13 +3145,16 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1ypwxjy2cp44278m9ljg3s937n2cd6x4yskcyzf1k9m3hkjd3pyk"; + sha256 = "1483x79fsvhc0yvvy62v8c5729x8zri5973icfhw4lkr35yjmx6k"; type = "gem"; }; - version = "1.71.1"; + version = "1.79.2"; }; rubocop-ast = { - dependencies = [ "parser" ]; + dependencies = [ + "parser" + "prism" + ]; groups = [ "default" "development" @@ -2863,13 +3163,16 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1bi6pgnii77763dzwhafcp8lrmnh4n1bqbdimhc9lfj4zs96gpsg"; + sha256 = "0ar3y8w36am483ynyzg0x8iwhn8h34y8f4agny4lyqcqbfnzd9qd"; type = "gem"; }; - version = "1.38.0"; + version = "1.46.0"; }; rubocop-capybara = { - dependencies = [ "rubocop" ]; + dependencies = [ + "lint_roller" + "rubocop" + ]; groups = [ "default" "development" @@ -2878,14 +3181,15 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1aw0n8jwhsr39r9q2k90xjmcz8ai2k7xx2a87ld0iixnv3ylw9jx"; + sha256 = "030wymq0jrblrdswl1lncj60dhcg5wszz6708qzsbziyyap8rn6f"; type = "gem"; }; - version = "2.21.0"; + version = "2.22.1"; }; rubocop-discourse = { dependencies = [ "activesupport" + "lint_roller" "rubocop" "rubocop-capybara" "rubocop-factory_bot" @@ -2900,13 +3204,16 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "13n46107615lc8lkx4dh38hpzv4qxx4a0m6dvf0r21zxnvz7ysyl"; + sha256 = "1g7rgma47h9a50gyl56bph0klglch9990hbi40vlfc059wif5xzb"; type = "gem"; }; - version = "3.9.3"; + version = "3.12.1"; }; rubocop-factory_bot = { - dependencies = [ "rubocop" ]; + dependencies = [ + "lint_roller" + "rubocop" + ]; groups = [ "default" "development" @@ -2915,14 +3222,15 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1aljadsjx7affcarzbhz7pydpy6fgqb8hl951y0cmrffxpa3rqcd"; + sha256 = "1zkkhldrdacv4gn58dc591jxjnw5d767frzywm41i33p2rclnx4x"; type = "gem"; }; - version = "2.26.1"; + version = "2.27.1"; }; rubocop-rails = { dependencies = [ "activesupport" + "lint_roller" "rack" "rubocop" "rubocop-ast" @@ -2935,13 +3243,16 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1ahpgc22shmkk1n96rz3islcpx5sgg4z3mblynjz8qjxipsgrhj1"; + sha256 = "0jzpkb3vx2w8mg25gg18rvxzqvxziaqrwv14cqq2yaf1b0dh3344"; type = "gem"; }; - version = "2.29.1"; + version = "2.33.3"; }; rubocop-rspec = { - dependencies = [ "rubocop" ]; + dependencies = [ + "lint_roller" + "rubocop" + ]; groups = [ "default" "development" @@ -2950,13 +3261,14 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "11a89mzbby49hbd8nhkjrxpr8bq24fafl728mjkk15ccd8xw28c7"; + sha256 = "0ya4815sp8g13w7a86sm0605fx7xyldck77f9pjjfrvpf5c21r60"; type = "gem"; }; - version = "3.4.0"; + version = "3.6.0"; }; rubocop-rspec_rails = { dependencies = [ + "lint_roller" "rubocop" "rubocop-rspec" ]; @@ -2968,12 +3280,13 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0ijc1kw81884k0wjq1sgwaxa854n1fdddscp4fnzfzlx7zl150c8"; + sha256 = "0i8zvzfj9gpq71zqkbmr05bfh66jg55hbwrfh551i896ibhpalvp"; type = "gem"; }; - version = "2.30.0"; + version = "2.31.0"; }; ruby-prof = { + dependencies = [ "base64" ]; groups = [ "development" ]; platforms = [ { @@ -2985,10 +3298,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "097ac9ns2j29zj5fw08libz8izibrlfgg6vkj55d4bzrii296qq2"; + sha256 = "0h23zjwma8car8jpq7af8gw39qi88rn24mass7r13ripmky28117"; type = "gem"; }; - version = "1.7.1"; + version = "1.7.2"; }; ruby-progressbar = { groups = [ @@ -3004,6 +3317,16 @@ }; version = "1.13.0"; }; + ruby-rc4 = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "00vci475258mmbvsdqkmqadlwn6gj9m01sp7b5a3zd90knil1k00"; + type = "gem"; + }; + version = "0.1.5"; + }; ruby-readability = { dependencies = [ "guess_html_encoding" @@ -3068,10 +3391,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1nmy052pm46781s7ca6x3l4yb5p3glh8sf201xwcwpk9rv2av9m2"; + sha256 = "1ma4djp9i0pnpqr71vhzypgsny85g9db7sc1n2x30ky9qbfddsz1"; type = "gem"; }; - version = "1.77.5"; + version = "1.90.0"; }; sassc-embedded = { dependencies = [ "sass-embedded" ]; @@ -3079,10 +3402,24 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "07pddxi18asxzkn652kvgh43dl1b0nf5p8ha62yhg2r0vzapzzvv"; + sha256 = "0gnbp770q1krka70phyf59amzw0dx92c0yx1psc9fkp5in9hqwmj"; type = "gem"; }; - version = "1.77.7"; + version = "1.80.5"; + }; + sawyer = { + dependencies = [ + "addressable" + "faraday" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1jks1qjbmqm8f9kvwa81vqj39avaj9wdnzc531xm29a55bb74fps"; + type = "gem"; + }; + version = "0.9.2"; }; securerandom = { groups = [ @@ -3098,34 +3435,6 @@ }; version = "0.4.1"; }; - selenium-devtools = { - dependencies = [ "selenium-webdriver" ]; - groups = [ "test" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1v2i8bmf92fb6c3cs7wnkxw48mgk3b8r2dib947h62ll7qgyqqiq"; - type = "gem"; - }; - version = "0.135.0"; - }; - selenium-webdriver = { - dependencies = [ - "base64" - "logger" - "rexml" - "rubyzip" - "websocket" - ]; - groups = [ "test" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1s80s7mgpwpfj4df2f43f5im37ks884xkbcxd9fxpk93xs7dicnx"; - type = "gem"; - }; - version = "4.31.0"; - }; shoulda-matchers = { dependencies = [ "activesupport" ]; groups = [ @@ -3135,25 +3444,27 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1c082vpfdf3865xq6xayxw2hwqswhnc9g030p1gi4hmk9dzvnmch"; + sha256 = "0i1zkr4rsvf8pz1x38wkb82nsjx28prmyb5blsmw86pd5cmmfszg"; type = "gem"; }; - version = "6.4.0"; + version = "6.5.0"; }; sidekiq = { dependencies = [ + "base64" "connection_pool" + "logger" "rack" - "redis" + "redis-client" ]; groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0zqr9is8y7mg5dfs1q8w5jl9spwvqkhbi9r6np8208n40hi3pydl"; + sha256 = "19xm4s49hq0kpfbmvhnjskzmfjjxw5d5sm7350mh12gg3lp7220i"; type = "gem"; }; - version = "6.5.12"; + version = "7.3.9"; }; simplecov = { dependencies = [ @@ -3178,10 +3489,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "02zi3rwihp7rlnp9x18c9idnkx7x68w6jmxdhyc0xrhjwrz0pasx"; + sha256 = "0ikjfwydgs08nm3xzc4cn4b6z6rmcrj2imp84xcnimy2wxa8w2xx"; type = "gem"; }; - version = "0.13.1"; + version = "0.13.2"; }; simplecov_json_formatter = { groups = [ @@ -3215,40 +3526,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0cfwvdcr46pk0c7m5aw2w3izbrp1iba0q7l21r37mzpwaz0pxj0s"; + sha256 = "0mnllrwhs7psw6xxs8x5yx85k12qjfdgs8zs0bxm70bfascx58r5"; type = "gem"; }; - version = "2.0.1"; - }; - sprockets = { - dependencies = [ - "base64" - "concurrent-ruby" - "rack" - ]; - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "10ykzsa76cf8kvbfkszlvbyn4ckcx1mxjhfvwxzs7y28cljhzhkj"; - type = "gem"; - }; - version = "3.7.5"; - }; - sprockets-rails = { - dependencies = [ - "actionpack" - "activesupport" - "sprockets" - ]; - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "17hiqkdpcjyyhlm997mgdcr45v35j5802m5a979i5jgqx5n8xs59"; - type = "gem"; - }; - version = "3.5.2"; + version = "2.0.3"; }; sqlite3 = { dependencies = [ "mini_portile2" ]; @@ -3256,10 +3537,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0sqshkafxa1r34yj4yxisd4kddmjq9jrhx6azqy3z71nwqv01yl7"; + sha256 = "0mxz46b3vrjgmg7wr3iaaffrraqgxrhr1pizx8n2y4s1jg6zxcnj"; type = "gem"; }; - version = "2.5.0"; + version = "2.7.3"; }; sshkey = { groups = [ "default" ]; @@ -3297,10 +3578,20 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0cd1kdrf62p2ya3ia4rz49d5012bqinvqjmcgkakknswz0l1hkr0"; + sha256 = "1yh78pg6lm28c3k0pfd2ipskii1fsraq46m6zjs5yc9a4k5vfy2v"; type = "gem"; }; - version = "3.1.2"; + version = "3.1.7"; + }; + stripe = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "13gr4z9nsvpknyy9y2vg4dvg77817m2ykyx57j03692dgv684vm7"; + type = "gem"; + }; + version = "11.1.0"; }; syntax_tree = { dependencies = [ "prettier_print" ]; @@ -3311,23 +3602,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0g9l9acknjr2yz8ynfxbcrwx2ws3wh96pfzdb31g66k08v1022m5"; + sha256 = "0ggi6p7xxjsj42q8pp0yz6z7dbwlbr6fjbs4qnafr667jab5mqjn"; type = "gem"; }; - version = "6.2.0"; - }; - syntax_tree-disable_ternary = { - groups = [ - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0gdi6zx4hqpxd81zas3dlw1jrdp98fvsqj4p7f42x5lhpfzz04zc"; - type = "gem"; - }; - version = "1.0.0"; + version = "6.3.0"; }; test-prof = { groups = [ "test" ]; @@ -3348,10 +3626,21 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1nmymd86a0vb39pzj2cwv57avdrl6pl3lf5bsz58q594kqxjkw7f"; + sha256 = "0gcarlmpfbmqnjvwfz44gdjhcmm634di7plcx2zdgwdhrhifhqw7"; type = "gem"; }; - version = "1.3.2"; + version = "1.4.0"; + }; + tiktoken_ruby = { + dependencies = [ "rb_sys" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "12ybz207d0wzy6x6q63nfxysgr1b5sx84g22ajav3w8vf4ssgzxd"; + type = "gem"; + }; + version = "0.0.11.1"; }; timeout = { groups = [ @@ -3367,6 +3656,17 @@ }; version = "0.4.3"; }; + tokenizers = { + dependencies = [ "rb_sys" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "14jd9xra2zn5m4i431rqqv8yqdw46fpm3ni47zn57wm3cw2n1wbv"; + type = "gem"; + }; + version = "0.5.5"; + }; trilogy = { groups = [ "migrations" ]; platforms = [ ]; @@ -3377,6 +3677,17 @@ }; version = "2.9.0"; }; + ttfunk = { + dependencies = [ "bigdecimal" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1ji0kn8jkf1rpskv3ijzxvqwixg4p6sk8kg0vmwyjinci7jcgjx7"; + type = "gem"; + }; + version = "1.8.0"; + }; tzinfo = { dependencies = [ "concurrent-ruby" ]; groups = [ @@ -3398,21 +3709,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "02yz3x0qxnnwbf7k18yck5pggbnyy43rq0d5w2r6rwlk3981m31d"; + sha256 = "0f898y35w60mkx3sd8ld2ryzkj4cld04qlgxi3z3hzdlzfhpa8x9"; type = "gem"; }; - version = "1.2025.1"; - }; - uglifier = { - dependencies = [ "execjs" ]; - groups = [ "assets" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1apmqsad2y1avffh79f4lfysfppz94fvpyi7lkkj3z8bn60jpm3m"; - type = "gem"; - }; - version = "4.2.1"; + version = "1.2025.2"; }; unf = { groups = [ "default" ]; @@ -3434,10 +3734,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1has87asspm6m9wgqas8ghhhwyf2i1yqrqgrkv47xw7jq3qjmbwc"; + sha256 = "0knx0bgwwpwa7wcmknqp2i019jq6b46wxfppvhxfxrsyhlbnhmmz"; type = "gem"; }; - version = "3.1.4"; + version = "3.1.5"; }; unicode-emoji = { groups = [ @@ -3485,20 +3785,24 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1dfvqixshwvm82b9qwdidvnkavdj7s0fbdbmyd4knkl6l3j9xcwr"; + sha256 = "19vcdlfcxrlp4vkzx0jn4zwf5jg125ca89s0mnqcqs6i5bnqfiyv"; type = "gem"; }; - version = "1.16.0"; + version = "1.17.0"; }; uri = { - groups = [ "default" ]; + groups = [ + "default" + "development" + "test" + ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "09qyg6a29cfgd46qid8qvx4sjbv596v19ym73xvhanbyxd6500xk"; + sha256 = "04bhfvc25b07jaiaf62yrach7khhr5jlr5bx6nygg8pf11329wp9"; type = "gem"; }; - version = "1.0.2"; + version = "1.0.3"; }; useragent = { groups = [ @@ -3519,10 +3823,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "08a6agx7xk1f6cr9a95dq42vl45si2ln21h33b96li59sv3555y6"; + sha256 = "0270m29n7mq9yq4xnjzryzr6jxf292ahjn9fzywm2rg3rdz7cr59"; type = "gem"; }; - version = "1.1.4"; + version = "1.1.8"; }; web-push = { dependencies = [ @@ -3548,10 +3852,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "08kixkdp41dw39kqfxf2wp5m4z9b6fxg6yfa6xin0wy7dxzka0dy"; + sha256 = "08v374yrqqhjj3xjzmvwnv3yz21r22kn071yr0i67gmwaf9mv7db"; type = "gem"; }; - version = "3.24.0"; + version = "3.25.1"; }; webrick = { groups = [ @@ -3567,19 +3871,6 @@ }; version = "1.9.1"; }; - websocket = { - groups = [ - "default" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0dr78vh3ag0d1q5gfd8960g1ca9g6arjd2w54mffid8h4i7agrxp"; - type = "gem"; - }; - version = "1.2.11"; - }; xpath = { dependencies = [ "nokogiri" ]; groups = [ @@ -3624,9 +3915,27 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0mi7b90hvc6nqv37q27df4i2m27yy56yfy2ki5073474a1h9hi89"; + sha256 = "119ypabas886gd0n9kiid3q41w76gz60s8qmiak6pljpkd56ps5j"; type = "gem"; }; - version = "2.7.1"; + version = "2.7.3"; + }; + zendesk_api = { + dependencies = [ + "faraday" + "faraday-multipart" + "hashie" + "inflection" + "mini_mime" + "multipart-post" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0yizpglgfwml6a2w696m97d1q50hq3v0vldja431rv93s9sjbgly"; + type = "gem"; + }; + version = "1.38.0.rc1"; }; } diff --git a/pkgs/servers/web-apps/discourse/update.py b/pkgs/servers/web-apps/discourse/update.py index 13dbf283c881..23d7d081d750 100755 --- a/pkgs/servers/web-apps/discourse/update.py +++ b/pkgs/servers/web-apps/discourse/update.py @@ -291,14 +291,12 @@ def update_plugins(): {'name': 'discourse-github'}, {'name': 'discourse-ldap-auth', 'owner': 'jonmbake'}, {'name': 'discourse-math'}, - {'name': 'discourse-migratepassword', 'owner': 'discoursehosting'}, {'name': 'discourse-openid-connect'}, {'name': 'discourse-prometheus'}, {'name': 'discourse-reactions'}, {'name': 'discourse-saved-searches'}, {'name': 'discourse-solved'}, {'name': 'discourse-spoiler-alert'}, - {'name': 'discourse-voting', 'repo_name': "discourse-topic-voting"}, {'name': 'discourse-yearly-review'}, ]