zammad: 6.2.0 -> 6.3.1
This also fixes the build with the current version of Ruby.
This commit is contained in:
parent
c162f76ae1
commit
ea044760ce
@ -20,8 +20,8 @@ import ./make-test-python.nix (
|
|||||||
let cfg = config.services.zammad; in
|
let cfg = config.services.zammad; in
|
||||||
{
|
{
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "simple";
|
Type = "oneshot";
|
||||||
Restart = "always";
|
Restart = "on-failure";
|
||||||
|
|
||||||
User = "zammad";
|
User = "zammad";
|
||||||
Group = "zammad";
|
Group = "zammad";
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
diff --git a/config/application.rb b/config/application.rb
|
|
||||||
index d85a17491..90ea5e387 100644
|
|
||||||
--- a/config/application.rb
|
|
||||||
+++ b/config/application.rb
|
|
||||||
@@ -3,6 +3,7 @@
|
|
||||||
require_relative 'boot'
|
|
||||||
|
|
||||||
require 'rails/all'
|
|
||||||
+require 'nulldb'
|
|
||||||
require_relative '../lib/zammad/safe_mode'
|
|
||||||
|
|
||||||
# DO NOT REMOVE THIS LINE - see issue #2037
|
|
||||||
diff --git a/db/schema.rb b/db/schema.rb
|
|
||||||
new file mode 100644
|
|
||||||
index 000000000..e69de29bb
|
|
@ -23,21 +23,20 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
pname = "zammad";
|
pname = "zammad";
|
||||||
version = "6.2.0";
|
version = "6.3.1";
|
||||||
|
|
||||||
src = applyPatches {
|
src = applyPatches {
|
||||||
|
|
||||||
src = fetchFromGitHub (lib.importJSON ./source.json);
|
src = fetchFromGitHub (lib.importJSON ./source.json);
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./0001-nulldb.patch
|
|
||||||
./fix-sendmail-location.diff
|
./fix-sendmail-location.diff
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
sed -i -e "s|ruby '3.1.[0-9]\+'|ruby '${ruby.version}'|" Gemfile
|
sed -i -e "s|ruby '3.2.[0-9]\+'|ruby '${ruby.version}'|" Gemfile
|
||||||
sed -i -e "s|ruby 3.1.[0-9]\+p[0-9]\+|ruby ${ruby.version}|" Gemfile.lock
|
sed -i -e "s|ruby 3.2.[0-9]\+p[0-9]\+|ruby ${ruby.version}|" Gemfile.lock
|
||||||
sed -i -e "s|3.1.[0-9]\+|${ruby.version}|" .ruby-version
|
sed -i -e "s|3.2.[0-9]\+|${ruby.version}|" .ruby-version
|
||||||
${jq}/bin/jq '. += {name: "Zammad", version: "${version}"}' package.json | ${moreutils}/bin/sponge package.json
|
${jq}/bin/jq '. += {name: "Zammad", version: "${version}"}' package.json | ${moreutils}/bin/sponge package.json
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
@ -65,7 +64,6 @@ let
|
|||||||
groups = [
|
groups = [
|
||||||
"assets"
|
"assets"
|
||||||
"unicorn" # server
|
"unicorn" # server
|
||||||
"nulldb"
|
|
||||||
"test"
|
"test"
|
||||||
"mysql"
|
"mysql"
|
||||||
"puma"
|
"puma"
|
||||||
@ -100,9 +98,11 @@ let
|
|||||||
|
|
||||||
offlineCache = fetchYarnDeps {
|
offlineCache = fetchYarnDeps {
|
||||||
yarnLock = "${src}/yarn.lock";
|
yarnLock = "${src}/yarn.lock";
|
||||||
hash = "sha256-u72ZTpcUvFa1gaWi4lzTQa+JsI85jU4n8r1JhqFnCj4=";
|
hash = "sha256-3DuTirYd6lAQd5PRbdOa/6QaMknIqNMTVnxEESF0N/c=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
packageResolutions.minimatch = "9.0.3";
|
||||||
|
|
||||||
yarnPreBuild = ''
|
yarnPreBuild = ''
|
||||||
mkdir -p deps/Zammad
|
mkdir -p deps/Zammad
|
||||||
cp -r ${src}/.eslint-plugin-zammad deps/Zammad/.eslint-plugin-zammad
|
cp -r ${src}/.eslint-plugin-zammad deps/Zammad/.eslint-plugin-zammad
|
||||||
@ -126,6 +126,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
redis
|
redis
|
||||||
|
postgresql
|
||||||
];
|
];
|
||||||
|
|
||||||
RAILS_ENV = "production";
|
RAILS_ENV = "production";
|
||||||
@ -140,10 +141,17 @@ stdenv.mkDerivation {
|
|||||||
REDIS_PID=$!
|
REDIS_PID=$!
|
||||||
popd
|
popd
|
||||||
|
|
||||||
rake DATABASE_URL="nulldb://user:pass@127.0.0.1/dbname" assets:precompile
|
mkdir postgres-work
|
||||||
|
initdb -D postgres-work --encoding=utf8
|
||||||
|
pg_ctl start -D postgres-work -o "-k $PWD/postgres-work -h '''"
|
||||||
|
createuser -h $PWD/postgres-work zammad -R -S
|
||||||
|
createdb -h $PWD/postgres-work --encoding=utf8 --owner=zammad zammad
|
||||||
|
|
||||||
|
rake DATABASE_URL="postgresql:///zammad?host=$PWD/postgres-work" assets:precompile
|
||||||
|
|
||||||
kill $REDIS_PID
|
kill $REDIS_PID
|
||||||
rm -r redis-work
|
pg_ctl stop -D postgres-work -m immediate
|
||||||
|
rm -r redis-work postgres-work
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"generate-graphql-api": "RAILS_ENV=development bundle exec rails generate zammad:graphql_introspection > app/graphql/graphql_introspection.json && npx graphql-codegen -c .graphql_code_generator.yml",
|
"generate-graphql-api": "RAILS_ENV=development bundle exec rails generate zammad:graphql_introspection > app/graphql/graphql_introspection.json && npx graphql-codegen -c .graphql_code_generator.js",
|
||||||
"generate-setting-types": "RAILS_ENV=development bundle exec rails generate zammad:setting_types",
|
"generate-setting-types": "RAILS_ENV=development bundle exec rails generate zammad:setting_types",
|
||||||
"dev": "RAILS_ENV=development forego start -f Procfile.dev",
|
"dev": "RAILS_ENV=development forego start -f Procfile.dev",
|
||||||
"dev:https": "VITE_RUBY_HOST=0.0.0.0 VITE_RUBY_HTTPS=true RAILS_ENV=development forego start -f Procfile.dev-https",
|
"dev:https": "VITE_RUBY_HOST=0.0.0.0 VITE_RUBY_HTTPS=true RAILS_ENV=development forego start -f Procfile.dev-https",
|
||||||
@ -14,134 +14,133 @@
|
|||||||
"test:ct": "CY_OPEN=true yarn --cwd ./.cypress cypress open --component --project ../ --config-file .cypress/cypress.config.mjs",
|
"test:ct": "CY_OPEN=true yarn --cwd ./.cypress cypress open --component --project ../ --config-file .cypress/cypress.config.mjs",
|
||||||
"test:ci:ct": "CI=true yarn --cwd ./.cypress cypress run --component --project ../ --config-file .cypress/cypress.config.mjs --browser electron",
|
"test:ci:ct": "CI=true yarn --cwd ./.cypress cypress run --component --project ../ --config-file .cypress/cypress.config.mjs --browser electron",
|
||||||
"cypress:snapshots": "sh .cypress/visual-regression/snapshots.sh",
|
"cypress:snapshots": "sh .cypress/visual-regression/snapshots.sh",
|
||||||
"cypress:install": "yarn --cwd ./.cypress install",
|
"cypress:install": "yarn --cwd ./.cypress install"
|
||||||
"story": "histoire dev",
|
|
||||||
"story:build": "HISTOIRE_BUILD=1 histoire build"
|
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">=18.12.0"
|
||||||
},
|
},
|
||||||
"packageManager": "yarn@1.22.21",
|
"packageManager": "yarn@1.22.22",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@faker-js/faker": "^8.3.1",
|
"@faker-js/faker": "^8.4.1",
|
||||||
"@graphql-codegen/cli": "^5.0.0",
|
"@graphql-codegen/cli": "^5.0.2",
|
||||||
"@graphql-codegen/introspection": "^4.0.0",
|
"@graphql-codegen/introspection": "^4.0.3",
|
||||||
"@graphql-codegen/near-operation-file-preset": "^3.0.0",
|
"@graphql-codegen/near-operation-file-preset": "^3.0.0",
|
||||||
"@graphql-codegen/typescript": "^4.0.1",
|
"@graphql-codegen/typescript": "^4.0.6",
|
||||||
"@graphql-codegen/typescript-operations": "^4.0.1",
|
"@graphql-codegen/typescript-operations": "^4.2.0",
|
||||||
"@graphql-codegen/typescript-vue-apollo": "^4.1.0",
|
"@graphql-codegen/typescript-vue-apollo": "^4.1.1",
|
||||||
"@histoire/plugin-vue": "^0.17.5",
|
|
||||||
"@pinia/testing": "^0.1.3",
|
"@pinia/testing": "^0.1.3",
|
||||||
"@testing-library/jest-dom": "^6.1.4",
|
"@testing-library/jest-dom": "^6.4.2",
|
||||||
"@testing-library/user-event": "^14.5.1",
|
"@testing-library/user-event": "^14.5.2",
|
||||||
"@testing-library/vue": "^7.0.0",
|
"@testing-library/vue": "^8.0.3",
|
||||||
"@types/lodash-es": "^4.17.11",
|
"@types/lodash-es": "^4.17.12",
|
||||||
"@types/rails__actioncable": "^6.1.9",
|
"@types/rails__actioncable": "^6.1.10",
|
||||||
"@types/sinonjs__fake-timers": "^8.1.5",
|
"@types/sinonjs__fake-timers": "^8.1.5",
|
||||||
"@types/ua-parser-js": "^0.7.39",
|
"@types/ua-parser-js": "^0.7.39",
|
||||||
"@types/uuid": "^9.0.7",
|
"@types/uuid": "^9.0.8",
|
||||||
"@typescript-eslint/eslint-plugin": "^6.10.0",
|
"@typescript-eslint/eslint-plugin": "^7.3.1",
|
||||||
"@typescript-eslint/parser": "^6.10.0",
|
"@typescript-eslint/parser": "^7.3.1",
|
||||||
"@vitejs/plugin-vue": "^4.5.0",
|
"@vitejs/plugin-vue": "^5.0.4",
|
||||||
"@vue/eslint-config-prettier": "^8.0.0",
|
"@vue/eslint-config-prettier": "^9.0.0",
|
||||||
"@vue/eslint-config-typescript": "^12.0.0",
|
"@vue/eslint-config-typescript": "^13.0.0",
|
||||||
"@vue/test-utils": "^2.4.2",
|
"@vue/test-utils": "^2.4.5",
|
||||||
"autoprefixer": "^10.4.16",
|
"autoprefixer": "^10.4.18",
|
||||||
"eslint": "^8.54.0",
|
"eslint": "^8.57.0",
|
||||||
"eslint-config-airbnb-base": "^15.0.0",
|
"eslint-config-airbnb-base": "^15.0.0",
|
||||||
"eslint-config-prettier": "^9.0.0",
|
"eslint-config-prettier": "^9.1.0",
|
||||||
"eslint-import-resolver-alias": "^1.1.2",
|
"eslint-import-resolver-alias": "^1.1.2",
|
||||||
"eslint-import-resolver-typescript": "^3.6.1",
|
"eslint-import-resolver-typescript": "^3.6.1",
|
||||||
"eslint-plugin-import": "^2.29.0",
|
"eslint-plugin-import": "^2.29.1",
|
||||||
"eslint-plugin-prettier": "^5.0.1",
|
"eslint-plugin-prettier": "^5.1.3",
|
||||||
"eslint-plugin-prettier-vue": "^5.0.0",
|
"eslint-plugin-prettier-vue": "^5.0.0",
|
||||||
"eslint-plugin-security": "^1.7.1",
|
"eslint-plugin-security": "^2.1.1",
|
||||||
"eslint-plugin-sonarjs": "^0.23.0",
|
"eslint-plugin-sonarjs": "^0.24.0",
|
||||||
"eslint-plugin-vue": "^9.18.1",
|
"eslint-plugin-vue": "^9.23.0",
|
||||||
"eslint-plugin-zammad": "file:.eslint-plugin-zammad",
|
"eslint-plugin-zammad": "file:.eslint-plugin-zammad",
|
||||||
"histoire": "^0.17.5",
|
"jsdom": "^24.0.0",
|
||||||
"jsdom": "^22.1.0",
|
"minimatch": "^9.0.3",
|
||||||
"mock-apollo-client": "^1.2.1",
|
"mock-apollo-client": "^1.2.1",
|
||||||
"postcss": "^8.4.31",
|
"postcss": "^8.4.36",
|
||||||
"postcss-html": "^1.5.0",
|
"postcss-html": "^1.6.0",
|
||||||
"prettier": "3.1.0",
|
"prettier": "3.2.5",
|
||||||
"prettier-plugin-tailwindcss": "^0.5.7",
|
"prettier-plugin-tailwindcss": "^0.5.12",
|
||||||
"regenerator-runtime": "^0.14.0",
|
"regenerator-runtime": "^0.14.1",
|
||||||
"sass": "^1.69.5",
|
"sass": "^1.72.0",
|
||||||
"stylelint": "^15.11.0",
|
"stylelint": "^16.2.1",
|
||||||
"stylelint-config-prettier": "^9.0.5",
|
"stylelint-config-prettier": "^9.0.5",
|
||||||
"stylelint-config-recommended-vue": "^1.5.0",
|
"stylelint-config-recommended-vue": "^1.5.0",
|
||||||
"stylelint-config-standard": "^34.0.0",
|
"stylelint-config-standard": "^36.0.0",
|
||||||
"stylelint-config-standard-scss": "^11.1.0",
|
"stylelint-config-standard-scss": "^13.0.0",
|
||||||
"stylelint-prettier": "^4.0.2",
|
"stylelint-prettier": "^5.0.0",
|
||||||
"stylelint-scss": "^5.3.1",
|
"stylelint-scss": "^6.2.1",
|
||||||
"svg-baker": "^1.7.0",
|
"svg-baker": "^1.7.0",
|
||||||
"svgo": "^3.0.4",
|
"svgo": "^3.2.0",
|
||||||
"tailwindcss": "^3.3.5",
|
"tailwindcss": "^3.4.1",
|
||||||
|
"tailwindcss-unimportant": "^2.1.1",
|
||||||
"timezone-mock": "^1.3.6",
|
"timezone-mock": "^1.3.6",
|
||||||
"type-fest": "^4.8.1",
|
"type-fest": "^4.12.0",
|
||||||
"typescript": "^5.2.2",
|
"typescript": "^5.4.2",
|
||||||
"vite": "^4.5.0",
|
"vite": "^5.2.6",
|
||||||
"vite-plugin-pwa": "^0.17.0",
|
"vite-plugin-pwa": "^0.19.7",
|
||||||
"vite-plugin-ruby": "^3.2.2",
|
"vite-plugin-ruby": "^5.0.0",
|
||||||
"vitest": "^0.34.6",
|
"vitest": "^1.4.0",
|
||||||
"vitest-axe": "^0.1.0",
|
"vitest-axe": "^0.1.0",
|
||||||
"vue-tsc": "^1.8.22"
|
"vue-tsc": "^2.0.6"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@apollo/client": "^3.8.7",
|
"@apollo/client": "^3.9.9",
|
||||||
"@formkit/core": "^1.2.2",
|
"@formkit/core": "^1.6.0",
|
||||||
"@formkit/dev": "^1.2.2",
|
"@formkit/dev": "^1.6.0",
|
||||||
"@formkit/i18n": "^1.2.2",
|
"@formkit/i18n": "^1.6.0",
|
||||||
"@formkit/inputs": "^1.2.2",
|
"@formkit/inputs": "^1.6.0",
|
||||||
"@formkit/rules": "^1.2.2",
|
"@formkit/rules": "^1.6.0",
|
||||||
"@formkit/tailwindcss": "^1.2.2",
|
"@formkit/tailwindcss": "^1.6.0",
|
||||||
"@formkit/themes": "^1.2.2",
|
"@formkit/themes": "^1.6.0",
|
||||||
"@formkit/utils": "^1.2.2",
|
"@formkit/utils": "^1.6.0",
|
||||||
"@formkit/validation": "^1.2.2",
|
"@formkit/validation": "^1.6.0",
|
||||||
"@formkit/vue": "^1.2.2",
|
"@formkit/vue": "^1.6.0",
|
||||||
"@github/webauthn-json": "^2.1.1",
|
"@github/webauthn-json": "^2.1.1",
|
||||||
"@rails/actioncable": "^7.0.8",
|
"@rails/actioncable": "^7.0.8",
|
||||||
"@sinonjs/fake-timers": "^11.2.2",
|
"@sinonjs/fake-timers": "^11.2.2",
|
||||||
"@tiptap/core": "^2.1.12",
|
"@tiptap/core": "^2.2.4",
|
||||||
"@tiptap/extension-blockquote": "^2.1.12",
|
"@tiptap/extension-blockquote": "^2.2.4",
|
||||||
"@tiptap/extension-character-count": "^2.1.12",
|
"@tiptap/extension-character-count": "^2.2.4",
|
||||||
"@tiptap/extension-hard-break": "^2.1.12",
|
"@tiptap/extension-hard-break": "^2.2.4",
|
||||||
"@tiptap/extension-image": "^2.1.12",
|
"@tiptap/extension-image": "^2.2.4",
|
||||||
"@tiptap/extension-link": "^2.1.12",
|
"@tiptap/extension-link": "^2.2.4",
|
||||||
"@tiptap/extension-list-item": "^2.1.12",
|
"@tiptap/extension-list-item": "^2.2.4",
|
||||||
"@tiptap/extension-mention": "^2.1.12",
|
"@tiptap/extension-mention": "^2.2.4",
|
||||||
"@tiptap/extension-ordered-list": "^2.1.12",
|
"@tiptap/extension-ordered-list": "^2.2.4",
|
||||||
"@tiptap/extension-paragraph": "^2.1.12",
|
"@tiptap/extension-paragraph": "^2.2.4",
|
||||||
"@tiptap/extension-strike": "^2.1.12",
|
"@tiptap/extension-strike": "^2.2.4",
|
||||||
"@tiptap/extension-underline": "^2.1.12",
|
"@tiptap/extension-underline": "^2.2.4",
|
||||||
"@tiptap/pm": "^2.1.12",
|
"@tiptap/pm": "^2.2.4",
|
||||||
"@tiptap/starter-kit": "^2.1.12",
|
"@tiptap/starter-kit": "^2.2.4",
|
||||||
"@tiptap/suggestion": "^2.1.12",
|
"@tiptap/suggestion": "^2.2.4",
|
||||||
"@tiptap/vue-3": "^2.1.12",
|
"@tiptap/vue-3": "^2.2.4",
|
||||||
"@vue/apollo-composable": "^4.0.0-beta.11",
|
"@vue/apollo-composable": "^4.0.2",
|
||||||
"@vueuse/core": "^10.6.1",
|
"@vueuse/core": "^10.9.0",
|
||||||
"@vueuse/router": "^10.6.1",
|
"@vueuse/router": "^10.9.0",
|
||||||
"@vueuse/shared": "^10.6.1",
|
"@vueuse/shared": "^10.9.0",
|
||||||
"async-mutex": "^0.4.0",
|
"async-mutex": "^0.5.0",
|
||||||
|
"daisyui": "^4.7.3",
|
||||||
"flatpickr": "^4.6.13",
|
"flatpickr": "^4.6.13",
|
||||||
"graphql": "^16.8.1",
|
"graphql": "^16.8.1",
|
||||||
"graphql-ruby-client": "^1.11.10",
|
"graphql-ruby-client": "^1.13.3",
|
||||||
"graphql-tag": "^2.12.6",
|
"graphql-tag": "^2.12.6",
|
||||||
"linkify-string": "^4.1.2",
|
"linkify-string": "^4.1.3",
|
||||||
"linkifyjs": "^4.1.2",
|
"linkifyjs": "^4.1.3",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
"loglevel": "^1.8.1",
|
"loglevel": "^1.9.1",
|
||||||
"mitt": "^3.0.1",
|
"mitt": "^3.0.1",
|
||||||
"pinia": "^2.1.7",
|
"pinia": "^2.1.7",
|
||||||
"tippy.js": "^6.3.7",
|
"tippy.js": "^6.3.7",
|
||||||
"tiptap-text-direction": "^0.3.0",
|
"tiptap-text-direction": "^0.3.1",
|
||||||
"ua-parser-js": "^1.0.37",
|
"ua-parser-js": "^1.0.37",
|
||||||
"uuid": "^9.0.1",
|
"uuid": "^9.0.1",
|
||||||
"vue": "^3.3.8",
|
"vue": "^3.4.21",
|
||||||
"vue-advanced-cropper": "^2.8.8",
|
"vue-advanced-cropper": "^2.8.8",
|
||||||
"vue-easy-lightbox": "1.16.0",
|
"vue-easy-lightbox": "1.19.0",
|
||||||
"vue-router": "^4.2.5",
|
"vue-router": "^4.3.0",
|
||||||
"vue3-draggable-resizable": "^1.6.5",
|
"vue3-draggable-resizable": "^1.6.5",
|
||||||
"vuedraggable": "^4.1.0",
|
"vuedraggable": "^4.1.0",
|
||||||
"workbox-core": "^7.0.0",
|
"workbox-core": "^7.0.0",
|
||||||
@ -150,9 +149,13 @@
|
|||||||
},
|
},
|
||||||
"resolutions": {
|
"resolutions": {
|
||||||
"loader-utils": "^3.2.1",
|
"loader-utils": "^3.2.1",
|
||||||
"postcss": "^8.4.31",
|
"postcss": "^8.4.36",
|
||||||
"stylelint-config-recommended": "^13.0.0"
|
"stylelint-config-recommended": "^14.0.0",
|
||||||
|
"prosemirror-model": "1.19.4",
|
||||||
|
"prosemirror-state": "1.4.3",
|
||||||
|
"prosemirror-transform": "1.8.0",
|
||||||
|
"prosemirror-view": "1.33.3"
|
||||||
},
|
},
|
||||||
"name": "Zammad",
|
"name": "Zammad",
|
||||||
"version": "6.2.0"
|
"version": "6.3.1"
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"owner": "zammad",
|
"owner": "zammad",
|
||||||
"repo": "zammad",
|
"repo": "zammad",
|
||||||
"rev": "6c358ca90cf7f7581aede5c45d10ac3f2e25bc52",
|
"rev": "27f4405b9af46d74c01f07efae2309bba2066af1",
|
||||||
"hash": "sha256-kZss5A5tgKnsANt34kk5J+824ghJoVIWXFNlb+ZkZ2Y=",
|
"hash": "sha256-p9TZ7Pxnav9RcQWfHPKWOo+ZJ1RQ58ZAMzzMhaITEb0=",
|
||||||
"fetchSubmodules": true
|
"fetchSubmodules": true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user