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

discourse: 2.9.0.beta14 -> 3.1.0.beta2
This commit is contained in:
Kim Lindberger 2023-02-20 13:58:05 +01:00 committed by GitHub
commit e0c0a6c80c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
45 changed files with 644 additions and 486 deletions

View File

@ -615,6 +615,7 @@ in
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;
@ -647,6 +648,9 @@ in
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 =
@ -1011,6 +1015,7 @@ in
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;

View File

@ -40,7 +40,7 @@ import ./make-test-python.nix (
networking.extraHosts = ''
127.0.0.1 ${discourseDomain}
${nodes.client.config.networking.primaryIPAddress} ${clientDomain}
${nodes.client.networking.primaryIPAddress} ${clientDomain}
'';
services.postfix = {
@ -90,7 +90,7 @@ import ./make-test-python.nix (
networking.extraHosts = ''
127.0.0.1 ${clientDomain}
${nodes.discourse.config.networking.primaryIPAddress} ${discourseDomain}
${nodes.discourse.networking.primaryIPAddress} ${discourseDomain}
'';
services.dovecot2 = {
@ -178,8 +178,8 @@ import ./make-test-python.nix (
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")

View File

@ -1,25 +1,59 @@
{ 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
rubyEnv.wrappedRuby
@ -165,7 +199,7 @@ let
yarnOfflineCache = fetchYarnDeps {
yarnLock = src + "/app/assets/javascripts/yarn.lock";
sha256 = "1rj8bbhmrnnhaiqw2bik8dilk7g35yhis5p7yww57zy4k5ghjvlw";
sha256 = "0ryc4p5s35mzg1p71z98x5fvr5fpldmgghdi1viha4ckbpv153lw";
};
nativeBuildInputs = runtimeDeps ++ [
@ -174,7 +208,7 @@ let
nodePackages.uglify-js
nodePackages.terser
yarn
nodejs-14_x
nodejs-16_x
];
outputs = [ "out" "javascripts" ];

View File

@ -0,0 +1,24 @@
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.

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
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";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
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";

View File

@ -3,4 +3,4 @@
source "https://rubygems.org"
# gem "rails"
gem 'rrule', '0.4.4', require: false
gem "rrule", "0.4.4", require: false

View File

@ -1,18 +1,18 @@
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
@ -22,4 +22,4 @@ DEPENDENCIES
rrule (= 0.4.4)
BUNDLED WITH
2.3.25
2.4.6

View File

@ -6,8 +6,8 @@ mkDiscoursePlugin {
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";

View File

@ -5,20 +5,20 @@
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"];
@ -36,10 +36,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0516ypqlx0mlcfn5xh7qppxqc3xndn1fnadxawa8wld5dkcimy30";
sha256 = "1kjy67qajw4rnkbjs5jyk7kc3lyhz5613fwj1i8f6ppdk4zampy0";
type = "gem";
};
version = "5.16.3";
version = "5.17.0";
};
rrule = {
dependencies = ["activesupport"];
@ -58,9 +58,9 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0rx114mpqnw2k4h98vc0rs0x0bmf0img84yh8mkkjkal07cjydf5";
sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd";
type = "gem";
};
version = "2.0.5";
version = "2.0.6";
};
}

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
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";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
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";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
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";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
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";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
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";

View File

@ -3,5 +3,5 @@
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"

View File

@ -3,14 +3,14 @@ GEM
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)
@ -24,4 +24,4 @@ DEPENDENCIES
sawyer (= 0.9.2)
BUNDLED WITH
2.3.25
2.4.6

View File

@ -6,8 +6,8 @@ mkDiscoursePlugin {
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";

View File

@ -16,10 +16,10 @@
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"];
@ -47,10 +47,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0sqw1zls6227bgq38sxb2hs8nkdz4hn1zivs27mjbniswfy4zvi6";
sha256 = "0hz0bx2qs2pwb0bwazzsah03ilpf3aai8b7lk7s35jsfzwbkjq35";
type = "gem";
};
version = "5.0.0";
version = "5.0.1";
};
ruby2_keywords = {
groups = ["default"];

View File

@ -5,5 +5,5 @@ source "https://rubygems.org"
# 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'

View File

@ -2,7 +2,7 @@ GEM
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)
@ -12,17 +12,17 @@ GEM
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

View File

@ -6,8 +6,8 @@ mkDiscoursePlugin {
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";

View File

@ -14,10 +14,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "18fyxfbh32ai72cwgz8s9w0fg0xq7j534y217flw54mmzsj8i6qp";
sha256 = "1ycw0qsw3hap8svakl0i30jkj0ffd4lpyrn17a1j0w8mz5ainmsj";
type = "gem";
};
version = "0.14.0";
version = "0.17.1";
};
omniauth = {
dependencies = ["hashie" "rack"];
@ -56,10 +56,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0axc6w0rs4yj0pksfll1hjgw1k6a5q0xi2lckh91knfb72v348pa";
sha256 = "0qvp6h2abmlsl4sqjsvac03cr2mxq6143gbx4kq52rpazp021qsb";
type = "gem";
};
version = "2.2.4";
version = "2.2.6.2";
};
rubyntlm = {
groups = ["default"];

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
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";

View File

@ -7,4 +7,4 @@ gem 'bcrypt', '3.1.13'
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'

View File

@ -1,8 +1,8 @@
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)
@ -16,11 +16,11 @@ PLATFORMS
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

