zammad: 6.2.0 -> 6.3.1

This also fixes the build with the current version of Ruby.
This commit is contained in:
Quentin Smith 2024-09-30 04:01:28 -04:00
parent c162f76ae1
commit ea044760ce
No known key found for this signature in database
GPG Key ID: 04EE05A8FCEFB697
6 changed files with 451 additions and 433 deletions

View File

@ -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";

View File

@ -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

View File

@ -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

View File

@ -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"
} }

View File

@ -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
} }