Merge pull request #215523 from talyz/discourse-3.1.0.beta2

discourse: 2.9.0.beta14 -> 3.1.0.beta2

Changed files
+644 -486
nixos
modules
services
web-apps
tests
pkgs
servers
web-apps
discourse
plugins
discourse-assign
discourse-bbcode-color
discourse-calendar
discourse-canned-replies
discourse-chat-integration
discourse-checklist
discourse-data-explorer
discourse-docs
discourse-github
discourse-ldap-auth
discourse-math
discourse-migratepassword
discourse-openid-connect
discourse-prometheus
discourse-reactions
discourse-saved-searches
discourse-solved
discourse-spoiler-alert
discourse-voting
discourse-yearly-review
rubyEnv
+5
nixos/modules/services/web-apps/discourse.nix
···
s3_endpoint = null;
s3_http_continue_timeout = null;
s3_install_cors_rule = null;
+
s3_asset_cdn_url = null;
max_user_api_reqs_per_minute = 20;
max_user_api_reqs_per_day = 2880;
···
multisite_config_path = "config/multisite.yml";
enable_long_polling = null;
long_polling_interval = null;
+
preload_link_header = false;
+
redirect_avatar_requests = false;
+
pg_force_readonly_mode = false;
};
services.redis.servers.discourse =
···
notification_email = cfg.mail.notificationEmailAddress;
contact_email = cfg.mail.contactEmailAddress;
};
+
security.force_https = tlsEnabled;
email = {
manual_polling_enabled = cfg.mail.incoming.enable;
reply_by_email_enabled = cfg.mail.incoming.enable;
+4 -4
nixos/tests/discourse.nix
···
networking.extraHosts = ''
127.0.0.1 ${discourseDomain}
-
${nodes.client.config.networking.primaryIPAddress} ${clientDomain}
+
${nodes.client.networking.primaryIPAddress} ${clientDomain}
'';
services.postfix = {
···
networking.extraHosts = ''
127.0.0.1 ${clientDomain}
-
${nodes.discourse.config.networking.primaryIPAddress} ${discourseDomain}
+
${nodes.discourse.networking.primaryIPAddress} ${discourseDomain}
'';
services.dovecot2 = {
···
discourse.wait_until_succeeds("curl -sS -f https://${discourseDomain}")
discourse.succeed(
"curl -sS -f https://${discourseDomain}/session/csrf -c cookie -b cookie -H 'Accept: application/json' | jq -r '\"X-CSRF-Token: \" + .csrf' > csrf_token",
-
"curl -sS -f https://${discourseDomain}/session -c cookie -b cookie -H @csrf_token -H 'Accept: application/json' -d 'login=${nodes.discourse.config.services.discourse.admin.username}' -d \"password=${adminPassword}\" | jq -e '.user.username == \"${nodes.discourse.config.services.discourse.admin.username}\"'",
-
"curl -sS -f https://${discourseDomain}/login -v -H 'Accept: application/json' -c cookie -b cookie 2>&1 | grep ${nodes.discourse.config.services.discourse.admin.username}",
+
"curl -sS -f https://${discourseDomain}/session -c cookie -b cookie -H @csrf_token -H 'Accept: application/json' -d 'login=${nodes.discourse.services.discourse.admin.username}' -d \"password=${adminPassword}\" | jq -e '.user.username == \"${nodes.discourse.services.discourse.admin.username}\"'",
+
"curl -sS -f https://${discourseDomain}/login -v -H 'Accept: application/json' -c cookie -b cookie 2>&1 | grep ${nodes.discourse.services.discourse.admin.username}",
)
client.wait_for_unit("postfix.service")
+44 -10
pkgs/servers/web-apps/discourse/default.nix
···
-
{ stdenv, pkgs, makeWrapper, runCommand, lib, writeShellScript
-
, fetchFromGitHub, bundlerEnv, callPackage
+
{ stdenv
+
, pkgs
+
, makeWrapper
+
, runCommand
+
, lib
+
, writeShellScript
+
, fetchFromGitHub
+
, bundlerEnv
+
, callPackage
-
, ruby, replace, gzip, gnutar, git, cacert, util-linux, gawk, nettools
-
, imagemagick, optipng, pngquant, libjpeg, jpegoptim, gifsicle, jhead
-
, oxipng, libpsl, redis, postgresql, which, brotli, procps, rsync, icu
-
, fetchYarnDeps, yarn, fixup_yarn_lock, nodePackages, nodejs-14_x
+
, ruby_3_1
+
, replace
+
, gzip
+
, gnutar
+
, git
+
, cacert
+
, util-linux
+
, gawk
+
, nettools
+
, imagemagick
+
, optipng
+
, pngquant
+
, libjpeg
+
, jpegoptim
+
, gifsicle
+
, jhead
+
, oxipng
+
, libpsl
+
, redis
+
, postgresql
+
, which
+
, brotli
+
, procps
+
, rsync
+
, icu
+
, fetchYarnDeps
+
, yarn
+
, fixup_yarn_lock
+
, nodePackages
, nodejs-16_x
, plugins ? []
}@args:
let
-
version = "2.9.0.beta14";
+
version = "3.1.0.beta2";
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse";
rev = "v${version}";
-
sha256 = "sha256-rdH6tALfhZyCGq1dtOQyuRlEYHSmWgvSz2qG6jrwPu0=";
+
sha256 = "sha256-wkNTm5/QyujPcMUrnc6eWmjhrRQAthhmejmjpy6zmbE=";
};
+
+
ruby = ruby_3_1;
runtimeDeps = [
# For backups, themes and assets
···
yarnOfflineCache = fetchYarnDeps {
yarnLock = src + "/app/assets/javascripts/yarn.lock";
-
sha256 = "1rj8bbhmrnnhaiqw2bik8dilk7g35yhis5p7yww57zy4k5ghjvlw";
+
sha256 = "0ryc4p5s35mzg1p71z98x5fvr5fpldmgghdi1viha4ckbpv153lw";
};
nativeBuildInputs = runtimeDeps ++ [
···
nodePackages.uglify-js
nodePackages.terser
yarn
-
nodejs-14_x
+
nodejs-16_x
];
outputs = [ "out" "javascripts" ];
+24
pkgs/servers/web-apps/discourse/how_to_update.md
···
+
To update discourse, do the following:
+
+
1. Switch to and work from the `master` branch and the directory this
+
file is in.
+
2. Run `./update.py print-diffs` and update the nginx settings and
+
backend settings accordingly. If you don't know how to, ask for
+
help - do not skip this step!
+
3. Run `./update.py update`.
+
4. Run `nix build -L -f ../../../../ discourse.tests` to make sure the
+
update works. Also test manually, if possible.
+
5. If the update works, commit it. If not, apply necessary fixes and
+
commit. No manual fixes that would be overwritten by the
+
`./update.py` script should be committed - the script should be
+
fixed instead.
+
6. Run `./update.py update-mail-receiver`. If there's an update, do
+
step 4 and 5 again.
+
7. Run `./update.py update-plugins`.
+
8. Run `nix build -L -f ../../../../ discourseAllPlugins.tests` to
+
make sure the plugins build and discourse starts with them. Also
+
test manually, if possible.
+
9. If the update works, commit it. If not, apply necessary fixes and
+
commit. No manual fixes that would be overwritten by the
+
`./update.py` script should be committed - the script should be
+
fixed instead.
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix
···
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-assign";
-
rev = "889df32cc61792ed7b1981a08f0b0e9c46da2a56";
-
sha256 = "sha256-ggMmIzjb4CBNAJTf8E09iaN5AGPj+BDzRf2y3h4DCMc=";
+
rev = "c6e6a883f66670e5cfc1eb973af8ac5b7c20f815";
+
sha256 = "sha256-OwNV+ZNogUgd6ZKdXwUqoMqcZKc4jbf276rHIYQzjYc=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-docs";
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix
···
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-bbcode-color";
-
rev = "88ff27dc22198075f1ee8aba3f2b032187b73b9c";
-
sha256 = "sha256-MSwX4qEgrWMTNhF1UE6/GMvo/ZPvg8KZF3DvQutRBVY=";
+
rev = "f9ebbf016c8c5c763473ff36cc30fdcdf8fcf480";
+
sha256 = "sha256-7iCKhMdVlFdHMXxU8mQMU1vFiAbr1qKvG29VdAki+14=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-bbcode-color";
+1 -1
pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile
···
source "https://rubygems.org"
# gem "rails"
-
gem 'rrule', '0.4.4', require: false
+
gem "rrule", "0.4.4", require: false
+5 -5
pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock
···
GEM
remote: https://rubygems.org/
specs:
-
activesupport (7.0.4)
+
activesupport (7.0.4.2)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
-
concurrent-ruby (1.1.10)
+
concurrent-ruby (1.2.0)
i18n (1.12.0)
concurrent-ruby (~> 1.0)
-
minitest (5.16.3)
+
minitest (5.17.0)
rrule (0.4.4)
activesupport (>= 2.3)
-
tzinfo (2.0.5)
+
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
PLATFORMS
···
rrule (= 0.4.4)
BUNDLED WITH
-
2.3.25
+
2.4.6
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix
···
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-calendar";
-
rev = "f4f16d958e5cec5fab109d09a7bfb50fc2b8da12";
-
sha256 = "sha256-TWIWHOVeq3IKjinycaoiVccFKaP4UbNUpZ5n/SQ6afA=";
+
rev = "b71d4979370dcbd6f193b2ac5cfa0267f8a19fed";
+
sha256 = "sha256-XGybZqoM0nX8acLo3iwo+zD+zA4pz/ekLOnmDRNIVSo=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-calendar";
+8 -8
pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "183az13i4fsm28d0l5xhbjpmcj3l1lxzcxlx8pi8zrbd933jwqd0";
+
sha256 = "0dmywys50074vj5rivpx188b00qimlc4jn84xzqlialrgp3ckq5f";
type = "gem";
};
-
version = "7.0.4";
+
version = "7.0.4.2";
};
concurrent-ruby = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14";
+
sha256 = "1qnsflsbjj38im8xq35g0vihlz96h09wjn2dad5g543l3vvrkrx5";
type = "gem";
};
-
version = "1.1.10";
+
version = "1.2.0";
};
i18n = {
dependencies = ["concurrent-ruby"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0516ypqlx0mlcfn5xh7qppxqc3xndn1fnadxawa8wld5dkcimy30";
+
sha256 = "1kjy67qajw4rnkbjs5jyk7kc3lyhz5613fwj1i8f6ppdk4zampy0";
type = "gem";
};
-
version = "5.16.3";
+
version = "5.17.0";
};
rrule = {
dependencies = ["activesupport"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0rx114mpqnw2k4h98vc0rs0x0bmf0img84yh8mkkjkal07cjydf5";
+
sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd";
type = "gem";
};
-
version = "2.0.5";
+
version = "2.0.6";
};
}
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix
···
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-canned-replies";
-
rev = "fe92bc1324fe0d2519f0e33b3fd89a4bed21b2e9";
-
sha256 = "sha256-m+DDS93XJAN9RqX8pXeA78gY+p+7A2ey1oblGpcB4L0=";
+
rev = "b30b20d43ba5cbbb1ff1476bb43e97d5b8a807e8";
+
sha256 = "sha256-XROYSqGy4Z39VAlMXCbx9d+kivpknN98Kn/HhoC4ndQ=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-canned-replies";
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix
···
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-chat-integration";
-
rev = "f6dde41cba2722970cc1a49f47636174a6ec7797";
-
sha256 = "sha256-Cn+Ti1DYcFRqunEEFjGJuhnICO+53IX7tF7U8MkzJX0=";
+
rev = "0522ad64143c9aedb27e00b642e82cad1273c83b";
+
sha256 = "sha256-GsoDVZkmKEX8+HwwQXptmmRuykTDqkbsL4WbFsL/PSo=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-chat-integration";
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix
···
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-checklist";
-
rev = "c97060bd9dc1287d258cac6b7222a9a61d4f97c7";
-
sha256 = "sha256-fVGTYz/2PK5rq/7SE/hkQoWYiIzOcmZ9AHNe5f+osxY=";
+
rev = "4a7f3df360a8e4ff3bbebfed33ea545b1c72506e";
+
sha256 = "sha256-lu8Ry3sUsKnr1nMfR29hbhsfJXLaN5NPuz8iGfsfHTc=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-checklist";
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix
···
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-data-explorer";
-
rev = "467b6c8a91a08ca71080b9bbff2e0cd45dc4efe5";
-
sha256 = "sha256-65Osh9oud/Gfy6dVJ4QXqT+A0wdIN33BeaCUIfyWEGA=";
+
rev = "556d12ac507b140d1ed9d307cad58fa8e1d8cfdd";
+
sha256 = "sha256-fcO/j506kIydnipx6VsuMkj4Wb2MmPCo3LSrj9Fnczc=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-data-explorer";
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix
···
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-docs";
-
rev = "908d9096a81e1d706da231558f9a0547357fe73a";
-
sha256 = "sha256-77MTXMTjuwG1qIhYwUlNBNA39p/eyPF2+IHFpUiG8uo=";
+
rev = "bf1c4574a61b053c136e2b181ba2fedb6c16f838";
+
sha256 = "sha256-voo3Q+e/Ud1Hg+SdHlvRsxoacFnPOQXwWu/g6n5cR3Y=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-docs";
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile
···
source "https://rubygems.org"
# gem "rails"
-
gem 'sawyer', '0.9.2'
-
gem 'octokit', '5.6.1'
+
gem "sawyer", "0.9.2"
+
gem "octokit", "5.6.1"
+3 -3
pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock
···
specs:
addressable (2.8.1)
public_suffix (>= 2.0.2, < 6.0)
-
faraday (2.7.1)
+
faraday (2.7.4)
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-net_http (3.0.2)
octokit (5.6.1)
faraday (>= 1, < 3)
sawyer (~> 0.9)
-
public_suffix (5.0.0)
+
public_suffix (5.0.1)
ruby2_keywords (0.0.5)
sawyer (0.9.2)
addressable (>= 2.3.5)
···
sawyer (= 0.9.2)
BUNDLED WITH
-
2.3.25
+
2.4.6
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix
···
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-github";
-
rev = "873cb13a0dcb3e70360adb86a2e293f377536626";
-
sha256 = "sha256-r3+RXVb0k2UFiMeBQ998Obw7GQg1/uyUzpxFP9g5yXs=";
+
rev = "148f28c1089288c9527fab1dcb88f13a5a5b0d10";
+
sha256 = "sha256-u91X+YFoKE0lP4RnNWX2XzNrJvlOQPbuZzFqBEVf84w=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-github";
+4 -4
pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1wyz9ab0mzi84gpf81fs19vrixglmmxi25k6n1mn9h141qmsp590";
+
sha256 = "1f20vjx0ywx0zdb4dfx4cpa7kd51z6vg7dw5hs35laa45dy9g9pj";
type = "gem";
};
-
version = "2.7.1";
+
version = "2.7.4";
};
faraday-net_http = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0sqw1zls6227bgq38sxb2hs8nkdz4hn1zivs27mjbniswfy4zvi6";
+
sha256 = "0hz0bx2qs2pwb0bwazzsah03ilpf3aai8b7lk7s35jsfzwbkjq35";
type = "gem";
};
-
version = "5.0.0";
+
version = "5.0.1";
};
ruby2_keywords = {
groups = ["default"];
+1 -1
pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/Gemfile
···
# gem "rails"
gem 'pyu-ruby-sasl', '0.0.3.3', require: false
gem 'rubyntlm', '0.3.4', require: false
-
gem 'net-ldap', '0.14.0'
+
gem 'net-ldap', '0.17.1'
gem 'omniauth-ldap', '1.0.5'
+4 -4
pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/Gemfile.lock
···
remote: https://rubygems.org/
specs:
hashie (5.0.0)
-
net-ldap (0.14.0)
+
net-ldap (0.17.1)
omniauth (1.9.2)
hashie (>= 3.4.6)
rack (>= 1.6.2, < 3)
···
pyu-ruby-sasl (~> 0.0.3.2)
rubyntlm (~> 0.3.4)
pyu-ruby-sasl (0.0.3.3)
-
rack (2.2.4)
+
rack (2.2.6.2)
rubyntlm (0.3.4)
PLATFORMS
ruby
DEPENDENCIES
-
net-ldap (= 0.14.0)
+
net-ldap (= 0.17.1)
omniauth-ldap (= 1.0.5)
pyu-ruby-sasl (= 0.0.3.3)
rubyntlm (= 0.3.4)
BUNDLED WITH
-
2.3.22
+
2.4.6
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/default.nix
···
src = fetchFromGitHub {
owner = "jonmbake";
repo = "discourse-ldap-auth";
-
rev = "84635b1c352b2145b8e6074d94047f1e2020dcbc";
-
sha256 = "sha256-yCCSger7qa9R/BMaQdcFtLXqLPj3i3y4tTanz+ufZTw=";
+
rev = "2f7a04b9fbeda0c8ab5c70e9012e4914ede9a707";
+
sha256 = "sha256-zBug9PHgvRsdQjvfWE5Bylm+0Ot+jBHFrbux7+Kn72c=";
};
meta = with lib; {
homepage = "https://github.com/jonmbake/discourse-ldap-auth";
+4 -4
pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/gemset.nix
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "18fyxfbh32ai72cwgz8s9w0fg0xq7j534y217flw54mmzsj8i6qp";
+
sha256 = "1ycw0qsw3hap8svakl0i30jkj0ffd4lpyrn17a1j0w8mz5ainmsj";
type = "gem";
};
-
version = "0.14.0";
+
version = "0.17.1";
};
omniauth = {
dependencies = ["hashie" "rack"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0axc6w0rs4yj0pksfll1hjgw1k6a5q0xi2lckh91knfb72v348pa";
+
sha256 = "0qvp6h2abmlsl4sqjsvac03cr2mxq6143gbx4kq52rpazp021qsb";
type = "gem";
};
-
version = "2.2.4";
+
version = "2.2.6.2";
};
rubyntlm = {
groups = ["default"];
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix
···
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-math";
-
rev = "45563f691aafcd0d76f07db9c105d42f3e3d5ba0";
-
sha256 = "sha256-s2mzV1YdUG9vjw1LKm+jZriQfWYN5Jn232z3Cc7NFeg=";
+
rev = "69494ca5a4d708e16e35f1daebeaa53e3edbca2c";
+
sha256 = "sha256-C0iVUwj+Lbe6TGfkbu6WxdCeMWVjBaejUh6fXVTqq08=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-math";
+1 -1
pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile
···
gem 'unix-crypt', '1.3.0'
gem 'ffi', '1.15.5', require: false
gem 'ffi-compiler', '1.0.1', require: false
-
gem 'argon2', '2.1.1'
+
gem 'argon2', '2.2.0'
+4 -4
pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile.lock
···
GEM
remote: https://rubygems.org/
specs:
-
argon2 (2.1.1)
-
ffi (~> 1.14)
+
argon2 (2.2.0)
+
ffi (~> 1.15)
ffi-compiler (~> 1.0)
bcrypt (3.1.13)
ffi (1.15.5)
···
ruby
DEPENDENCIES
-
argon2 (= 2.1.1)
+
argon2 (= 2.2.0)
bcrypt (= 3.1.13)
ffi (= 1.15.5)
ffi-compiler (= 1.0.1)
unix-crypt (= 1.3.0)
BUNDLED WITH
-
2.3.23
+
2.4.6
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix
···
src = fetchFromGitHub {
owner = "communiteq";
repo = "discourse-migratepassword";
-
rev = "54a451e3dea4416c763c9afacfb6e9fcc05f135a";
-
sha256 = "sha256-14gxO4hYEOSz2Fenl4tO8xeM1AkPaCilV4cnoJQNHGY=";
+
rev = "f78774242eb9bf49a72d2800a39a24eeaa3b401a";
+
sha256 = "sha256-QJO+ei9/l7ye+kWE9VmiIuNCiOH66kd3vds49qlIztY=";
};
meta = with lib; {
homepage = "https://github.com/communiteq/discourse-migratepassword";
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0g4qsdq072fyrsa7r0sg456dhrb017jmzdbnnzl2c80ha40bbmhg";
+
sha256 = "1wdllcqlr81nzyf485ldv1p660xsi476p79ghbj7zsf3n9n86gwd";
type = "gem";
};
-
version = "2.1.1";
+
version = "2.2.0";
};
bcrypt = {
groups = ["default"];
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix
···
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-openid-connect";
-
rev = "43a30dde4a64a01250f4447e74806db65ee7ae1a";
-
sha256 = "sha256-/3AE5cDELKfKwEY+XqaZ6SzJp6XAnW83r67kzLGaV2M=";
+
rev = "fd552d5eee75ba5710ce92bcd2fa7457ec98bcab";
+
sha256 = "sha256-+58QfVvA6BqI/5AfdI4RiSSMzWHvAJMxPvDS2r5FieU=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-openid-connect";
+2 -1
pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile
···
source "https://rubygems.org"
# gem "rails"
-
gem 'prometheus_exporter', File.read(File.expand_path("../prometheus_exporter_version", __FILE__)).strip
+
gem "webrick", "1.7.0"
+
gem "prometheus_exporter", File.read(File.expand_path("../prometheus_exporter_version", __FILE__)).strip
+6 -3
pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock
···
GEM
remote: https://rubygems.org/
specs:
-
prometheus_exporter (0.5.0)
+
prometheus_exporter (2.0.6)
+
webrick
+
webrick (1.7.0)
PLATFORMS
ruby
DEPENDENCIES
-
prometheus_exporter (= 0.5.0)
+
prometheus_exporter (= 2.0.6)
+
webrick (= 1.7.0)
BUNDLED WITH
-
2.3.25
+
2.4.6
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix
···
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-prometheus";
-
rev = "72fff206ba18ad5ca3112fed2f5f0ce6a17ca6f8";
-
sha256 = "sha256-lSZZTcoWeFJTXnHLgry5ezYGmCBuMFJ96dtkOQKKRJc=";
+
rev = "78324fbaa8cfa3040ee7e01ac793ad2515b6c004";
+
sha256 = "sha256-xzI6gzRztLuEzFHlMi3iXZP9bRRMsRHRQEBrwqyzpdk=";
};
patches = [
+13 -2
pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/gemset.nix
···
{
prometheus_exporter = {
+
dependencies = ["webrick"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1kmabnxz466zqnyqlzc693ny4l7i0rxvmc0znswvizc0zg4pri80";
+
sha256 = "0pb4k6px8b36bvnw3d14j31s33ns60dcwxixbcgvhpzavd7fparb";
+
type = "gem";
+
};
+
version = "2.0.6";
+
};
+
webrick = {
+
groups = ["default"];
+
platforms = [];
+
source = {
+
remotes = ["https://rubygems.org"];
+
sha256 = "1d4cvgmxhfczxiq5fr534lmizkhigd15bsx5719r5ds7k7ivisc7";
type = "gem";
};
-
version = "0.5.0";
+
version = "1.7.0";
};
}
+3 -5
pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/no-git-version.patch
···
index 682571b..7bdd431 100644
--- a/lib/internal_metric/global.rb
+++ b/lib/internal_metric/global.rb
-
@@ -30,30 +30,7 @@ module DiscoursePrometheus::InternalMetric
+
@@ -30,28 +30,7 @@ module DiscoursePrometheus::InternalMetric
@active_app_reqs = 0
@queued_app_reqs = 0
@fault_logged = {}
···
- begin
- @@version = nil
-
-
- out, error, status = Open3.capture3('git rev-parse HEAD')
+
- out, error, status = Open3.capture3("git rev-parse HEAD")
-
- if status.success?
- @@version ||= out.chomp
···
-
- @@retries ||= 10
- @@retries -= 1
-
- if @@retries < 0
-
- @@version = -1
-
- end
+
- @@version = -1 if @@retries < 0
- end
+ @@version = -1
end
+1 -1
pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/prometheus_exporter_version
···
-
0.5.0
+
2.0.6
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix
···
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-reactions";
-
rev = "3afaabc8e430dfe655be4efbbcb20ab7f0c7c8d3";
-
sha256 = "sha256-CdrInrPFDpvYW7j0epIeAFUoPGTbmMOGdm2DpkIQBbs=";
+
rev = "aba16d53d15ceca9ae18595ae85defbd10fe0256";
+
sha256 = "sha256-mGyMQGNa5Q2hMQkdIsa1JArA6cqSK+FmGSDJFZxS/go=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-reactions";
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix
···
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-saved-searches";
-
rev = "be97918d0bbac81b98ab96773d5c8c01313ac0c2";
-
sha256 = "sha256-2HTFfaJkLXuuMDa3m7Ppkh9v4BnLfKXyWiRN4c+xaNI=";
+
rev = "d0b568efe6f829617a5bb85793f0ec1d697f2a96";
+
sha256 = "sha256-455ovBExE2+vuZOc0bESAbhtTOXqkMrQ//mVSIitLig=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-saved-searches";
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix
···
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-solved";
-
rev = "a078219a9785f995a0a41c64b97bb0f2930a3ba1";
-
sha256 = "sha256-P3rWEgPoMtzapSqARMFe5/IGT/QtTUFx8LB1kf6vBiU=";
+
rev = "8580f96fdf64abf8b22fa4b28d67a4cb0d72fc42";
+
sha256 = "sha256-YpUybEXQuPeDxxdX9dMNw4h6Mh/zNUaiR3bwzck5Urg=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-solved";
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix
···
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-spoiler-alert";
-
rev = "a7727a1c6b6f921365e1cee802e0c16512bbf8ee";
-
sha256 = "sha256-60Sg8C7a4vXq/IApcskL0hgceoIHhWqACphcgfrbNig=";
+
rev = "a5fdb9096d638ac4a2a3f8ea6b02b6cb04c667d8";
+
sha256 = "sha256-S2Xtd/csB1YI85OA+2UO+OgF5u75Oi2YgIukQNOTQjk=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-spoiler-alert";
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix
···
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-voting";
-
rev = "1ecf494a789235d7ceaf2c8f6cad49176347e6b6";
-
sha256 = "sha256-6UX7VGuZ+AT44ExfZNFWxFwgEx9zBJ3fQbO1vgCa5bE=";
+
rev = "54e134c9b4dfeeb7585ff2c2a782990308733d8b";
+
sha256 = "sha256-0V+4G2XxUjL424DChFIFjCKm2zWaTAXOSiB9Ic8/lF0=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-voting";
+2 -2
pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix
···
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-yearly-review";
-
rev = "0f24d14d2dc861e404cb28f63832b93ed41b44eb";
-
sha256 = "sha256-7cstjcuZ6OUn7u85UEp/B4pycepEK8CHg4W/O4ePoQg=";
+
rev = "cb9a2df92788b0a285a595d4acf1749620f62974";
+
sha256 = "sha256-Hu61ULEXUxb/cjH7Z47hpBchyUTkz0QqunWoW8mSVQg=";
};
meta = with lib; {
homepage = "https://github.com/discourse/discourse-yearly-review";
+150 -141
pkgs/servers/web-apps/discourse/rubyEnv/Gemfile
···
# frozen_string_literal: true
-
source 'https://rubygems.org'
+
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 "bootsnap", require: false, platform: :mri
def rails_master?
-
ENV["RAILS_MASTER"] == '1'
+
ENV["RAILS_MASTER"] == "1"
end
if rails_master?
-
gem 'arel', git: 'https://github.com/rails/arel.git'
-
gem 'rails', git: 'https://github.com/rails/rails.git'
+
gem "arel", git: "https://github.com/rails/arel.git"
+
gem "rails", git: "https://github.com/rails/rails.git"
else
# NOTE: Until rubygems gives us optional dependencies we are stuck with this needing to be explicit
# this allows us to include the bits of rails we use without pieces we do not.
#
# To issue a rails update bump the version number here
-
rails_version = '7.0.3.1'
-
gem 'actionmailer', rails_version
-
gem 'actionpack', rails_version
-
gem 'actionview', rails_version
-
gem 'activemodel', rails_version
-
gem 'activerecord', rails_version
-
gem 'activesupport', rails_version
-
gem 'railties', rails_version
-
gem 'sprockets-rails'
+
rails_version = "7.0.4.1"
+
gem "actionmailer", rails_version
+
gem "actionpack", rails_version
+
gem "actionview", rails_version
+
gem "activemodel", rails_version
+
gem "activerecord", rails_version
+
gem "activesupport", rails_version
+
gem "railties", rails_version
+
gem "sprockets-rails"
end
-
gem 'json'
+
gem "json"
# TODO: At the moment Discourse does not work with Sprockets 4, we would need to correct internals
-
# This is a desired upgrade we should get to.
-
gem 'sprockets', '3.7.2'
+
# We intend to drop sprockets rather than upgrade to 4.x
+
gem "sprockets", git: "https://github.com/rails/sprockets", branch: "3.x"
# this will eventually be added to rails,
# allows us to precompile all our templates in the unicorn master
-
gem 'actionview_precompiler', require: false
+
gem "actionview_precompiler", require: false
-
gem 'discourse-seed-fu'
+
gem "discourse-seed-fu"
-
gem 'mail', git: 'https://github.com/discourse/mail.git'
-
gem 'mini_mime'
-
gem 'mini_suffix'
+
gem "mail", git: "https://github.com/discourse/mail.git"
+
gem "mini_mime"
+
gem "mini_suffix"
-
gem 'redis'
+
gem "redis"
# This is explicitly used by Sidekiq and is an optional dependency.
# We tell Sidekiq to use the namespace "sidekiq" which triggers this
···
# redis namespace support is optional
# We already namespace stuff in DiscourseRedis, so we should consider
# just using a single implementation in core vs having 2 namespace implementations
-
gem 'redis-namespace'
+
gem "redis-namespace"
# NOTE: AM serializer gets a lot slower with recent updates
# we used an old branch which is the fastest one out there
# are long term goal here is to fork this gem so we have a
# better maintained living fork
-
gem 'active_model_serializers', '~> 0.8.3'
+
gem "active_model_serializers", "~> 0.8.3"
-
gem 'http_accept_language', require: false
+
gem "http_accept_language", require: false
-
gem 'discourse-fonts', require: 'discourse_fonts'
+
gem "discourse-fonts", require: "discourse_fonts"
-
gem 'message_bus'
+
gem "message_bus"
-
gem 'rails_multisite'
+
gem "rails_multisite"
-
gem 'fast_xs', platform: :ruby
+
gem "fast_xs", platform: :ruby
-
gem 'xorcist'
+
gem "xorcist"
-
gem 'fastimage'
+
gem "fastimage"
-
gem 'aws-sdk-s3', require: false
-
gem 'aws-sdk-sns', require: false
-
gem 'excon', require: false
-
gem 'unf', require: false
+
gem "aws-sdk-s3", require: false
+
gem "aws-sdk-sns", require: false
+
gem "excon", require: false
+
gem "unf", require: false
-
gem 'email_reply_trimmer'
+
gem "email_reply_trimmer"
-
gem 'image_optim'
-
gem 'multi_json'
-
gem 'mustache'
-
gem 'nokogiri'
-
gem 'loofah'
-
gem 'css_parser', require: false
+
gem "image_optim"
+
gem "multi_json"
+
gem "mustache"
+
gem "nokogiri"
+
gem "loofah"
+
gem "css_parser", require: false
-
gem 'omniauth'
-
gem 'omniauth-facebook'
-
gem 'omniauth-twitter'
-
gem 'omniauth-github'
+
gem "omniauth"
+
gem "omniauth-facebook"
+
gem "omniauth-twitter"
+
gem "omniauth-github"
-
gem 'omniauth-oauth2', require: false
+
gem "omniauth-oauth2", require: false
-
gem 'omniauth-google-oauth2'
+
gem "omniauth-google-oauth2"
# pending: https://github.com/ohler55/oj/issues/789
-
gem 'oj', '3.13.14'
+
gem "oj", "3.13.14"
-
gem 'pg'
-
gem 'mini_sql'
-
gem 'pry-rails', require: false
-
gem 'pry-byebug', require: false
-
gem 'r2', require: false
-
gem 'rake'
+
gem "pg"
+
gem "mini_sql"
+
gem "pry-rails", require: false
+
gem "pry-byebug", require: false
+
gem "r2", require: false
+
gem "rake"
-
gem 'thor', require: false
-
gem 'diffy', require: false
-
gem 'rinku'
-
gem 'sidekiq'
-
gem 'mini_scheduler'
+
gem "thor", require: false
+
gem "diffy", require: false
+
gem "rinku"
+
gem "sidekiq"
+
gem "mini_scheduler"
-
gem 'execjs', require: false
-
gem 'mini_racer'
+
gem "execjs", require: false
+
gem "mini_racer"
-
gem 'highline', require: false
+
gem "highline", require: false
-
gem 'rack'
+
gem "rack"
-
gem 'rack-protection' # security
-
gem 'cbor', require: false
-
gem 'cose', require: false
-
gem 'addressable'
-
gem 'json_schemer'
+
gem "rack-protection" # security
+
gem "cbor", require: false
+
gem "cose", require: false
+
gem "addressable"
+
gem "json_schemer"
gem "net-smtp", require: false
gem "net-imap", 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'
+
gem "uglifier"
end
group :test do
-
gem 'capybara', require: false
-
gem 'webmock', require: false
-
gem 'fakeweb', require: false
-
gem 'minitest', require: false
-
gem 'simplecov', require: false
-
gem 'selenium-webdriver', require: false
+
gem "capybara", require: false
+
gem "webmock", require: false
+
gem "fakeweb", require: false
+
gem "minitest", require: false
+
gem "simplecov", require: false
+
gem "selenium-webdriver", require: false
gem "test-prof"
-
gem 'webdrivers', require: false
+
gem "webdrivers", require: false
end
group :test, :development do
-
gem 'rspec'
-
gem 'listen', require: false
-
gem 'certified', require: false
-
gem 'fabrication', require: false
-
gem 'mocha', require: false
+
gem "rspec"
+
gem "listen", require: false
+
gem "certified", require: false
+
gem "fabrication", require: false
+
gem "mocha", require: false
+
+
gem "rb-fsevent", require: RUBY_PLATFORM =~ /darwin/i ? "rb-fsevent" : false
-
gem 'rb-fsevent', require: RUBY_PLATFORM =~ /darwin/i ? 'rb-fsevent' : false
+
gem "rspec-rails"
-
gem 'rspec-rails'
+
gem "shoulda-matchers", require: false
+
gem "rspec-html-matchers"
+
gem "byebug", require: ENV["RM_INFO"].nil?, platform: :mri
+
gem "rubocop-discourse", require: false
+
gem "parallel_tests"
-
gem 'shoulda-matchers', require: false
-
gem 'rspec-html-matchers'
-
gem 'byebug', require: ENV['RM_INFO'].nil?, platform: :mri
-
gem 'rubocop-discourse', require: false
-
gem 'parallel_tests'
+
gem "rswag-specs"
-
gem 'rswag-specs'
+
gem "annotate"
-
gem 'annotate'
+
gem "syntax_tree"
+
gem "syntax_tree-disable_ternary"
end
group :development do
-
gem 'ruby-prof', require: false, platform: :mri
-
gem 'bullet', require: !!ENV['BULLET']
-
gem 'better_errors', platform: :mri, require: !!ENV['BETTER_ERRORS']
-
gem 'binding_of_caller'
-
gem 'yaml-lint'
+
gem "ruby-prof", require: false, platform: :mri
+
gem "bullet", require: !!ENV["BULLET"]
+
gem "better_errors", platform: :mri, require: !!ENV["BETTER_ERRORS"]
+
gem "binding_of_caller"
+
gem "yaml-lint"
end
if ENV["ALLOW_DEV_POPULATE"] == "1"
-
gem 'discourse_dev_assets'
-
gem 'faker', "~> 2.16"
+
gem "discourse_dev_assets"
+
gem "faker", "~> 2.16"
else
group :development, :test do
-
gem 'discourse_dev_assets'
-
gem 'faker', "~> 2.16"
+
gem "discourse_dev_assets"
+
gem "faker", "~> 2.16"
end
end
# this is an optional gem, it provides a high performance replacement
# to String#blank? a method that is called quite frequently in current
# ActiveRecord, this may change in the future
-
gem 'fast_blank', platform: :ruby
+
gem "fast_blank", platform: :ruby
# this provides a very efficient lru cache
-
gem 'lru_redux'
+
gem "lru_redux"
-
gem 'htmlentities', require: false
+
gem "htmlentities", require: false
# IMPORTANT: mini profiler monkey patches, so it better be required last
# If you want to amend mini profiler to do the monkey patches in the railties
# we are open to it. by deferring require to the initializer we can configure discourse installs without it
-
gem 'rack-mini-profiler', require: ['enable_rails_patches']
+
gem "rack-mini-profiler", require: ["enable_rails_patches"]
-
gem 'unicorn', require: false, platform: :ruby
-
gem 'puma', require: false
-
gem 'rbtrace', require: false, platform: :mri
-
gem 'gc_tracer', require: false, platform: :mri
+
gem "unicorn", require: false, platform: :ruby
+
gem "puma", require: false
+
gem "rbtrace", require: false, platform: :mri
+
gem "gc_tracer", require: false, platform: :mri
# required for feed importing and embedding
-
gem 'ruby-readability', require: false
+
gem "ruby-readability", require: false
# rss gem is a bundled gem from Ruby 3 onwards
-
gem 'rss', require: false
+
gem "rss", require: false
-
gem 'stackprof', require: false, platform: :mri
-
gem 'memory_profiler', require: false, platform: :mri
+
gem "stackprof", require: false, platform: :mri
+
gem "memory_profiler", require: false, platform: :mri
-
gem 'cppjieba_rb', require: false
+
gem "cppjieba_rb", require: false
-
gem 'lograge', require: false
-
gem 'logstash-event', require: false
-
gem 'logstash-logger', require: false
-
gem 'logster'
+
gem "lograge", require: false
+
gem "logstash-event", require: false
+
gem "logstash-logger", require: false
+
gem "logster"
# NOTE: later versions of sassc are causing a segfault, possibly dependent on processer architecture
# and until resolved should be locked at 2.0.1
-
gem 'sassc', '2.0.1', require: false
+
gem "sassc", "2.0.1", require: false
gem "sassc-rails"
-
gem 'rotp', require: false
+
gem "rotp", require: false
-
gem 'rqrcode'
+
gem "rqrcode"
-
gem 'rubyzip', require: false
+
gem "rubyzip", require: false
-
gem 'sshkey', require: false
+
gem "sshkey", require: false
-
gem 'rchardet', require: false
-
gem 'lz4-ruby', require: false, platform: :ruby
+
gem "rchardet", require: false
+
gem "lz4-ruby", require: false, platform: :ruby
-
gem 'sanitize'
+
gem "sanitize"
if ENV["IMPORT"] == "1"
-
gem 'mysql2'
-
gem 'redcarpet'
+
gem "mysql2"
+
gem "redcarpet"
# NOTE: in import mode the version of sqlite can matter a lot, so we stick it to a specific one
-
gem 'sqlite3', '~> 1.3', '>= 1.3.13'
-
gem 'ruby-bbcode-to-md', git: 'https://github.com/nlalonde/ruby-bbcode-to-md'
-
gem 'reverse_markdown'
-
gem 'tiny_tds'
-
gem 'csv'
+
gem "sqlite3", "~> 1.3", ">= 1.3.13"
+
gem "ruby-bbcode-to-md", git: "https://github.com/nlalonde/ruby-bbcode-to-md"
+
gem "reverse_markdown"
+
gem "tiny_tds"
+
gem "csv"
-
gem 'parallel', require: false
+
gem "parallel", require: false
end
-
gem 'webpush', require: false
-
gem 'colored2', require: false
-
gem 'maxminddb'
+
gem "web-push"
+
gem "colored2", require: false
+
gem "maxminddb"
-
gem 'rails_failover', require: false
+
gem "rails_failover", require: false
-
gem 'faraday'
-
gem 'faraday-retry'
+
gem "faraday"
+
gem "faraday-retry"
# workaround for faraday-net_http, see
# https://github.com/ruby/net-imap/issues/16#issuecomment-803086765
-
gem 'net-http'
+
gem "net-http"
+
+
# workaround for prometheus-client
+
gem "webrick", require: false
+
+
# Workaround until Ruby ships with cgi version 0.3.6 or higher.
+
gem "cgi", ">= 0.3.6", require: false
+114 -107
pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock
···
mail (2.8.0.edge)
mini_mime (>= 0.1.1)
+
GIT
+
remote: https://github.com/rails/sprockets
+
revision: f4d3dae71ef29c44b75a49cfbf8032cce07b423a
+
branch: 3.x
+
specs:
+
sprockets (3.7.2)
+
concurrent-ruby (~> 1.0)
+
rack (> 1, < 3)
+
GEM
remote: https://rubygems.org/
specs:
-
actionmailer (7.0.3.1)
-
actionpack (= 7.0.3.1)
-
actionview (= 7.0.3.1)
-
activejob (= 7.0.3.1)
-
activesupport (= 7.0.3.1)
+
actionmailer (7.0.4.1)
+
actionpack (= 7.0.4.1)
+
actionview (= 7.0.4.1)
+
activejob (= 7.0.4.1)
+
activesupport (= 7.0.4.1)
mail (~> 2.5, >= 2.5.4)
net-imap
net-pop
net-smtp
rails-dom-testing (~> 2.0)
-
actionpack (7.0.3.1)
-
actionview (= 7.0.3.1)
-
activesupport (= 7.0.3.1)
+
actionpack (7.0.4.1)
+
actionview (= 7.0.4.1)
+
activesupport (= 7.0.4.1)
rack (~> 2.0, >= 2.2.0)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
-
actionview (7.0.3.1)
-
activesupport (= 7.0.3.1)
+
actionview (7.0.4.1)
+
activesupport (= 7.0.4.1)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
···
actionview (>= 6.0.a)
active_model_serializers (0.8.4)
activemodel (>= 3.0)
-
activejob (7.0.3.1)
-
activesupport (= 7.0.3.1)
+
activejob (7.0.4.1)
+
activesupport (= 7.0.4.1)
globalid (>= 0.3.6)
-
activemodel (7.0.3.1)
-
activesupport (= 7.0.3.1)
-
activerecord (7.0.3.1)
-
activemodel (= 7.0.3.1)
-
activesupport (= 7.0.3.1)
-
activesupport (7.0.3.1)
+
activemodel (7.0.4.1)
+
activesupport (= 7.0.4.1)
+
activerecord (7.0.4.1)
+
activemodel (= 7.0.4.1)
+
activesupport (= 7.0.4.1)
+
activesupport (7.0.4.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
···
bootsnap (1.15.0)
msgpack (~> 1.2)
builder (3.2.4)
-
bullet (7.0.4)
+
bullet (7.0.7)
activesupport (>= 3.0.0)
uniform_notifier (~> 1.11)
byebug (11.1.3)
···
xpath (~> 3.2)
cbor (0.5.9.6)
certified (1.0.0)
-
childprocess (4.1.0)
+
cgi (0.3.6)
chunky_png (1.4.0)
coderay (1.1.3)
colored2 (3.1.2)
-
concurrent-ruby (1.1.10)
+
concurrent-ruby (1.2.0)
connection_pool (2.3.0)
cose (1.3.0)
cbor (~> 0.5.9)
···
crack (0.4.5)
rexml
crass (1.0.6)
-
css_parser (1.12.0)
+
css_parser (1.14.0)
addressable
+
date (3.3.3)
debug_inspector (1.1.0)
diff-lcs (1.5.0)
diffy (3.4.2)
-
digest (3.1.0)
+
digest (3.1.1)
discourse-fonts (0.0.9)
discourse-seed-fu (2.3.12)
activerecord (>= 3.1)
···
ecma-re-validator (0.4.0)
regexp_parser (~> 2.2)
email_reply_trimmer (0.1.13)
-
erubi (1.11.0)
-
excon (0.94.0)
+
erubi (1.12.0)
+
excon (0.97.2)
execjs (2.8.1)
exifr (1.3.10)
fabrication (2.30.0)
faker (2.23.0)
i18n (>= 1.8.11, < 2)
fakeweb (1.3.0)
-
faraday (2.7.1)
+
faraday (2.7.4)
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-net_http (3.0.2)
···
ffi (1.15.5)
fspath (3.1.2)
gc_tracer (1.5.1)
-
globalid (1.0.0)
+
globalid (1.0.1)
activesupport (>= 5.0)
guess_html_encoding (0.0.11)
hana (1.3.7)
hashdiff (1.0.1)
hashie (5.0.0)
-
highline (2.0.3)
-
hkdf (0.3.0)
+
highline (2.1.0)
+
hkdf (1.0.0)
htmlentities (4.3.4)
http_accept_language (2.1.1)
i18n (1.12.0)
···
image_size (3.2.0)
in_threads (1.6.0)
jmespath (1.6.2)
-
json (2.6.2)
+
json (2.6.3)
json-schema (3.0.0)
addressable (>= 2.8)
json_schemer (0.2.23)
···
hana (~> 1.3)
regexp_parser (~> 2.0)
uri_template (~> 0.7)
-
jwt (2.5.0)
+
jwt (2.6.0)
kgio (2.11.4)
libv8-node (16.10.0.0)
-
libv8-node (16.10.0.0-aarch64-linux)
-
libv8-node (16.10.0.0-arm64-darwin)
-
libv8-node (16.10.0.0-x86_64-darwin)
-
libv8-node (16.10.0.0-x86_64-darwin-19)
-
libv8-node (16.10.0.0-x86_64-linux)
-
listen (3.7.1)
+
listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
literate_randomizer (0.4.0)
···
logstash-logger (0.26.1)
logstash-event (~> 1.2)
logster (2.11.3)
-
loofah (2.19.0)
+
loofah (2.19.1)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
lru_redux (1.1.0)
···
matrix (0.4.2)
maxminddb (0.1.22)
memory_profiler (1.0.1)
-
message_bus (4.3.0)
+
message_bus (4.3.2)
rack (>= 1.1.3)
method_source (1.0.0)
mini_mime (1.1.2)
-
mini_portile2 (2.8.0)
+
mini_portile2 (2.8.1)
mini_racer (0.6.3)
libv8-node (~> 16.10.0.0)
mini_scheduler (0.15.0)
···
mini_sql (1.4.0)
mini_suffix (0.3.3)
ffi (~> 1.9)
-
minitest (5.16.3)
+
minitest (5.17.0)
mocha (2.0.2)
ruby2_keywords (>= 0.0.5)
msgpack (1.6.0)
multi_json (1.15.0)
multi_xml (0.6.0)
mustache (1.1.1)
-
net-http (0.2.2)
+
net-http (0.3.2)
uri
-
net-imap (0.3.1)
+
net-imap (0.3.4)
+
date
net-protocol
net-pop (0.1.2)
net-protocol
-
net-protocol (0.1.3)
+
net-protocol (0.2.1)
timeout
net-smtp (0.3.3)
net-protocol
nio4r (2.5.8)
-
nokogiri (1.13.9)
+
nokogiri (1.14.0)
mini_portile2 (~> 2.8.0)
racc (~> 1.4)
-
nokogiri (1.13.9-aarch64-linux)
-
racc (~> 1.4)
-
nokogiri (1.13.9-arm64-darwin)
-
racc (~> 1.4)
-
nokogiri (1.13.9-x86_64-darwin)
-
racc (~> 1.4)
-
nokogiri (1.13.9-x86_64-linux)
-
racc (~> 1.4)
oauth (1.1.0)
oauth-tty (~> 1.0, >= 1.0.1)
snaky_hash (~> 2.0)
···
omniauth-twitter (1.4.0)
omniauth-oauth (~> 1.1)
rack
-
openssl (3.0.1)
+
openssl (3.0.2)
openssl-signature_algorithm (1.2.1)
openssl (> 2.0, < 3.1)
optimist (3.0.1)
parallel (1.22.1)
-
parallel_tests (4.0.0)
+
parallel_tests (4.1.0)
parallel
-
parser (3.1.3.0)
+
parser (3.2.0.0)
ast (~> 2.4.1)
pg (1.4.5)
+
prettier_print (1.2.0)
progress (3.6.0)
-
pry (0.14.1)
+
pry (0.14.2)
coderay (~> 1.1)
method_source (~> 1.0)
pry-byebug (3.10.1)
···
pry (>= 0.13, < 0.15)
pry-rails (0.3.9)
pry (>= 0.10.4)
-
public_suffix (5.0.0)
-
puma (6.0.0)
+
public_suffix (5.0.1)
+
puma (6.0.2)
nio4r (~> 2.0)
r2 (0.2.7)
-
racc (1.6.0)
-
rack (2.2.4)
+
racc (1.6.2)
+
rack (2.2.6.2)
rack-mini-profiler (3.0.0)
rack (>= 1.2.0)
-
rack-protection (3.0.4)
+
rack-protection (3.0.5)
rack
rack-test (2.0.2)
rack (>= 1.3)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
-
rails-html-sanitizer (1.4.3)
-
loofah (~> 2.3)
+
rails-html-sanitizer (1.5.0)
+
loofah (~> 2.19, >= 2.19.1)
rails_failover (0.8.1)
activerecord (> 6.0, < 7.1)
concurrent-ruby
···
rails_multisite (4.0.1)
activerecord (> 5.0, < 7.1)
railties (> 5.0, < 7.1)
-
railties (7.0.3.1)
-
actionpack (= 7.0.3.1)
-
activesupport (= 7.0.3.1)
+
railties (7.0.4.1)
+
actionpack (= 7.0.4.1)
+
activesupport (= 7.0.4.1)
method_source
rake (>= 12.2)
thor (~> 1.0)
···
msgpack (>= 0.4.3)
optimist (>= 3.0.0)
rchardet (1.8.0)
-
redis (4.7.1)
-
redis-namespace (1.9.0)
+
redis (4.8.0)
+
redis-namespace (1.10.0)
redis (>= 4)
-
regexp_parser (2.6.1)
+
regexp_parser (2.6.2)
request_store (1.5.1)
rack (>= 1.4)
rexml (3.2.5)
rinku (2.0.6)
-
rotp (6.2.1)
+
rotp (6.2.2)
rqrcode (2.1.2)
chunky_png (~> 1.0)
rqrcode_core (~> 1.0)
···
rspec-mocks (~> 3.12.0)
rspec-core (3.12.0)
rspec-support (~> 3.12.0)
-
rspec-expectations (3.12.0)
+
rspec-expectations (3.12.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-html-matchers (0.10.0)
nokogiri (~> 1)
rspec (>= 3.0.0.a)
-
rspec-mocks (3.12.0)
+
rspec-mocks (3.12.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-rails (6.0.1)
···
json-schema (>= 2.2, < 4.0)
railties (>= 3.1, < 7.1)
rspec-core (>= 2.14)
-
rubocop (1.39.0)
+
rubocop (1.44.0)
json (~> 2.3)
parallel (~> 1.10)
-
parser (>= 3.1.2.1)
+
parser (>= 3.2.0.0)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
-
rubocop-ast (>= 1.23.0, < 2.0)
+
rubocop-ast (>= 1.24.1, < 2.0)
ruby-progressbar (~> 1.7)
-
unicode-display_width (>= 1.4.0, < 3.0)
-
rubocop-ast (1.23.0)
+
unicode-display_width (>= 2.4.0, < 3.0)
+
rubocop-ast (1.24.1)
parser (>= 3.1.1.0)
-
rubocop-discourse (3.0)
+
rubocop-capybara (2.17.0)
+
rubocop (~> 1.41)
+
rubocop-discourse (3.0.3)
rubocop (>= 1.1.0)
rubocop-rspec (>= 2.0.0)
-
rubocop-rspec (2.15.0)
+
rubocop-rspec (2.18.1)
rubocop (~> 1.33)
-
ruby-prof (1.4.3)
+
rubocop-capybara (~> 2.17)
+
ruby-prof (1.4.5)
ruby-progressbar (1.11.0)
ruby-readability (0.7.0)
guess_html_encoding (>= 0.0.4)
···
sprockets (> 3.0)
sprockets-rails
tilt
-
selenium-webdriver (4.6.1)
-
childprocess (>= 0.5, < 5.0)
+
selenium-webdriver (4.8.0)
rexml (~> 3.2, >= 3.2.5)
rubyzip (>= 1.2.2, < 3.0)
websocket (~> 1.0)
-
shoulda-matchers (5.2.0)
+
shoulda-matchers (5.3.0)
activesupport (>= 5.2.0)
sidekiq (6.5.8)
connection_pool (>= 2.2.5, < 3)
rack (~> 2.0)
redis (>= 4.5.0, < 5)
-
simplecov (0.21.2)
+
simplecov (0.22.0)
docile (~> 1.1)
simplecov-html (~> 0.11)
simplecov_json_formatter (~> 0.1)
···
snaky_hash (2.0.1)
hashie
version_gem (~> 1.1, >= 1.1.1)
-
sprockets (3.7.2)
-
concurrent-ruby (~> 1.0)
-
rack (> 1, < 3)
sprockets-rails (3.4.2)
actionpack (>= 5.2)
activesupport (>= 5.2)
sprockets (>= 3.0.0)
sshkey (2.0.0)
-
stackprof (0.2.22)
-
test-prof (1.0.11)
+
stackprof (0.2.23)
+
syntax_tree (5.2.0)
+
prettier_print (>= 1.2.0)
+
syntax_tree-disable_ternary (1.0.0)
+
test-prof (1.1.0)
thor (1.2.1)
tilt (2.0.11)
-
timeout (0.3.0)
+
timeout (0.3.1)
tzinfo (2.0.5)
concurrent-ruby (~> 1.0)
uglifier (4.2.0)
···
unf (0.1.4)
unf_ext
unf_ext (0.0.8.2)
-
unicode-display_width (2.3.0)
+
unicode-display_width (2.4.2)
unicorn (6.1.0)
kgio (~> 2.6)
raindrops (~> 0.7)
uniform_notifier (1.16.0)
-
uri (0.11.0)
+
uri (0.12.0)
uri_template (0.7.0)
version_gem (1.1.1)
+
web-push (3.0.0)
+
hkdf (~> 1.0)
+
jwt (~> 2.0)
+
openssl (~> 3.0)
webdrivers (5.2.0)
nokogiri (~> 1.6)
rubyzip (>= 1.3.0)
···
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
-
webpush (1.1.0)
-
hkdf (~> 0.2)
-
jwt (~> 2.0)
+
webrick (1.7.0)
websocket (1.2.9)
xorcist (1.1.3)
xpath (3.2.0)
nokogiri (~> 1.8)
-
yaml-lint (0.0.10)
+
yaml-lint (0.1.2)
zeitwerk (2.6.6)
PLATFORMS
ruby
DEPENDENCIES
-
actionmailer (= 7.0.3.1)
-
actionpack (= 7.0.3.1)
-
actionview (= 7.0.3.1)
+
actionmailer (= 7.0.4.1)
+
actionpack (= 7.0.4.1)
+
actionview (= 7.0.4.1)
actionview_precompiler
active_model_serializers (~> 0.8.3)
-
activemodel (= 7.0.3.1)
-
activerecord (= 7.0.3.1)
-
activesupport (= 7.0.3.1)
+
activemodel (= 7.0.4.1)
+
activerecord (= 7.0.4.1)
+
activesupport (= 7.0.4.1)
addressable
annotate
aws-sdk-s3
···
capybara
cbor
certified
+
cgi (>= 0.3.6)
colored2
cose
cppjieba_rb
···
rack-protection
rails_failover
rails_multisite
-
railties (= 7.0.3.1)
+
railties (= 7.0.4.1)
rake
rb-fsevent
rbtrace
···
shoulda-matchers
sidekiq
simplecov
-
sprockets (= 3.7.2)
+
sprockets!
sprockets-rails
sshkey
stackprof
+
syntax_tree
+
syntax_tree-disable_ternary
test-prof
thor
uglifier
unf
unicorn
+
web-push
webdrivers
webmock
-
webpush
+
webrick
xorcist
yaml-lint
BUNDLED WITH
-
2.3.25
+
2.4.6
+196 -132
pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1wdh4av6w6calnvvms6r8w3k3gaw0xy1lgsrjjf5d5gxq09nk7y7";
+
sha256 = "1v4ra6jx4bynzj3im6fjbyyy1h6582qg72r6i42myls84z75qsxk";
type = "gem";
};
-
version = "7.0.3.1";
+
version = "7.0.4.1";
};
actionpack = {
dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1f9y1qjnrwbwab3hf6nzlpr4v1fr1wq39l6dw3i1y3i6n8w04sb5";
+
sha256 = "1g823r92w9c1si2mxd82mibdva1fyw0ccin0dc2bpbszk6zfyxrh";
type = "gem";
};
-
version = "7.0.3.1";
+
version = "7.0.4.1";
};
actionview = {
dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1csycx6zlzrp6pw58s4nkm2qaz720cdhgxjkwjsd0qla75kvsyln";
+
sha256 = "1pfnbkq1hzzxzrnc0m1dd0l2cad6x041dfv3ndrkk5llcjarphx2";
type = "gem";
};
-
version = "7.0.3.1";
+
version = "7.0.4.1";
};
actionview_precompiler = {
dependencies = ["actionview"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "03hn978lx6lasac267mincy6wwcir5gyix7gwrbvvk7rg7bsbmbk";
+
sha256 = "0yrjvd2w3l6fd5s984hn885dwcxj078ggfbbr1cpynjnqxrvvm6f";
type = "gem";
};
-
version = "7.0.3.1";
+
version = "7.0.4.1";
};
activemodel = {
dependencies = ["activesupport"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0s9gjs1a49n7rfhz84glw6w62swlrqdqjhs8421kaa72iwxavq16";
+
sha256 = "0y1v2jy4cwi6dkd9yr399kw53smaiyiqx7bsnljwmsz98g125sdw";
type = "gem";
};
-
version = "7.0.3.1";
+
version = "7.0.4.1";
};
activerecord = {
dependencies = ["activemodel" "activesupport"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1lb838wvarms8bs8hvfkccdsp4cjc0y9wjsxvw71h4ir3mys4jqg";
+
sha256 = "1c3wvrym6ib2a6ljc4n572gsrr46hazp7f0zijm8jdc8zp3yx5vi";
type = "gem";
};
-
version = "7.0.3.1";
+
version = "7.0.4.1";
};
activesupport = {
dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "15lbq28v48i6q118p02m5zs9c63y1kv2h5krb3ss6q2vyaxhnfz7";
+
sha256 = "1j0ms94ng1hsxb37aar5j3n4mabjqvjkcl70adjrqib7grriyq7b";
type = "gem";
};
-
version = "7.0.3.1";
+
version = "7.0.4.1";
};
addressable = {
dependencies = ["public_suffix"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1f2phbpsiw8zwmmb1h6s82c4s2banzd04ch7vn6pdz91map233l1";
+
sha256 = "0hyz68j0z0j24vcrs43swmlykhzypayv34kzrsbxda5lbi83gynm";
type = "gem";
};
-
version = "7.0.4";
+
version = "7.0.7";
};
byebug = {
groups = ["development" "test"];
···
};
version = "1.0.0";
};
-
childprocess = {
-
groups = ["default" "test"];
+
cgi = {
+
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1lvcp8bsd35g57f7wz4jigcw2sryzzwrpcgjwwf3chmjrjcww5in";
+
sha256 = "18zc1z8va9j1gcv131p605wmkvn1p5958mmvvy7v45ki8c0w7qn5";
type = "gem";
};
-
version = "4.1.0";
+
version = "0.3.6";
};
chunky_png = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14";
+
sha256 = "1qnsflsbjj38im8xq35g0vihlz96h09wjn2dad5g543l3vvrkrx5";
type = "gem";
};
-
version = "1.1.10";
+
version = "1.2.0";
};
connection_pool = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1107j3frhmcd95wcsz0rypchynnzhnjiyyxxcl6dlmr2lfy08z4b";
+
sha256 = "04q1vin8slr3k8mp76qz0wqgap6f9kdsbryvgfq9fljhrm463kpj";
type = "gem";
};
-
version = "1.12.0";
+
version = "1.14.0";
+
};
+
date = {
+
groups = ["default"];
+
platforms = [];
+
source = {
+
remotes = ["https://rubygems.org"];
+
sha256 = "03skfikihpx37rc27vr3hwrb057gxnmdzxhmzd4bf4jpkl0r55w1";
+
type = "gem";
+
};
+
version = "3.3.3";
};
debug_inspector = {
groups = ["default" "development"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "00vwzvxgby22h7jhwadqqf9ssbkp3ag2pl4g7q3zf1y8mlk7rk39";
+
sha256 = "01qkpbkxq83ip3iysfh2kjrg9sh2n2q91prhyxh3vq10lcfzv9l1";
type = "gem";
};
-
version = "3.1.0";
+
version = "3.1.1";
};
discourse-fonts = {
groups = ["default"];
···
}];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "11bz1v1cxabm8672gabrw542zyg51dizlcvdck6vvwzagxbjv9zx";
+
sha256 = "08s75vs9cxlc4r1q2bjg4br8g9wc5lc5x5vl0vv4zq5ivxsdpgi7";
type = "gem";
};
-
version = "1.11.0";
+
version = "1.12.0";
};
excon = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "094kbi32i56p08348b95amg9dz5c9prn5jywhkcghsd3d6kll981";
+
sha256 = "17prxavwwskpv7dfl3npl0pgqiqg99rrmakqj1n4m5hl69jqz8y4";
type = "gem";
};
-
version = "0.94.0";
+
version = "0.97.2";
};
execjs = {
groups = ["assets" "default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1wyz9ab0mzi84gpf81fs19vrixglmmxi25k6n1mn9h141qmsp590";
+
sha256 = "1f20vjx0ywx0zdb4dfx4cpa7kd51z6vg7dw5hs35laa45dy9g9pj";
type = "gem";
};
-
version = "2.7.1";
+
version = "2.7.4";
};
faraday-net_http = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1n5yc058i8xhi1fwcp1w7mfi6xaxfmrifdb4r4hjfff33ldn8lqj";
+
sha256 = "040bxzfd7mz1p6z4bc9vk5yrf762hdllvf98hmk848fq28xc5dsk";
type = "gem";
};
-
version = "1.0.0";
+
version = "1.0.1";
};
guess_html_encoding = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0yclf57n2j3cw8144ania99h1zinf8q3f5zrhqa754j6gl95rp9d";
+
sha256 = "1f8cr014j7mdqpdb9q17fp5vb5b8n1pswqaif91s3ylg5x3pygfn";
type = "gem";
};
-
version = "2.0.3";
+
version = "2.1.0";
};
hkdf = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "04fixg0a51n4vy0j6c1hvisa2yl33m3jrrpxpb5sq6j511vjriil";
+
sha256 = "03g3yvfnlcjv2qw3b3yahg0x7zhwcd1bwxyj6gbn5jrc7k4kfrqg";
type = "gem";
};
-
version = "0.3.0";
+
version = "1.0.0";
};
htmlentities = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0yk5d10yvspkc5jyvx9gc1a9pn1z8v4k2hvjk1l88zixwf3wf3cl";
+
sha256 = "0nalhin1gda4v8ybk6lq8f407cgfrj6qzn234yra4ipkmlbfmal6";
type = "gem";
};
-
version = "2.6.2";
+
version = "2.6.3";
};
json-schema = {
dependencies = ["addressable"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0kcmnx6rgjyd7sznai9ccns2nh7p7wnw3mi8a7vf2wkm51azwddq";
+
sha256 = "1x8zp1a2pnngxh7631s0kn0r665qkwzfp16kifmp93r4zj6ci8v8";
type = "gem";
};
-
version = "2.5.0";
+
version = "2.6.0";
};
kgio = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0agybr37wpjv3xy4ipcmsvsibgdgphzrwbvcj4vfiykpmakwm01v";
+
sha256 = "13rgkfar8pp31z1aamxf5y7cfq88wv6rxxcwy7cmm177qq508ycn";
type = "gem";
};
-
version = "3.7.1";
+
version = "3.8.0";
};
literate_randomizer = {
groups = ["default" "development"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1fpyk1965py77al7iadkn5dibwgvybknkr7r8bii2dj73wvr29rh";
+
sha256 = "08qhzck271anrx9y6qa6mh8hwwdzsgwld8q0000rcd7yvvpnjr3c";
type = "gem";
};
-
version = "2.19.0";
+
version = "2.19.1";
};
lru_redux = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "039ab2bbzxhfgy3w7wrxznqzjyikiqm6dnl36pk7cmkb1d30fxdk";
+
sha256 = "07acv6l89b1c0d3dfq84jb0vzbv489agcw60n7rnvk10y4x58bn5";
type = "gem";
};
-
version = "4.3.0";
+
version = "4.3.2";
};
method_source = {
groups = ["default" "development" "test"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0rapl1sfmfi3bfr68da4ca16yhc0pp93vjwkj7y3rdqrzy3b41hy";
+
sha256 = "1af4yarhbbx62f7qsmgg5fynrik0s36wjy3difkawy536xg343mp";
type = "gem";
};
-
version = "2.8.0";
+
version = "2.8.1";
};
mini_racer = {
dependencies = ["libv8-node"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0516ypqlx0mlcfn5xh7qppxqc3xndn1fnadxawa8wld5dkcimy30";
+
sha256 = "1kjy67qajw4rnkbjs5jyk7kc3lyhz5613fwj1i8f6ppdk4zampy0";
type = "gem";
};
-
version = "5.16.3";
+
version = "5.17.0";
};
mocha = {
dependencies = ["ruby2_keywords"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1j4f0wgyps0qyms4p6fjqva63xy13wvy7bx5qg5gmzzwm3kqs1fr";
+
sha256 = "0y55ib1v2b8prqfi9ij7hca60b1j94s2bzr6vskwi3i5735472wq";
type = "gem";
};
-
version = "0.2.2";
+
version = "0.3.2";
};
net-imap = {
-
dependencies = ["net-protocol"];
+
dependencies = ["date" "net-protocol"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1s1d01q6mljiiv6y2w6znmhmnm2b5lkw8d13wip9x23a820z8cjw";
+
sha256 = "1d996zf3g8xz244791b0qsl9vr7zg4lqnnmf9k2kshr9lki5jam8";
type = "gem";
};
-
version = "0.3.1";
+
version = "0.3.4";
};
net-pop = {
dependencies = ["net-protocol"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "051cc82dl41a66c9sxv4lx4slqk7sz1v4iy0hdk6gpjyjszf4hxd";
+
sha256 = "0dxckrlw4q1lcn3qg4mimmjazmg9bma5gllv72f8js3p36fb3b91";
type = "gem";
};
-
version = "0.1.3";
+
version = "0.2.1";
};
net-smtp = {
dependencies = ["net-protocol"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0cam1455nmi3fzzpa9ixn2hsim10fbprmj62ajpd6d02mwdprwwn";
+
sha256 = "1fqld4wnamj7awdr1lwdifpylqdrrg5adm8xj2jl9sc5ms3nxjjm";
type = "gem";
};
-
version = "1.13.9";
+
version = "1.14.0";
};
oauth = {
dependencies = ["oauth-tty" "snaky_hash" "version_gem"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0n2fhxa2alw3qxhg6qlxs0v6f8rsadhp6r6sv33i9fh793k2zpr3";
+
sha256 = "0mcg47zz4w902cq6c8cdj62npawgwq68sfh7n7aqy7vm3pgvls9h";
type = "gem";
};
-
version = "3.0.1";
+
version = "3.0.2";
};
openssl-signature_algorithm = {
dependencies = ["openssl"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0xr8406nknbg2z561m3nkny51zkhpd02ng0fbjc9jaachp7ksz1y";
+
sha256 = "1p0y8cgdmfwyg7plwlsjf9afshm81wj9ah8nprmpfrv28adg3vn6";
type = "gem";
};
-
version = "4.0.0";
+
version = "4.1.0";
};
parser = {
dependencies = ["ast"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "17qfhjvnr9q2gp1gfdl6kndy2mb6qdwsls3vnjhb1h8ddimdm4s5";
+
sha256 = "0zk8mdyr0322r11d63rcp5jhz4lakxilhvyvdv0ql5dw4lb83623";
type = "gem";
};
-
version = "3.1.3.0";
+
version = "3.2.0.0";
};
pg = {
groups = ["default"];
···
};
version = "1.4.5";
};
+
prettier_print = {
+
groups = ["default" "development" "test"];
+
platforms = [];
+
source = {
+
remotes = ["https://rubygems.org"];
+
sha256 = "1bbw4czjr2ch6m57rgjib5a35hx3g18975vwzm2iwq13pvdj9hzk";
+
type = "gem";
+
};
+
version = "1.2.0";
+
};
progress = {
groups = ["default"];
platforms = [];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0m445x8fwcjdyv2bc0glzss2nbm1ll51bq45knixapc7cl3dzdlr";
+
sha256 = "0k9kqkd9nps1w1r1rb7wjr31hqzkka2bhi8b518x78dcxppm9zn4";
type = "gem";
};
-
version = "0.14.1";
+
version = "0.14.2";
};
pry-byebug = {
dependencies = ["byebug" "pry"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0sqw1zls6227bgq38sxb2hs8nkdz4hn1zivs27mjbniswfy4zvi6";
+
sha256 = "0hz0bx2qs2pwb0bwazzsah03ilpf3aai8b7lk7s35jsfzwbkjq35";
type = "gem";
};
-
version = "5.0.0";
+
version = "5.0.1";
};
puma = {
dependencies = ["nio4r"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1yabmxmqprb2x58awiasidsiwpplscmyar9dzwh5l8jgaw4i3wra";
+
sha256 = "15hj8r6wp23k187ajmp13kldk53ygm84q4caq7nlndrn8jlcsps0";
type = "gem";
};
-
version = "6.0.0";
+
version = "6.0.2";
};
r2 = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0la56m0z26j3mfn1a9lf2l03qx1xifanndf9p3vx1azf6sqy7v9d";
+
sha256 = "09jgz6r0f7v84a7jz9an85q8vvmp743dqcsdm3z9c8rqcqv6pljq";
type = "gem";
};
-
version = "1.6.0";
+
version = "1.6.2";
};
rack = {
groups = ["default" "development" "test"];
···
}];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0axc6w0rs4yj0pksfll1hjgw1k6a5q0xi2lckh91knfb72v348pa";
+
sha256 = "0qvp6h2abmlsl4sqjsvac03cr2mxq6143gbx4kq52rpazp021qsb";
type = "gem";
};
-
version = "2.2.4";
+
version = "2.2.6.2";
};
rack-mini-profiler = {
dependencies = ["rack"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1kljmw1lhzqjcwnwadr5m2khii0h2lsah447zb9vgirrv5jszg9h";
+
sha256 = "1a12m1mv8dc0g90fs1myvis8vsgr427k1arg1q4a9qlfw6fqyhis";
type = "gem";
};
-
version = "3.0.4";
+
version = "3.0.5";
};
rack-test = {
dependencies = ["rack"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1mj0b7ay10a2fgwj70kjw7mlyrp7a5la8lx8zmwhy40bkansdfrf";
+
sha256 = "0ygav4xyq943qqyhjmi3mzirn180j565mc9h5j4css59x1sn0cmz";
type = "gem";
};
-
version = "1.4.3";
+
version = "1.5.0";
};
rails_failover = {
dependencies = ["activerecord" "concurrent-ruby" "railties"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0lnrhx0sdixz5xm2vi482ngs4alh8l725kh96v6mfk0x0qlbdsaw";
+
sha256 = "0q8as8yq6ni256fc6bmcqmdch1bksbhsg5lmaqmi4bpi33f06g01";
type = "gem";
};
-
version = "7.0.3.1";
+
version = "7.0.4.1";
};
rainbow = {
groups = ["default" "development" "test"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1xid9av3apfz5mszwqgl6v0n58g6038lsfdz0p53xb9ywpa5dcpc";
+
sha256 = "0i4a8hxxcxci3n8hhlm9a8wa7a9m58r6sjvh4749v7362i8cy010";
type = "gem";
};
-
version = "4.7.1";
+
version = "4.8.0";
};
redis-namespace = {
dependencies = ["redis"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "04l61lpb3s2xkwj36l7b543lhciv19z514kxnmnbh5fg70grc8q9";
+
sha256 = "154dfnrjpbv7fhwhfrcnp6jn9qv5qaj3mvlvbgkl7qy5qsknw71c";
type = "gem";
};
-
version = "1.9.0";
+
version = "1.10.0";
};
regexp_parser = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0rj7xcg7bkfw6y0h4wg8y3s4nmks9qrzdxag4zaw41xjqfanlysf";
+
sha256 = "0zjg29w5zvar7by1kqck3zilbdzm5iz3jp5d1zn3970krskfazh2";
type = "gem";
};
-
version = "2.6.1";
+
version = "2.6.2";
};
request_store = {
dependencies = ["rack"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "10fi6g1nn97cg2m2jmh9cwxcd90gd4hn7b71hdr3kh76c0rmpqp7";
+
sha256 = "10mmzc85y7andsich586ndykw678qn1ns2wpjxrg0sc0gr4w3pig";
type = "gem";
};
-
version = "6.2.1";
+
version = "6.2.2";
};
rqrcode = {
dependencies = ["chunky_png" "rqrcode_core"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0qldsmjhqr4344zdlamzggr3y98wdk2c4hihkhwx8imk800gkl8v";
+
sha256 = "03ba3lfdsj9zl00v1yvwgcx87lbadf87livlfa5kgqssn9qdnll6";
type = "gem";
};
-
version = "3.12.0";
+
version = "3.12.2";
};
rspec-html-matchers = {
dependencies = ["nokogiri" "rspec"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1yvwnb0x5d6d4ff3wlgahk0wcw72ic51gd2snr1xxc5ify41kabv";
+
sha256 = "0sq2cc9pm5gq411y7iwfvzbmgv3g91lyf7y7cqn1lr3yf1v122nc";
type = "gem";
};
-
version = "3.12.0";
+
version = "3.12.3";
};
rspec-rails = {
dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0ggxkq68ddxmynr2lyrvzr8qbrdvc2irxlx9ihxmvdpkg1vimr3w";
+
sha256 = "0a2j57r6pvngqlzkmww031gs5isax3nsr9n7cbfpqnh34ljh2lk1";
type = "gem";
};
-
version = "1.39.0";
+
version = "1.44.0";
};
rubocop-ast = {
dependencies = ["parser"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1qiq3q66w57im0ryrvnd1yq0g2s2safhywpv94441kvc1amayjzy";
+
sha256 = "1pdzabz95hv3z5sfbkfqa8bdybsfl13gv7rjb32v3ss8klq99lbd";
+
type = "gem";
+
};
+
version = "1.24.1";
+
};
+
rubocop-capybara = {
+
dependencies = ["rubocop"];
+
groups = ["default" "development" "test"];
+
platforms = [];
+
source = {
+
remotes = ["https://rubygems.org"];
+
sha256 = "1h4qcjkz0365qlhi7y1ni94qj14k397cad566zygm20p15ypbp5v";
type = "gem";
};
-
version = "1.23.0";
+
version = "2.17.0";
};
rubocop-discourse = {
dependencies = ["rubocop" "rubocop-rspec"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1afsyw78pkv1ry5x5ww0krv75lg2lnv7b72sy9bbk6ni87fzsk1q";
+
sha256 = "0m6jqyh44vfibqcnxi0xz69xgrbf8vpps90h6al5qdbibm9dmajd";
type = "gem";
};
-
version = "3.0";
+
version = "3.0.3";
};
rubocop-rspec = {
-
dependencies = ["rubocop"];
+
dependencies = ["rubocop" "rubocop-capybara"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0pj53m5zcrgyhb2zsjxqsav9sm9s8jh0mgk8c1qckaxy3dkwfxm4";
+
sha256 = "1vmmin3ymgq7bhv2hl4pd0zpwawy709p816axc4vi67w61b4bij1";
type = "gem";
};
-
version = "2.15.0";
+
version = "2.18.1";
};
ruby-prof = {
groups = ["development"];
···
}];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1r3xalp91l07m0cwllcxjzg6nkviiqnxkcbgg5qnzsdji6rgy65m";
+
sha256 = "09n13bzm1p956z318xx1v7ikqdp2i971v7p3kwf3170axz368ccy";
type = "gem";
};
-
version = "1.4.3";
+
version = "1.4.5";
};
ruby-progressbar = {
groups = ["default" "development" "test"];
···
version = "2.1.2";
};
selenium-webdriver = {
-
dependencies = ["childprocess" "rexml" "rubyzip" "websocket"];
+
dependencies = ["rexml" "rubyzip" "websocket"];
groups = ["test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1wj32kci0v4r7a5rdiq7yrf1763k2ap01dp09flr56hgnb75asx8";
+
sha256 = "1dkcyq2hfvf4wdj7q5cqqlka1dw6gz28dckxf4r17jmd53ymwg28";
type = "gem";
};
-
version = "4.6.1";
+
version = "4.8.0";
};
shoulda-matchers = {
dependencies = ["activesupport"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "11hv1xk153sspi6iif7a2m64shshpjr37l44c8qnqlfpzv0dxlm2";
+
sha256 = "11igjgh16dl5pwqizdmclzlzpv7mbmnh8fx7m9b5kfsjhwxqdfpn";
type = "gem";
};
-
version = "5.2.0";
+
version = "5.3.0";
};
sidekiq = {
dependencies = ["connection_pool" "rack" "redis"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1hrv046jll6ad1s964gsmcq4hvkr3zzr6jc7z1mns22mvfpbc3cr";
+
sha256 = "198kcbrjxhhzca19yrdcd6jjj9sb51aaic3b0sc3pwjghg3j49py";
type = "gem";
};
-
version = "0.21.2";
+
version = "0.22.0";
};
simplecov-html = {
groups = ["default" "test"];
···
groups = ["default"];
platforms = [];
source = {
-
remotes = ["https://rubygems.org"];
-
sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay";
-
type = "gem";
+
fetchSubmodules = false;
+
rev = "f4d3dae71ef29c44b75a49cfbf8032cce07b423a";
+
sha256 = "0ps1zb411nrwih0rdp6vrnx0n4n18jcwks2x06iw52gvswlv49ry";
+
type = "git";
+
url = "https://github.com/rails/sprockets";
};
version = "3.7.2";
};
···
}];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0v7nk5i3fa63h6clfr5vbr0y91v3kxkaxh6gbdx583pn982avdlc";
+
sha256 = "02r3a3ny27ljj19bzmxscw2vlmk7sw1p4ppbl2i69g17khi0p4sw";
+
type = "gem";
+
};
+
version = "0.2.23";
+
};
+
syntax_tree = {
+
dependencies = ["prettier_print"];
+
groups = ["development" "test"];
+
platforms = [];
+
source = {
+
remotes = ["https://rubygems.org"];
+
sha256 = "1sqjjz3ja2563p4dgw46wfx0knpcp176gfvx8gfmkv8h166qnkqg";
type = "gem";
};
-
version = "0.2.22";
+
version = "5.2.0";
+
};
+
syntax_tree-disable_ternary = {
+
groups = ["development" "test"];
+
platforms = [];
+
source = {
+
remotes = ["https://rubygems.org"];
+
sha256 = "0gdi6zx4hqpxd81zas3dlw1jrdp98fvsqj4p7f42x5lhpfzz04zc";
+
type = "gem";
+
};
+
version = "1.0.0";
};
test-prof = {
groups = ["test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "08f6lj1yh1ykwdaz5zkqpj5hn4vl4vid2x74k135cbggw3j9grdq";
+
sha256 = "15fcfjplc1zqahrha6rxgwnmjlyp41qkj4369fbxdfp0iaxb15pg";
type = "gem";
};
-
version = "1.0.11";
+
version = "1.1.0";
};
thor = {
groups = ["default" "development" "test"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "00cy93b6803j3aw5nail4l0zdrj54i5n2dlk6j9z998swcjbv3b2";
+
sha256 = "0lnh0kr7f43m1cjzc2jvggfsl1rzsaj2rd3pn6vp7mcqliymzaza";
type = "gem";
};
-
version = "0.3.0";
+
version = "0.3.1";
};
tzinfo = {
dependencies = ["concurrent-ruby"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0ra70s8prfacpqwj5v2mqn1rbfz6xds3n9nsr9cwzs3z2c0wm5j7";
+
sha256 = "1gi82k102q7bkmfi7ggn9ciypn897ylln1jk9q67kjhr39fj043a";
type = "gem";
};
-
version = "2.3.0";
+
version = "2.4.2";
};
unicorn = {
dependencies = ["kgio" "raindrops"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1w00162maixmqp7nwm8mmbvwnnpmjilwbim8yk2ypxy3x3ih6l69";
+
sha256 = "11c4n5rri8d45c47krpg76n98mqh36l0kp2qrkb4dxnkp4flay6y";
type = "gem";
};
-
version = "0.11.0";
+
version = "0.12.0";
};
uri_template = {
groups = ["default"];
···
};
version = "1.1.1";
};
+
web-push = {
+
dependencies = ["hkdf" "jwt" "openssl"];
+
groups = ["default"];
+
platforms = [];
+
source = {
+
remotes = ["https://rubygems.org"];
+
sha256 = "1jsximg9v44rpclhjxp03fxk68jx675pghwxc66wj7rn9h9fc54i";
+
type = "gem";
+
};
+
version = "3.0.0";
+
};
webdrivers = {
dependencies = ["nokogiri" "rubyzip" "selenium-webdriver"];
groups = ["test"];
···
};
version = "3.18.1";
};
-
webpush = {
-
dependencies = ["hkdf" "jwt"];
+
webrick = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1z9ma580q80czw46gi1bvsr2iwxr63aiyr7i9gilav6hbhg3sxv3";
+
sha256 = "1d4cvgmxhfczxiq5fr534lmizkhigd15bsx5719r5ds7k7ivisc7";
type = "gem";
};
-
version = "1.1.0";
+
version = "1.7.0";
};
websocket = {
groups = ["default" "test"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1m9n4sg7i0334yac7dcrhnhv5rzvrccgnh687n9x77ba3awk4yx1";
+
sha256 = "12jc68af2mwdkr9iqay2v6qgq47yk5g82sd171riibk62wbhp5p3";
type = "gem";
};
-
version = "0.0.10";
+
version = "0.1.2";
};
zeitwerk = {
groups = ["default" "development" "test"];
+3 -1
pkgs/servers/web-apps/discourse/update.py
···
gemfile = rubyenv_dir / "Gemfile"
version_file_regex = re.compile(r'.*File\.expand_path\("\.\./(.*)", __FILE__\)')
gemfile_text = ''
-
for line in repo.get_file('plugin.rb', rev).splitlines():
+
plugin_file = repo.get_file('plugin.rb', rev)
+
plugin_file = plugin_file.replace(",\n", ", ") # fix split lines
+
for line in plugin_file.splitlines():
if 'gem ' in line:
line = ','.join(filter(lambda x: ":require_name" not in x, line.split(',')))
gemfile_text = gemfile_text + line + os.linesep