View File

@ -6,8 +6,8 @@ mkDiscoursePlugin {
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";

View File

@ -5,10 +5,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0g4qsdq072fyrsa7r0sg456dhrb017jmzdbnnzl2c80ha40bbmhg";
sha256 = "1wdllcqlr81nzyf485ldv1p660xsi476p79ghbj7zsf3n9n86gwd";
type = "gem";
};
version = "2.1.1";
version = "2.2.0";
};
bcrypt = {
groups = ["default"];

View File

@ -6,8 +6,8 @@ mkDiscoursePlugin {
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";

View File

@ -3,4 +3,5 @@
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

View File

@ -1,13 +1,16 @@
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

View File

@ -6,8 +6,8 @@
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-prometheus";
rev = "72fff206ba18ad5ca3112fed2f5f0ce6a17ca6f8";
sha256 = "sha256-lSZZTcoWeFJTXnHLgry5ezYGmCBuMFJ96dtkOQKKRJc=";
rev = "78324fbaa8cfa3040ee7e01ac793ad2515b6c004";
sha256 = "sha256-xzI6gzRztLuEzFHlMi3iXZP9bRRMsRHRQEBrwqyzpdk=";
};
patches = [

View File

@ -1,12 +1,23 @@
{
prometheus_exporter = {
dependencies = ["webrick"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1kmabnxz466zqnyqlzc693ny4l7i0rxvmc0znswvizc0zg4pri80";
sha256 = "0pb4k6px8b36bvnw3d14j31s33ns60dcwxixbcgvhpzavd7fparb";
type = "gem";
};
version = "0.5.0";
version = "2.0.6";
};
webrick = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1d4cvgmxhfczxiq5fr534lmizkhigd15bsx5719r5ds7k7ivisc7";
type = "gem";
};
version = "1.7.0";
};
}

View File

@ -2,7 +2,7 @@ diff --git a/lib/internal_metric/global.rb b/lib/internal_metric/global.rb
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 = {}
@ -10,7 +10,7 @@ index 682571b..7bdd431 100644
- 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
@ -26,9 +26,7 @@ index 682571b..7bdd431 100644
-
- @@retries ||= 10
- @@retries -= 1
- if @@retries < 0
- @@version = -1
- end
- @@version = -1 if @@retries < 0
- end
+ @@version = -1
end

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
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";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
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";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
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";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
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";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
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";

View File

