mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-24 05:44:13 +00:00
discourse: 3.2.5 -> 3.3.2
https://meta.discourse.org/t/3-3-0-major-release/316353 https://meta.discourse.org/t/3-3-1-bug-fix-release/322330 https://meta.discourse.org/t/3-3-2-security-and-maintenance-release/329341
This commit is contained in:
parent
95ee0b6830
commit
6a5e0f7dac
@ -1,12 +1,12 @@
|
||||
diff --git a/config/environments/production.rb b/config/environments/production.rb
|
||||
index 6b73c82e9d..0cefea6fc0 100644
|
||||
--- a/config/environments/production.rb
|
||||
+++ b/config/environments/production.rb
|
||||
@@ -32,5 +32,6 @@ Discourse::Application.configure do
|
||||
user_name: GlobalSetting.smtp_user_name,
|
||||
password: GlobalSetting.smtp_password,
|
||||
authentication: GlobalSetting.smtp_authentication,
|
||||
+ ca_file: "/etc/ssl/certs/ca-certificates.crt",
|
||||
enable_starttls_auto: GlobalSetting.smtp_enable_start_tls,
|
||||
open_timeout: GlobalSetting.smtp_open_timeout,
|
||||
read_timeout: GlobalSetting.smtp_read_timeout
|
||||
diff --git a/app/models/global_setting.rb b/app/models/global_setting.rb
|
||||
index 6e06e18039..b2bef31fe2 100644
|
||||
--- a/app/models/global_setting.rb
|
||||
+++ b/app/models/global_setting.rb
|
||||
@@ -255,6 +255,7 @@ class GlobalSetting
|
||||
domain: GlobalSetting.smtp_domain,
|
||||
user_name: GlobalSetting.smtp_user_name,
|
||||
password: GlobalSetting.smtp_password,
|
||||
+ ca_file: "/etc/ssl/certs/ca-certificates.crt",
|
||||
enable_starttls_auto: GlobalSetting.smtp_enable_start_tls,
|
||||
open_timeout: GlobalSetting.smtp_open_timeout,
|
||||
read_timeout: GlobalSetting.smtp_read_timeout,
|
||||
|
@ -47,13 +47,13 @@
|
||||
}@args:
|
||||
|
||||
let
|
||||
version = "3.2.5";
|
||||
version = "3.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "discourse";
|
||||
repo = "discourse";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-+at4IiJ0yRPq9XyvAwa2Kuc0wYQOB5hw7E1jmQAAkc4=";
|
||||
sha256 = "sha256-FaPcUta5z/8oasw+9zGBRZnUVYD8eCo1t/XwwsFoSM8=";
|
||||
};
|
||||
|
||||
ruby = ruby_3_2;
|
||||
@ -202,14 +202,9 @@ let
|
||||
pname = "discourse-assets";
|
||||
inherit version src;
|
||||
|
||||
yarnDevOfflineCache = fetchYarnDeps {
|
||||
yarnLock = src + "/yarn.lock";
|
||||
hash = "sha256-0s8c2V8Wl3f5kL1OIn2ps6hL7CUQD5+LJm+9LYHc+W0=";
|
||||
};
|
||||
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
yarnLock = src + "/app/assets/javascripts/yarn-ember5.lock";
|
||||
hash = "sha256-ZBXvNdHHV92kSAswe6KA+OqaY5smf7ZKTTOiY8g78D0=";
|
||||
yarnLock = src + "/yarn.lock";
|
||||
hash = "sha256-cSQofaULCmPuWGxS+hK4KlRq9lSkCPiYvhax9X6Dor8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = runtimeDeps ++ [
|
||||
@ -223,7 +218,7 @@ let
|
||||
fixup-yarn-lock
|
||||
];
|
||||
|
||||
outputs = [ "out" "javascripts" ];
|
||||
outputs = [ "out" "javascripts" "node_modules" ];
|
||||
|
||||
patches = [
|
||||
# Use the Ruby API version in the plugin gem path, to match the
|
||||
@ -268,13 +263,13 @@ let
|
||||
yarn --offline --ignore-scripts --cwd $(dirname $yarnLock) install
|
||||
}
|
||||
|
||||
# Install devDependencies for generating the theme-transpiler executed as
|
||||
# dependent task assets:precompile:theme_transpiler before db:migrate
|
||||
yarn_install $yarnDevOfflineCache yarn.lock
|
||||
# Install runtime and devDependencies.
|
||||
# The dev deps are necessary for generating the theme-transpiler executed as dependent task
|
||||
# assets:precompile:theme_transpiler before db:migrate and unfortunately also in the runtime
|
||||
yarn_install $yarnOfflineCache yarn.lock
|
||||
|
||||
# Install the runtime dependencies
|
||||
yarn_install $yarnOfflineCache app/assets/javascripts/yarn-ember5.lock
|
||||
# Patch before running postinstall hook script
|
||||
patchShebangs node_modules/
|
||||
patchShebangs --build app/assets/javascripts
|
||||
yarn --offline --cwd app/assets/javascripts run postinstall
|
||||
export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
|
||||
@ -314,6 +309,8 @@ let
|
||||
|
||||
mv public/assets $out
|
||||
|
||||
mv node_modules $node_modules
|
||||
|
||||
rm -r app/assets/javascripts/plugins
|
||||
mv app/assets/javascripts $javascripts
|
||||
ln -sf /run/discourse/assets/javascripts/plugins $javascripts/plugins
|
||||
@ -392,6 +389,9 @@ let
|
||||
ln -sf /var/lib/discourse/tmp $out/share/discourse/tmp
|
||||
ln -sf /run/discourse/config $out/share/discourse/config
|
||||
ln -sf /run/discourse/public $out/share/discourse/public
|
||||
# This needs to be copied because of symlinks in node_modules
|
||||
# Also this needs to be full node_modules (including dev deps) because without loader.js it just throws 500
|
||||
cp -r ${assets.node_modules} $out/share/discourse/node_modules
|
||||
ln -sf ${assets} $out/share/discourse/public.dist/assets
|
||||
rm -r $out/share/discourse/app/assets/javascripts
|
||||
ln -sf ${assets.javascripts} $out/share/discourse/app/assets/javascripts
|
||||
@ -406,9 +406,6 @@ let
|
||||
maintainers = with maintainers; [ talyz ];
|
||||
license = licenses.gpl2Plus;
|
||||
description = "Discourse is an open source discussion platform";
|
||||
knownVulnerabilities = [
|
||||
"https://meta.discourse.org/t/3-3-2-security-and-maintenance-release/329341/1"
|
||||
];
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
@ -6,20 +6,20 @@ source "https://rubygems.org"
|
||||
|
||||
gem "bootsnap", require: false, platform: :mri
|
||||
|
||||
gem "actionmailer", "< 7.1"
|
||||
gem "actionpack", "< 7.1"
|
||||
gem "actionview", "< 7.1"
|
||||
gem "activemodel", "< 7.1"
|
||||
gem "activerecord", "< 7.1"
|
||||
gem "activesupport", "< 7.1"
|
||||
gem "railties", "< 7.1"
|
||||
gem "actionmailer", "~> 7.1.0"
|
||||
gem "actionpack", "~> 7.1.0"
|
||||
gem "actionview", "~> 7.1.0"
|
||||
gem "activemodel", "~> 7.1.0"
|
||||
gem "activerecord", "~> 7.1.0"
|
||||
gem "activesupport", "~> 7.1.0"
|
||||
gem "railties", "~> 7.1.0"
|
||||
gem "sprockets-rails"
|
||||
|
||||
gem "json"
|
||||
|
||||
# TODO: At the moment Discourse does not work with Sprockets 4, we would need to correct internals
|
||||
# We intend to drop sprockets rather than upgrade to 4.x
|
||||
gem "sprockets", git: "https://github.com/rails/sprockets", branch: "3.x"
|
||||
gem "sprockets", "~> 3.7.3"
|
||||
|
||||
# this will eventually be added to rails,
|
||||
# allows us to precompile all our templates in the unicorn master
|
||||
@ -31,7 +31,9 @@ gem "mail"
|
||||
gem "mini_mime"
|
||||
gem "mini_suffix"
|
||||
|
||||
gem "redis"
|
||||
# config/initializers/006-mini_profiler.rb depends upon the RedisClient#call.
|
||||
# Rework this when upgrading to redis client 5.0 and above.
|
||||
gem "redis", "< 5.0"
|
||||
|
||||
# This is explicitly used by Sidekiq and is an optional dependency.
|
||||
# We tell Sidekiq to use the namespace "sidekiq" which triggers this
|
||||
@ -87,6 +89,7 @@ gem "mini_sql"
|
||||
gem "pry-rails", require: false
|
||||
gem "pry-byebug", require: false
|
||||
gem "rtlcss", require: false
|
||||
gem "messageformat-wrapper", require: false
|
||||
gem "rake"
|
||||
|
||||
gem "thor", require: false
|
||||
@ -123,7 +126,6 @@ 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", "~> 4.14", require: false
|
||||
gem "selenium-devtools", require: false
|
||||
@ -145,6 +147,7 @@ group :test, :development do
|
||||
|
||||
gem "shoulda-matchers", require: false
|
||||
gem "rspec-html-matchers"
|
||||
gem "pry-stack_explorer", require: false
|
||||
gem "byebug", require: ENV["RM_INFO"].nil?, platform: :mri
|
||||
gem "rubocop-discourse", require: false
|
||||
gem "parallel_tests"
|
||||
@ -210,7 +213,6 @@ gem "cppjieba_rb", require: false
|
||||
|
||||
gem "lograge", require: false
|
||||
gem "logstash-event", require: false
|
||||
gem "logstash-logger", require: false
|
||||
gem "logster"
|
||||
|
||||
# A fork of sassc with dart-sass support
|
||||
@ -270,3 +272,7 @@ gem "csv", require: false
|
||||
# TODO: Can be removed once we upgrade to Rails 7.1
|
||||
gem "mutex_m"
|
||||
gem "drb"
|
||||
|
||||
# dependencies for the automation plugin
|
||||
gem "iso8601"
|
||||
gem "rrule"
|
||||
|
@ -1,92 +1,92 @@
|
||||
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.8)
|
||||
actionpack (= 7.0.8)
|
||||
actionview (= 7.0.8)
|
||||
activejob (= 7.0.8)
|
||||
activesupport (= 7.0.8)
|
||||
actionmailer (7.1.3.4)
|
||||
actionpack (= 7.1.3.4)
|
||||
actionview (= 7.1.3.4)
|
||||
activejob (= 7.1.3.4)
|
||||
activesupport (= 7.1.3.4)
|
||||
mail (~> 2.5, >= 2.5.4)
|
||||
net-imap
|
||||
net-pop
|
||||
net-smtp
|
||||
rails-dom-testing (~> 2.0)
|
||||
actionpack (7.0.8)
|
||||
actionview (= 7.0.8)
|
||||
activesupport (= 7.0.8)
|
||||
rack (~> 2.0, >= 2.2.4)
|
||||
rails-dom-testing (~> 2.2)
|
||||
actionpack (7.1.3.4)
|
||||
actionview (= 7.1.3.4)
|
||||
activesupport (= 7.1.3.4)
|
||||
nokogiri (>= 1.8.5)
|
||||
racc
|
||||
rack (>= 2.2.4)
|
||||
rack-session (>= 1.0.1)
|
||||
rack-test (>= 0.6.3)
|
||||
rails-dom-testing (~> 2.0)
|
||||
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
||||
actionview (7.0.8)
|
||||
activesupport (= 7.0.8)
|
||||
rails-dom-testing (~> 2.2)
|
||||
rails-html-sanitizer (~> 1.6)
|
||||
actionview (7.1.3.4)
|
||||
activesupport (= 7.1.3.4)
|
||||
builder (~> 3.1)
|
||||
erubi (~> 1.4)
|
||||
rails-dom-testing (~> 2.0)
|
||||
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
||||
erubi (~> 1.11)
|
||||
rails-dom-testing (~> 2.2)
|
||||
rails-html-sanitizer (~> 1.6)
|
||||
actionview_precompiler (0.4.0)
|
||||
actionview (>= 6.0.a)
|
||||
active_model_serializers (0.8.4)
|
||||
activemodel (>= 3.0)
|
||||
activejob (7.0.8)
|
||||
activesupport (= 7.0.8)
|
||||
activejob (7.1.3.4)
|
||||
activesupport (= 7.1.3.4)
|
||||
globalid (>= 0.3.6)
|
||||
activemodel (7.0.8)
|
||||
activesupport (= 7.0.8)
|
||||
activerecord (7.0.8)
|
||||
activemodel (= 7.0.8)
|
||||
activesupport (= 7.0.8)
|
||||
activesupport (7.0.8)
|
||||
activemodel (7.1.3.4)
|
||||
activesupport (= 7.1.3.4)
|
||||
activerecord (7.1.3.4)
|
||||
activemodel (= 7.1.3.4)
|
||||
activesupport (= 7.1.3.4)
|
||||
timeout (>= 0.4.0)
|
||||
activesupport (7.1.3.4)
|
||||
base64
|
||||
bigdecimal
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
connection_pool (>= 2.2.5)
|
||||
drb
|
||||
i18n (>= 1.6, < 2)
|
||||
minitest (>= 5.1)
|
||||
mutex_m
|
||||
tzinfo (~> 2.0)
|
||||
addressable (2.8.6)
|
||||
public_suffix (>= 2.0.2, < 6.0)
|
||||
addressable (2.8.7)
|
||||
public_suffix (>= 2.0.2, < 7.0)
|
||||
annotate (3.2.0)
|
||||
activerecord (>= 3.2, < 8.0)
|
||||
rake (>= 10.4, < 14.0)
|
||||
ast (2.4.2)
|
||||
aws-eventstream (1.3.0)
|
||||
aws-partitions (1.583.0)
|
||||
aws-sdk-core (3.130.2)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
aws-partitions (~> 1, >= 1.525.0)
|
||||
aws-partitions (1.894.0)
|
||||
aws-sdk-core (3.191.3)
|
||||
aws-eventstream (~> 1, >= 1.3.0)
|
||||
aws-partitions (~> 1, >= 1.651.0)
|
||||
aws-sigv4 (~> 1.8)
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
aws-sdk-kms (1.77.0)
|
||||
aws-sdk-core (~> 3, >= 3.191.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
jmespath (~> 1.0)
|
||||
aws-sdk-kms (1.56.0)
|
||||
aws-sdk-core (~> 3, >= 3.127.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sdk-s3 (1.114.0)
|
||||
aws-sdk-core (~> 3, >= 3.127.0)
|
||||
aws-sdk-s3 (1.143.0)
|
||||
aws-sdk-core (~> 3, >= 3.191.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.4)
|
||||
aws-sdk-sns (1.53.0)
|
||||
aws-sdk-core (~> 3, >= 3.127.0)
|
||||
aws-sigv4 (~> 1.8)
|
||||
aws-sdk-sns (1.72.0)
|
||||
aws-sdk-core (~> 3, >= 3.191.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sigv4 (1.5.0)
|
||||
aws-sigv4 (1.8.0)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
base64 (0.2.0)
|
||||
better_errors (2.10.1)
|
||||
erubi (>= 1.0.0)
|
||||
rack (>= 0.9.0)
|
||||
rouge (>= 1.0.0)
|
||||
bigdecimal (3.1.6)
|
||||
binding_of_caller (1.0.0)
|
||||
debug_inspector (>= 0.0.1)
|
||||
bootsnap (1.17.1)
|
||||
bigdecimal (3.1.8)
|
||||
binding_of_caller (1.0.1)
|
||||
debug_inspector (>= 1.2.0)
|
||||
bootsnap (1.18.3)
|
||||
msgpack (~> 1.2)
|
||||
builder (3.2.4)
|
||||
bullet (7.1.6)
|
||||
builder (3.3.0)
|
||||
bullet (7.2.0)
|
||||
activesupport (>= 3.0.0)
|
||||
uniform_notifier (~> 1.11)
|
||||
byebug (11.1.3)
|
||||
@ -105,22 +105,22 @@ GEM
|
||||
chunky_png (1.4.0)
|
||||
coderay (1.1.3)
|
||||
colored2 (4.0.0)
|
||||
concurrent-ruby (1.2.3)
|
||||
concurrent-ruby (1.3.3)
|
||||
connection_pool (2.4.1)
|
||||
cose (1.3.0)
|
||||
cbor (~> 0.5.9)
|
||||
openssl-signature_algorithm (~> 1.0)
|
||||
cppjieba_rb (0.4.2)
|
||||
crack (0.4.6)
|
||||
crack (1.0.0)
|
||||
bigdecimal
|
||||
rexml
|
||||
crass (1.0.6)
|
||||
css_parser (1.16.0)
|
||||
css_parser (1.17.1)
|
||||
addressable
|
||||
csv (3.3.0)
|
||||
date (3.3.4)
|
||||
debug_inspector (1.2.0)
|
||||
diff-lcs (1.5.0)
|
||||
diff-lcs (1.5.1)
|
||||
diffy (3.4.2)
|
||||
digest (3.1.1)
|
||||
discourse-fonts (0.0.9)
|
||||
@ -130,40 +130,50 @@ GEM
|
||||
discourse_dev_assets (0.0.4)
|
||||
faker (~> 2.16)
|
||||
literate_randomizer
|
||||
docile (1.4.0)
|
||||
docile (1.4.1)
|
||||
drb (2.2.1)
|
||||
email_reply_trimmer (0.1.13)
|
||||
erubi (1.12.0)
|
||||
excon (0.109.0)
|
||||
erubi (1.13.0)
|
||||
excon (0.111.0)
|
||||
execjs (2.9.1)
|
||||
exifr (1.4.0)
|
||||
fabrication (2.31.0)
|
||||
faker (2.23.0)
|
||||
i18n (>= 1.8.11, < 2)
|
||||
fakeweb (1.3.0)
|
||||
faraday (2.9.0)
|
||||
faraday (2.10.0)
|
||||
faraday-net_http (>= 2.0, < 3.2)
|
||||
faraday-net_http (3.1.0)
|
||||
logger
|
||||
faraday-net_http (3.1.1)
|
||||
net-http
|
||||
faraday-retry (2.2.0)
|
||||
faraday-retry (2.2.1)
|
||||
faraday (~> 2.0)
|
||||
fast_blank (1.0.1)
|
||||
fastimage (2.3.0)
|
||||
ffi (1.16.3)
|
||||
fastimage (2.3.1)
|
||||
ffi (1.17.0)
|
||||
ffi (1.17.0-arm64-darwin)
|
||||
ffi (1.17.0-x86_64-darwin)
|
||||
fspath (3.1.2)
|
||||
globalid (1.2.1)
|
||||
activesupport (>= 6.1)
|
||||
google-protobuf (3.25.3)
|
||||
google-protobuf (3.25.3-arm64-darwin)
|
||||
google-protobuf (3.25.3-x86_64-darwin)
|
||||
google-protobuf (4.27.2)
|
||||
bigdecimal
|
||||
rake (>= 13)
|
||||
google-protobuf (4.27.2-arm64-darwin)
|
||||
bigdecimal
|
||||
rake (>= 13)
|
||||
google-protobuf (4.27.2-x86_64-darwin)
|
||||
bigdecimal
|
||||
rake (>= 13)
|
||||
guess_html_encoding (0.0.11)
|
||||
hana (1.3.7)
|
||||
hashdiff (1.1.0)
|
||||
hashie (5.0.0)
|
||||
highline (3.0.1)
|
||||
highline (3.1.0)
|
||||
reline
|
||||
htmlentities (4.3.4)
|
||||
http_accept_language (2.1.1)
|
||||
i18n (1.14.1)
|
||||
i18n (1.14.5)
|
||||
concurrent-ruby (~> 1.0)
|
||||
image_optim (0.31.3)
|
||||
exifr (~> 1.2, >= 1.2.2)
|
||||
@ -173,33 +183,39 @@ GEM
|
||||
progress (~> 3.0, >= 3.0.1)
|
||||
image_size (3.4.0)
|
||||
in_threads (1.6.0)
|
||||
io-console (0.7.2)
|
||||
irb (1.14.0)
|
||||
rdoc (>= 4.0.0)
|
||||
reline (>= 0.4.2)
|
||||
iso8601 (0.13.0)
|
||||
jmespath (1.6.2)
|
||||
json (2.7.1)
|
||||
json-schema (4.1.1)
|
||||
json (2.7.2)
|
||||
json-schema (4.3.1)
|
||||
addressable (>= 2.8)
|
||||
json_schemer (2.1.1)
|
||||
json_schemer (2.3.0)
|
||||
bigdecimal
|
||||
hana (~> 1.3)
|
||||
regexp_parser (~> 2.0)
|
||||
simpleidn (~> 0.2)
|
||||
jwt (2.7.1)
|
||||
jwt (2.8.2)
|
||||
base64
|
||||
kgio (2.11.4)
|
||||
language_server-protocol (3.17.0.3)
|
||||
libv8-node (18.16.0.0)
|
||||
libv8-node (18.16.0.0-arm64-darwin)
|
||||
libv8-node (18.16.0.0-x86_64-darwin)
|
||||
listen (3.8.0)
|
||||
libv8-node (18.19.0.0)
|
||||
libv8-node (18.19.0.0-arm64-darwin)
|
||||
libv8-node (18.19.0.0-x86_64-darwin)
|
||||
listen (3.9.0)
|
||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||
rb-inotify (~> 0.9, >= 0.9.10)
|
||||
literate_randomizer (0.4.0)
|
||||
logger (1.6.0)
|
||||
lograge (0.14.0)
|
||||
actionpack (>= 4)
|
||||
activesupport (>= 4)
|
||||
railties (>= 4)
|
||||
request_store (~> 1.0)
|
||||
logstash-event (1.2.02)
|
||||
logstash-logger (0.26.1)
|
||||
logstash-event (~> 1.2)
|
||||
logster (2.16.0)
|
||||
logster (2.20.0)
|
||||
loofah (2.22.0)
|
||||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.12.0)
|
||||
@ -212,46 +228,49 @@ GEM
|
||||
net-smtp
|
||||
matrix (0.4.2)
|
||||
maxminddb (0.1.22)
|
||||
memory_profiler (1.0.1)
|
||||
memory_profiler (1.0.2)
|
||||
message_bus (4.3.8)
|
||||
rack (>= 1.1.3)
|
||||
method_source (1.0.0)
|
||||
messageformat-wrapper (1.1.0)
|
||||
mini_racer (>= 0.6.3)
|
||||
method_source (1.1.0)
|
||||
mini_mime (1.1.5)
|
||||
mini_portile2 (2.8.7)
|
||||
mini_racer (0.8.0)
|
||||
libv8-node (~> 18.16.0.0)
|
||||
mini_racer (0.14.1)
|
||||
libv8-node (~> 18.19.0.0)
|
||||
mini_scheduler (0.16.0)
|
||||
sidekiq (>= 4.2.3, < 7.0)
|
||||
mini_sql (1.5.0)
|
||||
mini_suffix (0.3.3)
|
||||
ffi (~> 1.9)
|
||||
minio_runner (0.1.2)
|
||||
minitest (5.21.2)
|
||||
mocha (2.1.0)
|
||||
minitest (5.24.1)
|
||||
mocha (2.4.5)
|
||||
ruby2_keywords (>= 0.0.5)
|
||||
msgpack (1.7.2)
|
||||
multi_json (1.15.0)
|
||||
multi_xml (0.6.0)
|
||||
multi_xml (0.7.1)
|
||||
bigdecimal (~> 3.1)
|
||||
mustache (1.1.1)
|
||||
mutex_m (0.2.0)
|
||||
net-http (0.4.1)
|
||||
uri
|
||||
net-imap (0.4.9.1)
|
||||
net-imap (0.4.14)
|
||||
date
|
||||
net-protocol
|
||||
net-pop (0.1.2)
|
||||
net-protocol
|
||||
net-protocol (0.2.2)
|
||||
timeout
|
||||
net-smtp (0.4.0.1)
|
||||
net-smtp (0.5.0)
|
||||
net-protocol
|
||||
nio4r (2.7.0)
|
||||
nokogiri (1.16.0)
|
||||
nio4r (2.7.3)
|
||||
nokogiri (1.16.7)
|
||||
mini_portile2 (~> 2.8.2)
|
||||
racc (~> 1.4)
|
||||
nokogiri (1.16.0-arm64-darwin)
|
||||
nokogiri (1.16.7-arm64-darwin)
|
||||
racc (~> 1.4)
|
||||
nokogiri (1.16.0-x86_64-darwin)
|
||||
nokogiri (1.16.7-x86_64-darwin)
|
||||
racc (~> 1.4)
|
||||
oauth (1.1.0)
|
||||
oauth-tty (~> 1.0, >= 1.0.1)
|
||||
@ -265,7 +284,7 @@ GEM
|
||||
multi_json (~> 1.3)
|
||||
multi_xml (~> 0.5)
|
||||
rack (>= 1.2, < 4)
|
||||
oj (3.16.3)
|
||||
oj (3.16.4)
|
||||
bigdecimal (>= 3.0)
|
||||
omniauth (1.9.2)
|
||||
hashie (>= 3.4.6)
|
||||
@ -293,10 +312,10 @@ GEM
|
||||
openssl-signature_algorithm (1.3.0)
|
||||
openssl (> 2.0)
|
||||
optimist (3.1.0)
|
||||
parallel (1.24.0)
|
||||
parallel_tests (4.4.0)
|
||||
parallel (1.25.1)
|
||||
parallel_tests (4.7.1)
|
||||
parallel
|
||||
parser (3.3.0.5)
|
||||
parser (3.3.4.0)
|
||||
ast (~> 2.4.1)
|
||||
racc
|
||||
pg (1.5.4)
|
||||
@ -308,20 +327,30 @@ GEM
|
||||
pry-byebug (3.10.1)
|
||||
byebug (~> 11.0)
|
||||
pry (>= 0.13, < 0.15)
|
||||
pry-rails (0.3.9)
|
||||
pry (>= 0.10.4)
|
||||
public_suffix (5.0.4)
|
||||
pry-rails (0.3.11)
|
||||
pry (>= 0.13.0)
|
||||
pry-stack_explorer (0.6.1)
|
||||
binding_of_caller (~> 1.0)
|
||||
pry (~> 0.13)
|
||||
psych (5.1.2)
|
||||
stringio
|
||||
public_suffix (6.0.1)
|
||||
puma (6.4.2)
|
||||
nio4r (~> 2.0)
|
||||
racc (1.7.3)
|
||||
rack (2.2.8)
|
||||
rack-mini-profiler (3.3.0)
|
||||
racc (1.8.0)
|
||||
rack (2.2.9)
|
||||
rack-mini-profiler (3.3.1)
|
||||
rack (>= 1.2.0)
|
||||
rack-protection (3.2.0)
|
||||
base64 (>= 0.1.0)
|
||||
rack (~> 2.2, >= 2.2.4)
|
||||
rack-session (1.0.2)
|
||||
rack (< 3)
|
||||
rack-test (2.1.0)
|
||||
rack (>= 1.3)
|
||||
rackup (1.0.0)
|
||||
rack (< 3)
|
||||
webrick
|
||||
rails-dom-testing (2.2.0)
|
||||
activesupport (>= 5.0.0)
|
||||
minitest
|
||||
@ -329,70 +358,78 @@ GEM
|
||||
rails-html-sanitizer (1.6.0)
|
||||
loofah (~> 2.21)
|
||||
nokogiri (~> 1.14)
|
||||
rails_failover (2.0.1)
|
||||
activerecord (>= 6.1, <= 7.1)
|
||||
rails_failover (2.1.1)
|
||||
activerecord (>= 6.1, < 8.0)
|
||||
concurrent-ruby
|
||||
railties (>= 6.1, <= 7.1)
|
||||
rails_multisite (5.0.0)
|
||||
railties (>= 6.1, < 8.0)
|
||||
rails_multisite (6.0.0)
|
||||
activerecord (>= 6.0)
|
||||
railties (>= 6.0)
|
||||
railties (7.0.8)
|
||||
actionpack (= 7.0.8)
|
||||
activesupport (= 7.0.8)
|
||||
method_source
|
||||
railties (7.1.3.4)
|
||||
actionpack (= 7.1.3.4)
|
||||
activesupport (= 7.1.3.4)
|
||||
irb
|
||||
rackup (>= 1.0.0)
|
||||
rake (>= 12.2)
|
||||
thor (~> 1.0)
|
||||
zeitwerk (~> 2.5)
|
||||
thor (~> 1.0, >= 1.2.2)
|
||||
zeitwerk (~> 2.6)
|
||||
rainbow (3.1.1)
|
||||
raindrops (0.20.1)
|
||||
rake (13.1.0)
|
||||
rake (13.2.1)
|
||||
rb-fsevent (0.11.2)
|
||||
rb-inotify (0.10.1)
|
||||
rb-inotify (0.11.1)
|
||||
ffi (~> 1.0)
|
||||
rbtrace (0.5.1)
|
||||
ffi (>= 1.0.6)
|
||||
msgpack (>= 0.4.3)
|
||||
optimist (>= 3.0.0)
|
||||
rchardet (1.8.0)
|
||||
rdoc (6.7.0)
|
||||
psych (>= 4.0.0)
|
||||
redcarpet (3.6.0)
|
||||
redis (4.8.1)
|
||||
redis-namespace (1.11.0)
|
||||
redis (>= 4)
|
||||
regexp_parser (2.9.0)
|
||||
request_store (1.5.1)
|
||||
regexp_parser (2.9.2)
|
||||
reline (0.5.9)
|
||||
io-console (~> 0.5)
|
||||
request_store (1.7.0)
|
||||
rack (>= 1.4)
|
||||
rexml (3.2.6)
|
||||
rexml (3.3.2)
|
||||
strscan
|
||||
rinku (2.0.6)
|
||||
rotp (6.3.0)
|
||||
rouge (4.2.0)
|
||||
rouge (4.3.0)
|
||||
rqrcode (2.2.0)
|
||||
chunky_png (~> 1.0)
|
||||
rqrcode_core (~> 1.0)
|
||||
rqrcode_core (1.2.0)
|
||||
rspec (3.12.0)
|
||||
rspec-core (~> 3.12.0)
|
||||
rspec-expectations (~> 3.12.0)
|
||||
rspec-mocks (~> 3.12.0)
|
||||
rspec-core (3.12.2)
|
||||
rspec-support (~> 3.12.0)
|
||||
rspec-expectations (3.12.3)
|
||||
rrule (0.6.0)
|
||||
activesupport (>= 2.3)
|
||||
rspec (3.13.0)
|
||||
rspec-core (~> 3.13.0)
|
||||
rspec-expectations (~> 3.13.0)
|
||||
rspec-mocks (~> 3.13.0)
|
||||
rspec-core (3.13.0)
|
||||
rspec-support (~> 3.13.0)
|
||||
rspec-expectations (3.13.1)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.12.0)
|
||||
rspec-support (~> 3.13.0)
|
||||
rspec-html-matchers (0.10.0)
|
||||
nokogiri (~> 1)
|
||||
rspec (>= 3.0.0.a)
|
||||
rspec-mocks (3.12.6)
|
||||
rspec-mocks (3.13.1)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.12.0)
|
||||
rspec-rails (6.1.1)
|
||||
rspec-support (~> 3.13.0)
|
||||
rspec-rails (6.1.3)
|
||||
actionpack (>= 6.1)
|
||||
activesupport (>= 6.1)
|
||||
railties (>= 6.1)
|
||||
rspec-core (~> 3.12)
|
||||
rspec-expectations (~> 3.12)
|
||||
rspec-mocks (~> 3.12)
|
||||
rspec-support (~> 3.12)
|
||||
rspec-support (3.12.1)
|
||||
rspec-core (~> 3.13)
|
||||
rspec-expectations (~> 3.13)
|
||||
rspec-mocks (~> 3.13)
|
||||
rspec-support (~> 3.13)
|
||||
rspec-support (3.13.1)
|
||||
rss (0.3.0)
|
||||
rexml
|
||||
rswag-specs (2.13.0)
|
||||
@ -402,57 +439,69 @@ GEM
|
||||
rspec-core (>= 2.14)
|
||||
rtlcss (0.2.1)
|
||||
mini_racer (>= 0.6.3)
|
||||
rubocop (1.60.2)
|
||||
rubocop (1.65.0)
|
||||
json (~> 2.3)
|
||||
language_server-protocol (>= 3.17.0)
|
||||
parallel (~> 1.10)
|
||||
parser (>= 3.3.0.2)
|
||||
rainbow (>= 2.2.2, < 4.0)
|
||||
regexp_parser (>= 1.8, < 3.0)
|
||||
regexp_parser (>= 2.4, < 3.0)
|
||||
rexml (>= 3.2.5, < 4.0)
|
||||
rubocop-ast (>= 1.30.0, < 2.0)
|
||||
rubocop-ast (>= 1.31.1, < 2.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (>= 2.4.0, < 3.0)
|
||||
rubocop-ast (1.30.0)
|
||||
parser (>= 3.2.1.0)
|
||||
rubocop-capybara (2.20.0)
|
||||
rubocop-ast (1.31.3)
|
||||
parser (>= 3.3.1.0)
|
||||
rubocop-capybara (2.21.0)
|
||||
rubocop (~> 1.41)
|
||||
rubocop-discourse (3.6.0)
|
||||
rubocop-discourse (3.8.1)
|
||||
activesupport (>= 6.1)
|
||||
rubocop (>= 1.59.0)
|
||||
rubocop-rspec (>= 2.25.0)
|
||||
rubocop-factory_bot (2.25.1)
|
||||
rubocop (~> 1.41)
|
||||
rubocop-rspec (2.26.1)
|
||||
rubocop (~> 1.40)
|
||||
rubocop-capybara (~> 2.17)
|
||||
rubocop-factory_bot (~> 2.22)
|
||||
rubocop-capybara (>= 2.0.0)
|
||||
rubocop-factory_bot (>= 2.0.0)
|
||||
rubocop-rails (>= 2.25.0)
|
||||
rubocop-rspec (>= 3.0.1)
|
||||
rubocop-rspec_rails (>= 2.30.0)
|
||||
rubocop-factory_bot (2.26.1)
|
||||
rubocop (~> 1.61)
|
||||
rubocop-rails (2.25.1)
|
||||
activesupport (>= 4.2.0)
|
||||
rack (>= 1.1)
|
||||
rubocop (>= 1.33.0, < 2.0)
|
||||
rubocop-ast (>= 1.31.1, < 2.0)
|
||||
rubocop-rspec (3.0.3)
|
||||
rubocop (~> 1.61)
|
||||
rubocop-rspec_rails (2.30.0)
|
||||
rubocop (~> 1.61)
|
||||
rubocop-rspec (~> 3, >= 3.0.1)
|
||||
ruby-prof (1.7.0)
|
||||
ruby-progressbar (1.13.0)
|
||||
ruby-readability (0.7.0)
|
||||
ruby-readability (0.7.1)
|
||||
guess_html_encoding (>= 0.0.4)
|
||||
nokogiri (>= 1.6.0)
|
||||
ruby2_keywords (0.0.5)
|
||||
rubyzip (2.3.2)
|
||||
sanitize (6.1.0)
|
||||
sanitize (6.1.2)
|
||||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.12.0)
|
||||
sass-embedded (1.70.0)
|
||||
google-protobuf (~> 3.25)
|
||||
rake (>= 13.0.0)
|
||||
sass-embedded (1.70.0-arm64-darwin)
|
||||
google-protobuf (~> 3.25)
|
||||
sass-embedded (1.70.0-x86_64-darwin)
|
||||
google-protobuf (~> 3.25)
|
||||
sassc-embedded (1.70.0)
|
||||
sass-embedded (~> 1.70)
|
||||
selenium-devtools (0.121.0)
|
||||
sass-embedded (1.77.5)
|
||||
google-protobuf (>= 3.25, < 5.0)
|
||||
rake (>= 13)
|
||||
sass-embedded (1.77.5-arm64-darwin)
|
||||
google-protobuf (>= 3.25, < 5.0)
|
||||
sass-embedded (1.77.5-x86_64-darwin)
|
||||
google-protobuf (>= 3.25, < 5.0)
|
||||
sassc-embedded (1.77.7)
|
||||
sass-embedded (~> 1.77)
|
||||
selenium-devtools (0.126.0)
|
||||
selenium-webdriver (~> 4.2)
|
||||
selenium-webdriver (4.17.0)
|
||||
selenium-webdriver (4.23.0)
|
||||
base64 (~> 0.2)
|
||||
logger (~> 1.4)
|
||||
rexml (~> 3.2, >= 3.2.5)
|
||||
rubyzip (>= 1.2.2, < 3.0)
|
||||
websocket (~> 1.0)
|
||||
shoulda-matchers (6.1.0)
|
||||
shoulda-matchers (6.2.0)
|
||||
activesupport (>= 5.2.0)
|
||||
sidekiq (6.5.12)
|
||||
connection_pool (>= 2.2.5, < 3)
|
||||
@ -464,30 +513,35 @@ GEM
|
||||
simplecov_json_formatter (~> 0.1)
|
||||
simplecov-html (0.12.3)
|
||||
simplecov_json_formatter (0.1.4)
|
||||
simpleidn (0.2.1)
|
||||
unf (~> 0.1.4)
|
||||
simpleidn (0.2.3)
|
||||
snaky_hash (2.0.1)
|
||||
hashie
|
||||
version_gem (~> 1.1, >= 1.1.1)
|
||||
sprockets-rails (3.4.2)
|
||||
actionpack (>= 5.2)
|
||||
activesupport (>= 5.2)
|
||||
sprockets (3.7.3)
|
||||
base64
|
||||
concurrent-ruby (~> 1.0)
|
||||
rack (> 1, < 3)
|
||||
sprockets-rails (3.5.1)
|
||||
actionpack (>= 6.1)
|
||||
activesupport (>= 6.1)
|
||||
sprockets (>= 3.0.0)
|
||||
sqlite3 (1.7.1)
|
||||
sqlite3 (2.0.2)
|
||||
mini_portile2 (~> 2.8.0)
|
||||
sqlite3 (1.7.1-arm64-darwin)
|
||||
sqlite3 (1.7.1-x86_64-darwin)
|
||||
sqlite3 (2.0.2-arm64-darwin)
|
||||
sqlite3 (2.0.2-x86_64-darwin)
|
||||
sshkey (3.0.0)
|
||||
stackprof (0.2.26)
|
||||
stringio (3.1.1)
|
||||
strscan (3.1.0)
|
||||
syntax_tree (6.2.0)
|
||||
prettier_print (>= 1.2.0)
|
||||
syntax_tree-disable_ternary (1.0.0)
|
||||
test-prof (1.3.1)
|
||||
thor (1.3.0)
|
||||
test-prof (1.3.3.1)
|
||||
thor (1.3.1)
|
||||
timeout (0.4.1)
|
||||
tzinfo (2.0.6)
|
||||
concurrent-ruby (~> 1.0)
|
||||
tzinfo-data (1.2023.4)
|
||||
tzinfo-data (1.2024.1)
|
||||
tzinfo (>= 1.0.0)
|
||||
uglifier (4.2.0)
|
||||
execjs (>= 0.3.0, < 3)
|
||||
@ -500,37 +554,39 @@ GEM
|
||||
raindrops (~> 0.7)
|
||||
uniform_notifier (1.16.0)
|
||||
uri (0.13.0)
|
||||
version_gem (1.1.3)
|
||||
version_gem (1.1.4)
|
||||
web-push (3.0.1)
|
||||
jwt (~> 2.0)
|
||||
openssl (~> 3.0)
|
||||
webmock (3.19.1)
|
||||
webmock (3.23.1)
|
||||
addressable (>= 2.8.0)
|
||||
crack (>= 0.3.2)
|
||||
hashdiff (>= 0.4.0, < 2.0.0)
|
||||
websocket (1.2.10)
|
||||
webrick (1.8.1)
|
||||
websocket (1.2.11)
|
||||
xpath (3.2.0)
|
||||
nokogiri (~> 1.8)
|
||||
yaml-lint (0.1.2)
|
||||
yard (0.9.34)
|
||||
zeitwerk (2.6.12)
|
||||
yard (0.9.36)
|
||||
zeitwerk (2.6.16)
|
||||
|
||||
PLATFORMS
|
||||
arm64-darwin-21
|
||||
arm64-darwin-22
|
||||
arm64-darwin-23
|
||||
arm64-darwin-24
|
||||
ruby
|
||||
x86_64-darwin-22
|
||||
|
||||
DEPENDENCIES
|
||||
actionmailer (< 7.1)
|
||||
actionpack (< 7.1)
|
||||
actionview (< 7.1)
|
||||
actionmailer (~> 7.1.0)
|
||||
actionpack (~> 7.1.0)
|
||||
actionview (~> 7.1.0)
|
||||
actionview_precompiler
|
||||
active_model_serializers (~> 0.8.3)
|
||||
activemodel (< 7.1)
|
||||
activerecord (< 7.1)
|
||||
activesupport (< 7.1)
|
||||
activemodel (~> 7.1.0)
|
||||
activerecord (~> 7.1.0)
|
||||
activesupport (~> 7.1.0)
|
||||
addressable
|
||||
annotate
|
||||
aws-sdk-s3
|
||||
@ -569,12 +625,12 @@ DEPENDENCIES
|
||||
htmlentities
|
||||
http_accept_language
|
||||
image_optim
|
||||
iso8601
|
||||
json
|
||||
json_schemer
|
||||
listen
|
||||
lograge
|
||||
logstash-event
|
||||
logstash-logger
|
||||
logster
|
||||
loofah
|
||||
lru_redux
|
||||
@ -583,13 +639,13 @@ DEPENDENCIES
|
||||
maxminddb
|
||||
memory_profiler
|
||||
message_bus
|
||||
messageformat-wrapper
|
||||
mini_mime
|
||||
mini_racer
|
||||
mini_scheduler
|
||||
mini_sql
|
||||
mini_suffix
|
||||
minio_runner
|
||||
minitest
|
||||
mocha
|
||||
multi_json
|
||||
mustache
|
||||
@ -610,6 +666,7 @@ DEPENDENCIES
|
||||
pg
|
||||
pry-byebug
|
||||
pry-rails
|
||||
pry-stack_explorer
|
||||
puma
|
||||
rack
|
||||
rack-mini-profiler
|
||||
@ -617,17 +674,18 @@ DEPENDENCIES
|
||||
rails-dom-testing
|
||||
rails_failover
|
||||
rails_multisite
|
||||
railties (< 7.1)
|
||||
railties (~> 7.1.0)
|
||||
rake
|
||||
rb-fsevent
|
||||
rbtrace
|
||||
rchardet
|
||||
redcarpet
|
||||
redis
|
||||
redis (< 5.0)
|
||||
redis-namespace
|
||||
rinku
|
||||
rotp
|
||||
rqrcode
|
||||
rrule
|
||||
rspec
|
||||
rspec-html-matchers
|
||||
rspec-rails
|
||||
@ -645,7 +703,7 @@ DEPENDENCIES
|
||||
shoulda-matchers
|
||||
sidekiq
|
||||
simplecov
|
||||
sprockets!
|
||||
sprockets (~> 3.7.3)
|
||||
sprockets-rails
|
||||
sqlite3
|
||||
sshkey
|
||||
@ -664,4 +722,4 @@ DEPENDENCIES
|
||||
yard
|
||||
|
||||
BUNDLED WITH
|
||||
2.5.11
|
||||
2.4.22
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,24 +1,25 @@
|
||||
diff --git a/config/unicorn.conf.rb b/config/unicorn.conf.rb
|
||||
index 9fd348b074..40eb73b96e 100644
|
||||
index b8c549bc0f..a7d3592013 100644
|
||||
--- a/config/unicorn.conf.rb
|
||||
+++ b/config/unicorn.conf.rb
|
||||
@@ -27,17 +27,9 @@ pid(ENV["UNICORN_PID_PATH"] || "#{discourse_path}/tmp/pids/unicorn.pid")
|
||||
@@ -35,19 +35,7 @@ FileUtils.mkdir_p("#{discourse_path}/tmp/pids") if !File.exist?("#{discourse_pat
|
||||
# feel free to point this anywhere accessible on the filesystem
|
||||
pid(ENV["UNICORN_PID_PATH"] || "#{discourse_path}/tmp/pids/unicorn.pid")
|
||||
|
||||
if ENV["RAILS_ENV"] != "production"
|
||||
logger Logger.new(STDOUT)
|
||||
- # we want a longer timeout in dev cause first request can be really slow
|
||||
- timeout(ENV["UNICORN_TIMEOUT"] && ENV["UNICORN_TIMEOUT"].to_i || 60)
|
||||
-else
|
||||
-if ENV["RAILS_ENV"] == "production"
|
||||
- # By default, the Unicorn logger will write to stderr.
|
||||
- # Additionally, some applications/frameworks log to stderr or stdout,
|
||||
- # so prevent them from going to /dev/null when daemonized here:
|
||||
- stderr_path "#{discourse_path}/log/unicorn.stderr.log"
|
||||
- stdout_path "#{discourse_path}/log/unicorn.stdout.log"
|
||||
- stderr_path unicorn_stderr_path
|
||||
- stdout_path unicorn_stdout_path
|
||||
-
|
||||
- # nuke workers after 30 seconds instead of 60 seconds (the default)
|
||||
- timeout 30
|
||||
end
|
||||
|
||||
-else
|
||||
- # we want a longer timeout in dev cause first request can be really slow
|
||||
- timeout(ENV["UNICORN_TIMEOUT"] && ENV["UNICORN_TIMEOUT"].to_i || 60)
|
||||
-end
|
||||
+timeout(ENV["UNICORN_TIMEOUT"] && ENV["UNICORN_TIMEOUT"].to_i || 60)
|
||||
+
|
||||
|
||||
# important for Ruby 2.0
|
||||
preload_app true
|
||||
|
@ -234,17 +234,12 @@ def update(rev):
|
||||
_call_nix_update('discourse', version.version)
|
||||
|
||||
old_yarn_hash = _nix_eval('discourse.assets.yarnOfflineCache.outputHash')
|
||||
new_yarn_hash = repo.get_yarn_lock_hash(version.tag, "app/assets/javascripts/yarn-ember5.lock")
|
||||
new_yarn_hash = repo.get_yarn_lock_hash(version.tag, "yarn.lock")
|
||||
click.echo(f"Updating yarn lock hash: {old_yarn_hash} -> {new_yarn_hash}")
|
||||
|
||||
old_yarn_dev_hash = _nix_eval('discourse.assets.yarnDevOfflineCache.outputHash')
|
||||
new_yarn_dev_hash = repo.get_yarn_lock_hash(version.tag, "yarn.lock")
|
||||
click.echo(f"Updating yarn dev lock hash: {old_yarn_dev_hash} -> {new_yarn_dev_hash}")
|
||||
|
||||
with open(Path(__file__).parent / "default.nix", 'r+') as f:
|
||||
content = f.read()
|
||||
content = content.replace(old_yarn_hash, new_yarn_hash)
|
||||
content = content.replace(old_yarn_dev_hash, new_yarn_dev_hash)
|
||||
f.seek(0)
|
||||
f.write(content)
|
||||
f.truncate()
|
||||
|
Loading…
Reference in New Issue
Block a user