@ -5,8 +5,8 @@ mkDiscoursePlugin {
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";

View File

@ -1,51 +1,51 @@
# 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
@ -53,79 +53,79 @@ gem 'redis'
# 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
@ -135,138 +135,147 @@ 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'
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

View File

@ -5,28 +5,37 @@ GIT
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)
@ -35,15 +44,15 @@ GEM
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)
@ -82,7 +91,7 @@ GEM
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)
@ -97,11 +106,11 @@ GEM
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)
@ -110,12 +119,13 @@ GEM
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)
@ -127,15 +137,15 @@ GEM
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)
@ -147,14 +157,14 @@ GEM
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)
@ -168,7 +178,7 @@ GEM
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)
@ -176,15 +186,10 @@ GEM
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)
@ -197,7 +202,7 @@ GEM
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)
@ -205,11 +210,11 @@ GEM
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)
@ -217,35 +222,28 @@ GEM
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)
@ -281,18 +279,19 @@ GEM
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)
@ -300,23 +299,23 @@ GEM
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
@ -324,9 +323,9 @@ GEM
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)
@ -342,15 +341,15 @@ GEM
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)
@ -361,13 +360,13 @@ GEM
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)
@ -386,24 +385,27 @@ GEM
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)
@ -422,18 +424,17 @@ GEM
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)
@ -442,19 +443,19 @@ GEM
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)
@ -462,14 +463,18 @@ GEM
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)
@ -478,28 +483,26 @@ GEM
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
@ -512,6 +515,7 @@ DEPENDENCIES
capybara
cbor
certified
cgi (>= 0.3.6)
colored2
cose
cppjieba_rb
@ -583,7 +587,7 @@ DEPENDENCIES
rack-protection
rails_failover
rails_multisite
railties (= 7.0.3.1)
railties (= 7.0.4.1)
rake
rb-fsevent
rbtrace
@ -609,20 +613,23 @@ DEPENDENCIES
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

View File

@ -5,10 +5,10 @@
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"];
@ -16,10 +16,10 @@
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"];
@ -27,10 +27,10 @@
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"];
@ -60,10 +60,10 @@
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"];
@ -71,10 +71,10 @@
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"];
@ -82,10 +82,10 @@
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"];
@ -93,10 +93,10 @@
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"];
@ -262,10 +262,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1f2phbpsiw8zwmmb1h6s82c4s2banzd04ch7vn6pdz91map233l1";
sha256 = "0hyz68j0z0j24vcrs43swmlykhzypayv34kzrsbxda5lbi83gynm";
type = "gem";
};
version = "7.0.4";
version = "7.0.7";
};
byebug = {
groups = ["development" "test"];
@ -312,15 +312,15 @@
};
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"];
@ -361,10 +361,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14";
sha256 = "1qnsflsbjj38im8xq35g0vihlz96h09wjn2dad5g543l3vvrkrx5";
type = "gem";
};
version = "1.1.10";
version = "1.2.0";
};
connection_pool = {
groups = ["default"];
@ -424,10 +424,20 @@
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"];
@ -464,10 +474,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "00vwzvxgby22h7jhwadqqf9ssbkp3ag2pl4g7q3zf1y8mlk7rk39";
sha256 = "01qkpbkxq83ip3iysfh2kjrg9sh2n2q91prhyxh3vq10lcfzv9l1";
type = "gem";
};
version = "3.1.0";
version = "3.1.1";
};
discourse-fonts = {
groups = ["default"];
@ -541,20 +551,20 @@
}];
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"];
@ -613,10 +623,10 @@
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"];
@ -725,10 +735,10 @@
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"];
@ -775,20 +785,20 @@
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"];
@ -867,10 +877,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0yk5d10yvspkc5jyvx9gc1a9pn1z8v4k2hvjk1l88zixwf3wf3cl";
sha256 = "0nalhin1gda4v8ybk6lq8f407cgfrj6qzn234yra4ipkmlbfmal6";
type = "gem";
};
version = "2.6.2";
version = "2.6.3";
};
json-schema = {
dependencies = ["addressable"];
@ -899,10 +909,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0kcmnx6rgjyd7sznai9ccns2nh7p7wnw3mi8a7vf2wkm51azwddq";
sha256 = "1x8zp1a2pnngxh7631s0kn0r665qkwzfp16kifmp93r4zj6ci8v8";
type = "gem";
};
version = "2.5.0";
version = "2.6.0";
};
kgio = {
groups = ["default"];
@ -936,10 +946,10 @@
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"];
@ -999,10 +1009,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1fpyk1965py77al7iadkn5dibwgvybknkr7r8bii2dj73wvr29rh";
sha256 = "08qhzck271anrx9y6qa6mh8hwwdzsgwld8q0000rcd7yvvpnjr3c";
type = "gem";
};
version = "2.19.0";
version = "2.19.1";
};
lru_redux = {
groups = ["default"];
@ -1083,10 +1093,10 @@
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"];
@ -1113,10 +1123,10 @@
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"];
@ -1166,10 +1176,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0516ypqlx0mlcfn5xh7qppxqc3xndn1fnadxawa8wld5dkcimy30";
sha256 = "1kjy67qajw4rnkbjs5jyk7kc3lyhz5613fwj1i8f6ppdk4zampy0";
type = "gem";
};
version = "5.16.3";
version = "5.17.0";
};
mocha = {
dependencies = ["ruby2_keywords"];
@ -1232,21 +1242,21 @@
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"];
@ -1265,10 +1275,10 @@
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"];
@ -1297,10 +1307,10 @@
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"];
@ -1427,10 +1437,10 @@
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"];
@ -1473,10 +1483,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xr8406nknbg2z561m3nkny51zkhpd02ng0fbjc9jaachp7ksz1y";
sha256 = "1p0y8cgdmfwyg7plwlsjf9afshm81wj9ah8nprmpfrv28adg3vn6";
type = "gem";
};
version = "4.0.0";
version = "4.1.0";
};
parser = {
dependencies = ["ast"];
@ -1484,10 +1494,10 @@
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"];
@ -1499,6 +1509,16 @@
};
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 = [];
@ -1515,10 +1535,10 @@
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"];
@ -1547,10 +1567,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0sqw1zls6227bgq38sxb2hs8nkdz4hn1zivs27mjbniswfy4zvi6";
sha256 = "0hz0bx2qs2pwb0bwazzsah03ilpf3aai8b7lk7s35jsfzwbkjq35";
type = "gem";
};
version = "5.0.0";
version = "5.0.1";
};
puma = {
dependencies = ["nio4r"];
@ -1558,10 +1578,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yabmxmqprb2x58awiasidsiwpplscmyar9dzwh5l8jgaw4i3wra";
sha256 = "15hj8r6wp23k187ajmp13kldk53ygm84q4caq7nlndrn8jlcsps0";
type = "gem";
};
version = "6.0.0";
version = "6.0.2";
};
r2 = {
groups = ["default"];
@ -1578,10 +1598,10 @@
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"];
@ -1592,10 +1612,10 @@
}];
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"];
@ -1614,10 +1634,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1kljmw1lhzqjcwnwadr5m2khii0h2lsah447zb9vgirrv5jszg9h";
sha256 = "1a12m1mv8dc0g90fs1myvis8vsgr427k1arg1q4a9qlfw6fqyhis";
type = "gem";
};
version = "3.0.4";
version = "3.0.5";
};
rack-test = {
dependencies = ["rack"];
@ -1647,10 +1667,10 @@
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"];
@ -1680,10 +1700,10 @@
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"];
@ -1772,10 +1792,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1xid9av3apfz5mszwqgl6v0n58g6038lsfdz0p53xb9ywpa5dcpc";
sha256 = "0i4a8hxxcxci3n8hhlm9a8wa7a9m58r6sjvh4749v7362i8cy010";
type = "gem";
};
version = "4.7.1";
version = "4.8.0";
};
redis-namespace = {
dependencies = ["redis"];
@ -1783,20 +1803,20 @@
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"];
@ -1834,10 +1854,10 @@
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"];
@ -1888,10 +1908,10 @@
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"];
@ -1910,10 +1930,10 @@
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"];
@ -1964,10 +1984,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ggxkq68ddxmynr2lyrvzr8qbrdvc2irxlx9ihxmvdpkg1vimr3w";
sha256 = "0a2j57r6pvngqlzkmww031gs5isax3nsr9n7cbfpqnh34ljh2lk1";
type = "gem";
};
version = "1.39.0";
version = "1.44.0";
};
rubocop-ast = {
dependencies = ["parser"];
@ -1975,10 +1995,21 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1qiq3q66w57im0ryrvnd1yq0g2s2safhywpv94441kvc1amayjzy";
sha256 = "1pdzabz95hv3z5sfbkfqa8bdybsfl13gv7rjb32v3ss8klq99lbd";
type = "gem";
};
version = "1.23.0";
version = "1.24.1";
};
rubocop-capybara = {
dependencies = ["rubocop"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1h4qcjkz0365qlhi7y1ni94qj14k397cad566zygm20p15ypbp5v";
type = "gem";
};
version = "2.17.0";
};
rubocop-discourse = {
dependencies = ["rubocop" "rubocop-rspec"];
@ -1986,21 +2017,21 @@
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"];
@ -2011,10 +2042,10 @@
}];
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"];
@ -2091,15 +2122,15 @@
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"];
@ -2107,10 +2138,10 @@
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"];
@ -2129,10 +2160,10 @@
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"];
@ -2170,9 +2201,11 @@
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";
};
@ -2206,20 +2239,41 @@
}];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0v7nk5i3fa63h6clfr5vbr0y91v3kxkaxh6gbdx583pn982avdlc";
sha256 = "02r3a3ny27ljj19bzmxscw2vlmk7sw1p4ppbl2i69g17khi0p4sw";
type = "gem";
};
version = "0.2.22";
version = "0.2.23";
};
syntax_tree = {
dependencies = ["prettier_print"];
groups = ["development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1sqjjz3ja2563p4dgw46wfx0knpcp176gfvx8gfmkv8h166qnkqg";
type = "gem";
};
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"];
@ -2246,10 +2300,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "00cy93b6803j3aw5nail4l0zdrj54i5n2dlk6j9z998swcjbv3b2";
sha256 = "0lnh0kr7f43m1cjzc2jvggfsl1rzsaj2rd3pn6vp7mcqliymzaza";
type = "gem";
};
version = "0.3.0";
version = "0.3.1";
};
tzinfo = {
dependencies = ["concurrent-ruby"];
@ -2299,10 +2353,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ra70s8prfacpqwj5v2mqn1rbfz6xds3n9nsr9cwzs3z2c0wm5j7";
sha256 = "1gi82k102q7bkmfi7ggn9ciypn897ylln1jk9q67kjhr39fj043a";
type = "gem";
};
version = "2.3.0";
version = "2.4.2";
};
unicorn = {
dependencies = ["kgio" "raindrops"];
@ -2336,10 +2390,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1w00162maixmqp7nwm8mmbvwnnpmjilwbim8yk2ypxy3x3ih6l69";
sha256 = "11c4n5rri8d45c47krpg76n98mqh36l0kp2qrkb4dxnkp4flay6y";
type = "gem";
};
version = "0.11.0";
version = "0.12.0";
};
uri_template = {
groups = ["default"];
@ -2361,6 +2415,17 @@
};
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"];
@ -2383,16 +2448,15 @@
};
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"];
@ -2430,10 +2494,10 @@
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"];

View File

@ -407,7 +407,9 @@ def update_plugins():
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