Compare commits

...

174 Commits

Author SHA1 Message Date
Martin Gruner
b775416be8 Release Zammad 6.4.2. 🚀 2025-04-02 07:42:17 +02:00
Martin Gruner
4595302b6f Maintenance: Update version number 2025-03-31 09:37:36 +02:00
Dusan Vuckovic
0fd989d42e Maintenance: Improve 2FA endpoints.
Co-authored-by: Mantas Masalskis <mm@zammad.com>
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
2025-03-26 14:01:22 +01:00
Mantas Masalskis
685c88e0ba Maintenance: Improve Knowledge base answers API 2025-03-26 14:01:22 +01:00
Mantas
c9b7d55afb Maintenance: Improve Ticket Shared Draft policy 2025-03-26 14:01:22 +01:00
Martin Gruner
64bcf8dffc Maintenance: Improve handling of webhook redirects 2025-03-26 14:01:22 +01:00
Mantas
560f34eddd Maintenance: Backport Knowledge base test stability improvement 2025-03-26 13:01:33 +02:00
Martin Gruner
5aa332ec9d Maintenance: apply security update for nokogiri 2025-03-24 07:39:44 +01:00
Dusan Vuckovic
cb05ec9b1e Fixes #5524 - Payload gets lost when a pre-defined webhook is cloned. 2025-03-20 16:03:54 +01:00
Florian Liebe
1fd12ffe50 Maintenance: Update Microsoft Teams webhook spec. 2025-03-20 11:47:50 +01:00
Dusan Vuckovic
ba4d7cd234 Fixes #5519 - Mobile View: Highlighting/border of activated profile menu is a square instead of a circle. 2025-03-18 10:03:12 +00:00
Martin Gruner
0923b15049 Maintenance: apply security updates for graphql and ruby-saml gems 2025-03-14 06:57:00 +01:00
Martin Gruner
68b2196a02 Maintenance: apply security update for rack gem 2025-03-12 07:36:06 +01:00
Martin Gruner
b9a98307a9 Fixes #5509 - Web concurrency setting inconsistently used/reported 2025-03-07 12:55:17 +01:00
Martin Gruner
f05e641e7e Maintenance: Apply security fix for rack gem 2025-03-06 07:14:05 +01:00
Rolf Schmidt
2026f23cf7 Maintenance: Update cgi gem to 0.4.2 and uri to 1.0.3. 2025-03-03 20:11:30 +01:00
Mantas Masalskis
8e11790f6b Fixes #5499 - Drag´n´Drop of one attachment in the KnowledgeBase articles results in multiple copies 2025-03-03 15:31:53 +01:00
Mantas Masalskis
6c480a6ff1 Maintenance: Stabilise custom object date validator spec 2025-03-03 12:53:00 +01:00
Mantas Masalskis
984d59d3c7 Fixes #5246 - Group selection not scrollable in bulk action with lot of groups 2025-02-28 15:17:32 +01:00
Martin Gruner
e0e2155db8 Maintenance: Fix failing docker builds 2025-02-27 11:32:21 +01:00
Martin Gruner
779bf46474 Maintenance: Fix packager.io builds for CentOS 8 2025-02-27 08:32:35 +01:00
Rolf Schmidt
e4fbacf7fe Maintenance - Fix event stacking for overview navigator controller (#5445).
Co-authored-by: Dominik Klein <dk@zammad.com>
2025-02-25 17:45:40 +01:00
Weblate
9aeed69d0a Maintenance: Update translated files and catalog 2025-02-25 06:38:56 +00:00
Weblate
627253465c Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Mantikor <nhyuga.r@gmail.com>
Co-authored-by: Martin Bonde <martin@maboni.dk>
Co-authored-by: Martin Gruner <mg@zammad.com>
Co-authored-by: Vitālijs <vitalijs.gaidelis@nep.lv>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/da/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/en_GB/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/lv/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/uk/
Translation: Zammad/Zammad (stable version)
2025-02-25 06:36:50 +00:00
Tobias Schäfer
5d961c1f8e Maintenance: Adapt SAML spec to KC 26 needs
Co-authored-by: Florian Liebe <fl@zammad.com>
Co-authored-by: Tobias Schäfer <ts@zammad.com>
2025-02-24 12:08:45 +01:00
Florian Liebe
d1854e5131 Maintenance: Update nokogiri gem. 2025-02-20 08:45:59 +01:00
Weblate
755d5120f0 Maintenance: Update translated files and catalog 2025-02-19 09:02:05 +00:00
Weblate
10aa7fdcaa Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: APM77 <apinar@goumh.umh.es>
Co-authored-by: Aivars Miška <allefm@gmail.com>
Co-authored-by: Ales Zabala Alava <shagi@gisa-elkartea.org>
Co-authored-by: Alfredo Sola <alfredo@sola.es>
Co-authored-by: Ali Sa'ad Eddeen <ali.se@alameensoft.com>
Co-authored-by: Anael Mobilia <contrib@anael.eu>
Co-authored-by: Andi Chandler <andi@gowling.com>
Co-authored-by: Andre <8a9315x8s@mozmail.com>
Co-authored-by: Andrea <andreacarboni@stepservizi.net>
Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Antonio Nardella <info@antonionardella.it>
Co-authored-by: Arif Waram <ninearif@hotmail.com>
Co-authored-by: Artem <aasavchuk@gmail.com>
Co-authored-by: Artur Kalagov <Artur.Kalagov@gmail.com>
Co-authored-by: Arturo <r2r0@posteo.de>
Co-authored-by: Benjamin Scharf <bs@zammad.com>
Co-authored-by: Bogdan Lungu <bogdy_lungu_alex@yahoo.co.uk>
Co-authored-by: Cagatay YAMAN <cagatay@atakdomain.com>
Co-authored-by: Cap6991 <an_96_drea@hotmail.it>
Co-authored-by: Carko <darko@augmentech.si>
Co-authored-by: Carlos Jara <carlos.jara@gmail.com>
Co-authored-by: Carlos Quiros <carlos.quiros@gmail.com>
Co-authored-by: Chang W. Lee <changlee99@gmail.com>
Co-authored-by: Christian Gravgaard <cg@bizperformer.com>
Co-authored-by: Dag Notland <dag@digiserv.no>
Co-authored-by: Damian Ferrari <damianferrari.ar@gmail.com>
Co-authored-by: Daniel Garcia <gm.dani@gmail.com>
Co-authored-by: Daniel Macías <danielmaciasm@gmail.com>
Co-authored-by: Danniel Macedo <djsmacedo@gmail.com>
Co-authored-by: Decio E. Silva <decio@verinatec.com.br>
Co-authored-by: Deleted User <noreply+139@weblate.org>
Co-authored-by: Deleted User <noreply+169@weblate.org>
Co-authored-by: Deleted User <noreply+621@weblate.org>
Co-authored-by: Diego <diegowave@gmail.com>
Co-authored-by: Diogo Dantas <diogomelo@gmail.com>
Co-authored-by: DjMagicFingers <amir@srvit.co.il>
Co-authored-by: Dmitriy <pim-dima@ya.ru>
Co-authored-by: Dominik Klein <dk@zammad.com>
Co-authored-by: Dominik Penyk <penyk1@uniba.sk>
Co-authored-by: Dominikmarek88 <marek47@uniba.sk>
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
Co-authored-by: Elias Grinias <elgrinias@gmail.com>
Co-authored-by: Elodie Massa <elodie@association-enoria.org>
Co-authored-by: Emre ÇAPAN <emrecapanogluu@gmail.com>
Co-authored-by: Falkonio <falkovds@gmail.com>
Co-authored-by: Filipe Garcia <epilif09@gmail.com>
Co-authored-by: FoW <fow@netspheres.org>
Co-authored-by: Francisco Rocha <francisco@rocha.com.pt>
Co-authored-by: Földes László <foldes.laszlo@outlook.com>
Co-authored-by: Gerrit <github@gmail.arghs.de>
Co-authored-by: Girrese <girrese@gmail.com>
Co-authored-by: Gius4 <giuseppe@socci.eu>
Co-authored-by: Goudarz Jafari <goudarz.jafari@gmail.com>
Co-authored-by: IT SMBDA <it@smb.gov.az>
Co-authored-by: Ivan Perovic <ip@zammad.com>
Co-authored-by: JPB <JPB@users.noreply.translations.zammad.org>
Co-authored-by: Jano Suchal <jan.suchal@gmail.com>
Co-authored-by: JasperE84 <jasper.e@gmail.com>
Co-authored-by: Jc <dottdot.dev@gmail.com>
Co-authored-by: Jennie Gejel <jenniegejel@gmail.com>
Co-authored-by: Jeroen Baten <jbaten@i2rs.nl>
Co-authored-by: Joaquin Diego Perez Gonzalez <joaquinperez@ipglobal.es>
Co-authored-by: Joffre Ayala <ayala.joffre.clinica@gmail.com>
Co-authored-by: Jorge Peixinho <jorge.peixinho@storesace.cv>
Co-authored-by: Juan Carlos Mendez <jcmendez@alum.mit.edu>
Co-authored-by: Kamil <kserwus@gmail.com>
Co-authored-by: Katrina Laimina <katrina.laimina@paysera.net>
Co-authored-by: Laurens Bijker <laurens@laurensbijker-ict.nl>
Co-authored-by: Leif-Jöran Olsson <info@friprogramvarusyndikatet.se>
Co-authored-by: Leonardas <leonardas.konosovas@paysera.net>
Co-authored-by: Leroy Aronds <leroy@nimbizz.com>
Co-authored-by: Lerrand <lerrand@gmail.com>
Co-authored-by: Lorenzo Milesi <lorenzo@mile.si>
Co-authored-by: Louise Forsen <louise.forsen@entryevent.se>
Co-authored-by: MBekspert <michal.bosak@ekspert.biz>
Co-authored-by: Maciej Olko <maciej.olko@affirm.com>
Co-authored-by: Magdalena Dulęba <magdalena.duleba@pwr.edu.pl>
Co-authored-by: MagicF <forreggbor@gmail.com>
Co-authored-by: Mantas Masalskis <mantas@idev.lt>
Co-authored-by: Mantikor <nhyuga.r@gmail.com>
Co-authored-by: Marcel Herrguth <github@thehomeofanime.de>
Co-authored-by: Marcin M <github@mejor.pl>
Co-authored-by: Marcin Miłek <marcin.milek@pwr.edu.pl>
Co-authored-by: Marco Badan <info@marcobadan.com>
Co-authored-by: Marcos Aurélio Silvério <maureliosilverio@gmail.com>
Co-authored-by: Mario Gomes <mafigo74@gmail.com>
Co-authored-by: Mariusz Jamro <mariusz.jamro@gmail.com>
Co-authored-by: Marlon Baez <marlon.baez@barolit.com>
Co-authored-by: Martin Bonde <martin@maboni.dk>
Co-authored-by: Martin Gruner <mg@zammad.com>
Co-authored-by: Martin Miškovič <miskovic.martin@gmail.com>
Co-authored-by: Mateus Toledo <mtoledo@mtsolucoes.com.br>
Co-authored-by: Mateusz Tylec <mateusz4004@gmail.com>
Co-authored-by: Michael Graciano Martins <mgm1996@hotmail.com>
Co-authored-by: Michal <m.plawsiuk@razit.pl>
Co-authored-by: Milan Regec <milan.regec@hey.com>
Co-authored-by: Milena Tsarvenkova <milena.tsarvenkova@paysera.net>
Co-authored-by: Misha <misha@association-enoria.org>
Co-authored-by: Müslüm Cengiz <muslumcengiz@windowslive.com>
Co-authored-by: Nikita <nyakovlev@iko.tech>
Co-authored-by: Odilon A. S. Junir <odilonjunir@gmail.com>
Co-authored-by: Ondrej Pokorny <ondrej.pokorny@entry-cz.com>
Co-authored-by: Onur Alp Akin <onralpakin@gmail.com>
Co-authored-by: PIetro Sacchi <sacchi.pietro@gmail.com>
Co-authored-by: PackyZhang <zhanghongbang@live.com>
Co-authored-by: Panagiotis Strakas <pstrakas@hotmail.com>
Co-authored-by: Paweł Rypień <pawel.rypien@bmw-sikora.pl>
Co-authored-by: Pedro Pereira <pedro.pereira@strongcharon.pt>
Co-authored-by: Peter-Hans de Zwarte <peter-hans@zwarte.no>
Co-authored-by: Petr Daniel Ambrož <paces@paces.cz>
Co-authored-by: Petr Prochazka <prochazkapetr2@gmail.com>
Co-authored-by: Philip Gabrielsen <philip@digno.no>
Co-authored-by: Phoenix <phoenix.yu@vesoft.com>
Co-authored-by: Ralf Schmid <rsc@zammad.com>
Co-authored-by: Random <random_r@users.noreply.translations.zammad.org>
Co-authored-by: Ricardo Ribeiro <chacal.ricardo@gmail.com>
Co-authored-by: Ricardo Sandoval Pérez <r.sandoval@itknow.es>
Co-authored-by: Ricardo Siqueira de Oliveira Leite <ricardooliveira88@gmail.com>
Co-authored-by: Richard <richard.savoie@hotmail.ca>
Co-authored-by: Roar Eliassen <roar.eliassen@protonmail.com>
Co-authored-by: Rob <robertborge@outlook.com>
Co-authored-by: Rok Poje <rok.poje@mintpos.si>
Co-authored-by: Rowdy van der Veen <rowdy@rowdyengeesje.nl>
Co-authored-by: Ruben Daniel Ribeiro Duarte <ruben.ribeiro.duarte@gmail.com>
Co-authored-by: SUMONCHAI WONGPITAK <sumonchai@gmail.com>
Co-authored-by: Sajjad Jazini <s.jazini@vatanmail.ir>
Co-authored-by: SamolJacek <samol.jacek@gmail.com>
Co-authored-by: Sarino24 <jaroslav.sujan@gmail.com>
Co-authored-by: Sezgin KOC <sezgink059@outlook.com.tr>
Co-authored-by: Spiteful Grog <kev_2108@outlook.com>
Co-authored-by: Stefan Choraliev <s.choraliev@velox-systems.com>
Co-authored-by: Suat VARLIKLI <suatvarlikli89@gmail.com>
Co-authored-by: Svein-Erik Larsen <feinom@gmail.com>
Co-authored-by: Svyrydov Semen <pincher2006@gmail.com>
Co-authored-by: Szkolarz <lukasz.szkolarz@gmail.com>
Co-authored-by: Thomas Albech <github@albech.com>
Co-authored-by: Türk Oyuncu <recentlly@hotmail.com>
Co-authored-by: Vicent Oron <voron@virtualwareco.com>
Co-authored-by: Victor Cezario <victorhcezario@gmail.com>
Co-authored-by: Victor Gallegos <vgallegos@kaliroy.com>
Co-authored-by: Vincent Handfield <vincent@accestech.com>
Co-authored-by: Vlad Ilie <vladilie94@gmail.com>
Co-authored-by: Vladimir <sleuths.slews0s@icloud.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Wim Deprez <wim@tamale.nl>
Co-authored-by: YosefAdPro <yosef@adpronet.com>
Co-authored-by: Zhilin Ruslan <x-th-unicorn@hotmail.com>
Co-authored-by: affarinha <andre.farinha@syswave.pt>
Co-authored-by: ait0rn00b <ait0rn00b@protonmail.com>
Co-authored-by: albertoarmida <alberto.armida@gmail.com>
Co-authored-by: allan-pm <ju@cicada-speech.com>
Co-authored-by: antonylu0826 <lu-antony@yahoo.com.tw>
Co-authored-by: chen <chenchen@4chian.com>
Co-authored-by: chrand818 <can@telenabler.com>
Co-authored-by: craguilera <craguilera@gmail.com>
Co-authored-by: danidemis <dani.demichi@gmail.com>
Co-authored-by: deciouff <decioeduardo@id.uff.br>
Co-authored-by: eppupesoladigisys <eero.pesola@digisys.fi>
Co-authored-by: fluidum <erkkoisok@gmail.com>
Co-authored-by: gfced <gianluca.fadda@comune.oristano.it>
Co-authored-by: grantw <grantw@gmail.com>
Co-authored-by: grtnl <geert.noel@aalst.be>
Co-authored-by: holstix <holstix@live.dk>
Co-authored-by: jebulol <jebulol@gmail.com>
Co-authored-by: jingchun.xia <jingchun.xia@vesoft.com>
Co-authored-by: kim jy <elcidme@gmail.com>
Co-authored-by: kirkkak <kirkka.kivilo@gmail.com>
Co-authored-by: lukenpi <lucapasquini89@gmail.com>
Co-authored-by: marcofenoglio <marco.fenoglio@gmail.com>
Co-authored-by: michelvdriel <michel@vdriel.com>
Co-authored-by: mittkkoo <iankoff@yahoo.com>
Co-authored-by: notkrisu <damasiewiczkrystian@gmail.com>
Co-authored-by: payman Zafar <p.moghadam@asredanesh.com>
Co-authored-by: salvolp <s.salvo17@gmail.com>
Co-authored-by: sesoltani <se.soltani@hotmail.com>
Co-authored-by: sigurbjartur <github@sigurbjartur.com>
Co-authored-by: stomko11 <stefan.tomko@gmail.com>
Co-authored-by: timnis <timo@nisula.org>
Co-authored-by: valentin2323 <sttor11@gmail.com>
Co-authored-by: vaxty <marek@ondrej.pro>
Co-authored-by: wenkuan01 <wenkuan@cicada-speech.com>
Co-authored-by: xXxLeVIaFaNxXx <sakovalev@polyplast-nm.ru>
Co-authored-by: yvanjay <181923630@qq.com>
Co-authored-by: Šimon Woidig <woidig.simon@gmail.com>
Co-authored-by: Андриан Галкин <galandrix@gmail.com>
Co-authored-by: Вячеслав Карпов <pvd86@mail.ru>
Co-authored-by: 황윤성 <hys@osbusiness.net>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ar/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/az/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/bg/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/cs/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/da/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/de/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/el/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/en_CA/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/en_GB/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/es/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/es_CA/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/es_CO/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/es_MX/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/et/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fa/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fi/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fr_CA/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/he_IL/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/hi/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/hr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/hu/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/is/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/it/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ja/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ko/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/lt/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/lv/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ms/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/nb_NO/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/nl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pt_BR/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pt_PT/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ro/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ru/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/rw/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sk/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sr_Cyrl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sv/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/th/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/tr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/uk/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/vi/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/zh_Hans/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/zh_Hant/
Translation: Zammad/Zammad (stable version)
2025-02-19 08:59:41 +00:00
Rolf Schmidt
22a0b20a54 Fixes #5491 - Deadlocks on updating taskbars.
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-02-14 11:28:07 +01:00
Dominik Klein
57fe79e08e Maintenance: Security update for the 'rack' gem. 2025-02-13 22:51:32 +01:00
Florian Liebe
fd34248033 Maintenance: Update net-imap dependency. 2025-02-12 10:00:17 +01:00
Dominik Klein
ef5419e71f Maintenance: Updated Zendesk cassette after some tickets were permantly deleted. 2025-02-11 13:15:50 +01:00
Rolf Schmidt
9075b14432 Fixes #5469 - Organization is removed in the report profile after an reload of the browser tab.
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-02-06 15:43:41 +01:00
Rolf Schmidt
f8caa09a45 Fixes #5483 - Organization is missing when used in expert mode conditions.
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-02-06 14:47:18 +01:00
Martin Gruner
520dba0edf Maintenance: Fix ticket selector test 2025-02-06 08:03:47 +01:00
Martin Gruner
5fc565201a Maintenance: Update buildpack to fix corepack build issues 2025-02-05 07:56:27 +01:00
Rolf Schmidt
13fcf45702 Fixes #5477 - CSV export contains overview_sortings which is always empty.
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-02-03 11:33:29 +01:00
Weblate
0aca8c0ff2 Maintenance: Update translated files and catalog 2025-01-31 10:23:50 +00:00
Weblate
cf3d5a3def Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Jano Suchal <jan.suchal@gmail.com>
Co-authored-by: Mantikor <nhyuga.r@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: chrand818 <can@telenabler.com>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sk/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sv/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/uk/
Translation: Zammad/Zammad (stable version)
2025-01-31 10:21:35 +00:00
Dominik Klein
9a537e7ad1 Follow up b1b791a7 - Fixes #5474 - Failing import when an existing zendesk custom attribute name is equal an internal Zammad attribute name. 2025-01-29 16:23:56 +01:00
Dominik Klein
b1b791a7d5 Fixes #5474 - Failing import when an existing zendesk custom attribute name is... 2025-01-29 07:15:22 +01:00
Martin Gruner
88bd557abd Maintenance: Fix OSM integration test
(cherry picked from commit 8e8fa12a47)

8e8fa12a Maintenance: Fix OSM integration test

Co-authored-by: Martin Gruner <mg@zammad.com>
2025-01-27 11:23:31 +01:00
Martin Gruner
0110da4a45 Maintenance: Fix false gitleaks positive 2025-01-25 17:33:00 +01:00
Florian Liebe
33a2dda2a1 Fixes #5461 - Creating a Ticket Object called 'article' will lead to all kinds of errors.
Co-authored-by: Dominik Klein <dk@zammad.com>
2025-01-24 16:31:41 +01:00
Weblate
98a0d020b0 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Dusan Vuckovic <dv@zammad.com>
Co-authored-by: Mantikor <nhyuga.r@gmail.com>
Co-authored-by: Martin Gruner <mg@zammad.com>
Co-authored-by: Suat VARLIKLI <suatvarlikli89@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/de/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sr_Cyrl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/tr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/uk/
Translation: Zammad/Zammad (stable version)
2025-01-22 23:49:07 +00:00
Weblate
0d76d94fc0 Maintenance: Update translated files and catalog 2025-01-20 06:44:41 +00:00
Weblate
7a791d2dd2 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Dominik Penyk <penyk1@uniba.sk>
Co-authored-by: Dominikmarek88 <marek47@uniba.sk>
Co-authored-by: Mantikor <nhyuga.r@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sk/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/uk/
Translation: Zammad/Zammad (stable version)
2025-01-17 21:10:39 +00:00
Rolf Schmidt
5b43ecc5ed Fixes #5463 - delete reporting profile with id=1.
Co-authored-by: Martin Gruner <mg@zammad.com>
2025-01-17 10:52:32 +00:00
Weblate
4b71e28a47 Maintenance: Update translated files and catalog 2025-01-17 06:23:05 +00:00
Weblate
bfa78ee462 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Andi Chandler <andi@gowling.com>
Co-authored-by: Dominik Penyk <penyk1@uniba.sk>
Co-authored-by: Dominikmarek88 <marek47@uniba.sk>
Co-authored-by: Mantas Masalskis <mantas@idev.lt>
Co-authored-by: Mantikor <nhyuga.r@gmail.com>
Co-authored-by: Martin Gruner <mg@zammad.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/de/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/en_GB/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/lt/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sk/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/uk/
Translation: Zammad/Zammad (stable version)
2025-01-16 22:00:06 +00:00
Rolf Schmidt
15b76b62e5 Maintenance: configure_translate model option should only apply if defined.
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
2025-01-16 14:23:02 +01:00
Rolf Schmidt
0f1ec88b48 Fixes #5462 - Reporting Profile - query does not support [owner_id].
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-01-16 11:22:28 +01:00
Dominik Klein
e899e54464 Fixes #5444 - Subscribe or unsubscribe when used in a trigger is not shown in the ticket history correctly. 2025-01-14 10:32:36 +01:00
Martin Gruner
3cb558f487 Fixes #5438 - Occasionally puma hangs up after updating to Zammad 6.4 2025-01-14 07:03:57 +01:00
Dusan Vuckovic
50af14d48d Follow-up afb2345 - Fixes #5456 - Uploading an avatar is not possible if it was deleted in between. 2025-01-10 13:55:34 +01:00
Dominik Klein
0db84aa35d Fixes #5441 - The Subscribe attribute in triggers is not working as intended. 2025-01-10 12:34:30 +01:00
Dominik Klein
850b9b8eb0 Maintenance: Update zendesk cassettes, because of deleted tickets. 2025-01-10 10:33:30 +01:00
Florian Liebe
afb2345aa7 Fixes #5456 - Uploading an avatar is not possible if it was deleted in between.
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
2025-01-09 12:21:04 +01:00
Dominik Klein
df374f06b8 Fixes #5455 - Mobile Ticket Information View displaying internalId instead of ticket number. 2025-01-06 11:36:53 +01:00
Weblate
72aa964901 Maintenance: Update translated files and catalog 2025-01-06 06:35:05 +00:00
Weblate
686e1d46ed Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Anael Mobilia <contrib@anael.eu>
Co-authored-by: Dominikmarek88 <marek47@uniba.sk>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: sigurbjartur <github@sigurbjartur.com>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/cs/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/is/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sk/
Translation: Zammad/Zammad (stable version)
2025-01-06 06:33:05 +00:00
Dominik Klein
3ddf2933f6 Follow-up 9cc0cbd2 - Maintenance: Update copyright information. 2025-01-02 09:50:45 +01:00
Weblate
fec6d7e0e2 Maintenance: Update translated files and catalog 2025-01-02 07:27:03 +00:00
Weblate
397b5d38b2 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Anael Mobilia <contrib@anael.eu>
Co-authored-by: Andi Chandler <andi@gowling.com>
Co-authored-by: Dominik Penyk <penyk1@uniba.sk>
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
Co-authored-by: Florin Buffet <suppiflo@yahoo.de>
Co-authored-by: JPB <JPB@users.noreply.translations.zammad.org>
Co-authored-by: Juan Carlos Mendez <jcmendez@alum.mit.edu>
Co-authored-by: Marcel Herrguth <github@thehomeofanime.de>
Co-authored-by: Mariusz Jamro <mariusz.jamro@gmail.com>
Co-authored-by: Random <random_r@users.noreply.translations.zammad.org>
Co-authored-by: Szkolarz <lukasz.szkolarz@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: albanobattistella <albano_battistella@hotmail.com>
Co-authored-by: chrand818 <can@telenabler.com>
Co-authored-by: sigurbjartur <github@sigurbjartur.com>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/de/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/en_GB/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/es/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/is/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/it/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/nl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sk/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sr_Cyrl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sv/
Translation: Zammad/Zammad (stable version)
2025-01-01 23:00:08 +01:00
Mantas Masalskis
9cc0cbd2d2 Maintenance: Update copyright information 2025-01-01 18:02:47 +01:00
Mantas Masalskis
a187f3a54e Fixes #5437 - Most recent data privacy tasks are not shown 2024-12-17 23:55:24 +01:00
Martin Gruner
d926a9055c Closes #5443 - Add NGINX_CLIENT_MAX_BODY_SIZE to docker-entrypoint 2024-12-17 14:06:14 +01:00
Martin Gruner
12d4e0de4a Maintenance: Apply security update for Rails 7.1 2024-12-12 08:31:55 +01:00
Dusan Vuckovic
92e1e8cf08 Fixes #5442 - Translation - Admin / "System Report" - missing translation and bad renderer. 2024-12-11 10:39:49 +01:00
Martin Gruner
73735359f8 Maintenance: Fix packager.io tests for rhel-9 2024-12-10 07:39:37 +01:00
Florian Liebe
14e9d42452 Fixes #5439 - Unsupported message type received by WhatsApp Business API is blocking the whole channel. 2024-12-09 14:03:23 +01:00
Dusan Vuckovic
f67d6c6a01 Fixes #4989 - Erroneous error message during password reset. 2024-12-09 12:52:29 +01:00
Martin Gruner
8a9c7f3057 Fixes #5420 - Occasionally scheduler fails to load all needed code for unknown reasons 2024-12-09 09:36:38 +01:00
Weblate
10c55c4968 Maintenance: Update translated files and catalog 2024-12-06 12:58:07 +00:00
Weblate
f1ddc6f338 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Andi Chandler <andi@gowling.com>
Co-authored-by: Eduard Velasco <eduard.velasco@greyheads.cat>
Co-authored-by: Mantas Masalskis <mantas@idev.lt>
Co-authored-by: Martin Gruner <mg@zammad.com>
Co-authored-by: Nikita <nyakovlev@iko.tech>
Co-authored-by: Rok Poje <rok.poje@mintpos.si>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/en_GB/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/es_CA/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/lt/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ru/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sl/
Translation: Zammad/Zammad (stable version)
2024-12-06 13:55:40 +01:00
Rolf Schmidt
181ec27fed Follow up ed079e35 - Fixes #5428 - Add negative tests and rollback original skip of missing recipients.
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
2024-12-05 17:59:06 +01:00
Rolf Schmidt
ee8dae91e9 Fixes #5428 - Notification loops because mail bouncing timeouts do not apply to users in system notifications.
Co-authored-by: Florian Liebe <fl@zammad.com>
2024-12-05 12:22:59 +01:00
Florian Liebe
453aeb09c1 Release Zammad 6.4.1. 🚀 2024-12-05 07:55:34 +01:00
Mantas Masalskis
f31bec8b24 Fixes #5411 - Selection of linked answers in the Knowledge Base drop-down menu... 2024-12-04 10:37:35 +01:00
Rolf Schmidt
9482abb9ba Fixes #5418 - Package precompile sometimes assumes old code while precompiling.
Co-authored-by: Dominik Klein <dk@zammad.com>
2024-12-04 08:50:39 +01:00
Martin Gruner
f02f79d5df Maintenance: Apply security update for rails-html-sanitizer gem 2024-12-04 07:25:15 +01:00
Tobias Schäfer
f0be88130f Fixes #5432 - PGP: Decryption fails if Zammad's address is in BCC 2024-12-03 09:22:13 +01:00
Weblate
39e3814804 Maintenance: Update translated files and catalog 2024-12-02 09:45:00 +00:00
Weblate
71d893b9c9 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Anael Mobilia <contrib@anael.eu>
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
Co-authored-by: Martin Gruner <mg@zammad.com>
Co-authored-by: Nikita <nyakovlev@iko.tech>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: chrand818 <can@telenabler.com>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/de/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ru/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sr_Cyrl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sv/
Translation: Zammad/Zammad (stable version)
2024-12-02 10:39:12 +01:00
Florian Liebe
eb173ed977 Maintenance: Update GeoCalendar tests. 2024-12-02 08:42:13 +01:00
Martin Gruner
611ba7e227 Maintenance: Improve settings log 2024-11-29 10:08:20 +01:00
Dusan Vuckovic
d34b4b35f4 Fixes #5425 - External data source object cannot be "set" in Postmaster filter. 2024-11-28 18:21:41 +01:00
Florian Liebe
91afdffd8c Fixes #5424 - Invalid URL translation in text mail footer if URL contains & / &amp;.
Co-authored-by: Tobias Schäfer <ts@zammad.com>
2024-11-28 11:54:25 +01:00
Dusan Vuckovic
507e0ff2fb Fixes #5430 - Migration is not working: 20241113154014 Issue5409WrongDbColumnArrayType: undefined method type for nil:NilClass. 2024-11-28 11:43:17 +01:00
Weblate
28f5474308 Maintenance: Update translated files and catalog 2024-11-26 07:06:45 +00:00
Weblate
ddb5faedb9 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Rok Poje <rok.poje@mintpos.si>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: chrand818 <can@telenabler.com>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sv/
Translation: Zammad/Zammad (stable version)
2024-11-26 08:04:12 +01:00
Martin Gruner
386ffa9b26 Follow-up: 06f81032d5 - Also add tmp/ dir to docker image 2024-11-26 08:02:50 +01:00
Martin Gruner
197abebd91 Fixes #5420 - Occasionally scheduler fails to load all needed code for unknown reasons 2024-11-25 13:35:27 +01:00
Tobias Schäfer
b9f32fa223 Fixes #5363 - Moving/Verifying stored files crashes if any file is missing. 2024-11-25 10:07:58 +01:00
Weblate
f818ceca3b Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Benjamin Scharf <bs@zammad.com>
Co-authored-by: Mario Gomes <mafigo74@gmail.com>
Co-authored-by: Rok Poje <rok.poje@mintpos.si>
Co-authored-by: Sajjad Jazini <s.jazini@vatanmail.ir>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/es/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fa/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pt_PT/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sl/
Translation: Zammad/Zammad (stable version)
2024-11-25 09:48:27 +01:00
Florian Liebe
effb1aeaf1 Maintenance: Update GeoCalendar tests. 2024-11-25 08:27:39 +01:00
Dusan Vuckovic
d3a57bc5c7 Fixes #5409 - Wrong type of table column after migrating from MariaDB to PostgreSQL. 2024-11-21 13:06:52 +01:00
Martin Gruner
deca44e0dd Fixes: zammad-backup not working with postgres 17 (zammad-docker-compose/issues/440)
(cherry picked from commit 1fc100e282)

1fc100e2 Fixes: zammad-backup not working with postgres 17 (zammad-docker-compose/issues/440)

Co-authored-by: Martin Gruner <mg@zammad.com>
2024-11-21 09:20:19 +01:00
Weblate
17c73137a2 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Anael Mobilia <contrib@anael.eu>
Co-authored-by: Martin Gruner <mg@zammad.com>
Co-authored-by: Rok Poje <rok.poje@mintpos.si>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/de/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sl/
Translation: Zammad/Zammad (stable version)
2024-11-20 23:00:06 +01:00
Dominik Klein
042e060adb Fixes #5410 - Pre-defined Microsoft Teams webhook fails because of broken notification messaging templates for some languages. 2024-11-20 15:03:26 +01:00
Weblate
33edd75bb0 Maintenance: Update translated files and catalog 2024-11-20 06:17:26 +00:00
Weblate
0b7172b659 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Dominik Klein <dk@zammad.com>
Co-authored-by: Dominik Penyk <penyk1@uniba.sk>
Co-authored-by: Ruben Daniel Ribeiro Duarte <ruben.ribeiro.duarte@gmail.com>
Co-authored-by: chrand818 <can@telenabler.com>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/hu/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ko/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pt_BR/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pt_PT/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ro/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sk/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sv/
Translation: Zammad/Zammad (stable version)
2024-11-20 07:15:17 +01:00
Florian Liebe
b5950f8579 Fixes #5417 - Replacing an image in the knowledge base is broken.
Co-authored-by: Dominik Klein <dk@zammad.com>
2024-11-19 21:19:57 +01:00
Mantas Masalskis
9b0ae01a8d Fixes #5398 - Data privacy task dialog confirmation field looses focus 2024-11-18 21:37:33 +01:00
Weblate
1fc0c2ce61 Maintenance: Update translated files and catalog 2024-11-18 11:35:02 +00:00
Weblate
c4c15fa99a Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Dominik Penyk <penyk1@uniba.sk>
Co-authored-by: Dominikmarek88 <marek47@uniba.sk>
Co-authored-by: Milan Regec <milan.regec@hey.com>
Co-authored-by: Richard <richard.savoie@hotmail.ca>
Co-authored-by: Rok Poje <rok.poje@mintpos.si>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: sesoltani <se.soltani@hotmail.com>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fa/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fr_CA/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sk/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sl/
Translation: Zammad/Zammad (stable version)
2024-11-18 12:27:23 +01:00
Martin Gruner
0d08141ed6 Fixes #5412 - Storage folder does not exist in Zammad docker container
(cherry picked from commit 06f81032d5)

06f81032 Fixes #5412 - Storage folder does not exist in Zammad docker container

Co-authored-by: Martin Gruner <mg@zammad.com>
2024-11-18 07:45:05 +01:00
Rolf Schmidt
5df51a017c Fixes #5402 - Type Error in report page.
Co-authored-by: Dominik Klein <dk@zammad.com>
2024-11-15 13:38:28 +01:00
Weblate
1950cb4314 Maintenance: Update translated files and catalog 2024-11-15 10:09:55 +00:00
Weblate
5a4b413d57 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Anael Mobilia <contrib@anael.eu>
Co-authored-by: Dominik Penyk <penyk1@uniba.sk>
Co-authored-by: Nikita <nyakovlev@iko.tech>
Co-authored-by: Rok Poje <rok.poje@mintpos.si>
Co-authored-by: Sajjad Jazini <s.jazini@vatanmail.ir>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fa/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ru/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sk/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sl/
Translation: Zammad/Zammad (stable version)
2024-11-15 11:07:55 +01:00
Mantas Masalskis
9edee425a9 Fixes #5405 - Checklist feature: inaccessible tickets which are referenced in a checklist are always counted as checked/closed 2024-11-13 22:17:12 +01:00
Florian Liebe
7fd61b3b06 Fixes #5407 - Missing history entries for time-event based triggers.
Co-authored-by: Dominik Klein <dk@zammad.com>
2024-11-13 13:48:21 +01:00
Rolf Schmidt
1563f7edd6 Follow up f66ab5c630 - Fixes #5399 - zammad:package:bundle_install idea does not work out. 2024-11-12 14:14:18 +01:00
Mantas Masalskis
be4ce4cb0f Fixes #5401 - GraphQL operations made over ActionCable may mix up current user 2024-11-12 09:36:33 +01:00
Mantas Masalskis
8030396c2d Fixes #5396 - Checklist item can't be edited when checklist created empty. 2024-11-11 21:04:20 +01:00
Rolf Schmidt
f66ab5c630 Fixes #5399 - zammad:package:bundle_install idea does not work out.
Co-authored-by: Martin Gruner <mg@zammad.com>
2024-11-11 16:07:19 +01:00
Martin Gruner
4df40842c7 Maintenance: Improve performance test by clearing generated assets 2024-11-11 15:38:45 +01:00
Martin Gruner
7771f094ef Maintenance: Improve performance test situation. 2024-11-11 12:15:32 +01:00
Dusan Vuckovic
43c7d1f636 Fixes #5393 - Groups selection: Display bug when selecting subgroups.
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
Co-authored-by: Mantas Masalskis <mm@zammad.com>
2024-11-11 10:36:36 +01:00
Mantas Masalskis
f43894dd00 Maintenance: Clean up unused Checklist code 2024-11-07 21:53:23 +01:00
Weblate
a514bf9ad9 Maintenance: Update translated files and catalog 2024-11-07 12:30:41 +00:00
Weblate
1fe6348afd Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Dusan Vuckovic <dv@zammad.com>
Co-authored-by: Milan Regec <milan.regec@hey.com>
Co-authored-by: Random <random_r@users.noreply.translations.zammad.org>
Co-authored-by: Szkolarz <lukasz.szkolarz@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/it/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sk/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sr_Cyrl/
Translation: Zammad/Zammad (pre-release version, this will become Zammad 6.4 soon)
Translation: Zammad/Zammad (stable version)
2024-11-07 13:25:47 +01:00
Mantas Masalskis
0984e0a937 Fixes #5391 - Makros are not translated in drag & drop feature 2024-11-06 15:04:34 +01:00
Florian Liebe
1f09f838a2 Release Zammad 6.4.0. 🚀 2024-11-06 07:38:34 +01:00
Mantas Masalskis
762d7688b0 Fixes #5392 - New checklists will not be indexed according to regular conversion in ticket records 2024-11-05 17:41:29 +01:00
Martin Gruner
8e26723b73 Maintenance: GraphQL RSpec could allow indifferent access 2024-11-05 16:59:44 +02:00
Mantas Masalskis
8623b79379 Fixed #5367 - Checklist partial rerendering. 2024-11-05 13:39:01 +01:00
Dominik Klein
34c3085115 Fixes #5390 - Taskbar uniqueness check leads to problems when old unexpected... 2024-11-05 12:09:55 +01:00
Florian Liebe
b1a28c201e Fixes #5385 - Missing attachment alert is shown if 'attachment' is written in the signature.
Co-authored-by: Dominik Klein <dk@zammad.com>
2024-11-04 14:53:34 +01:00
Weblate
89b6b3f5c0 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Martin Gruner <mg@zammad.com>
Co-authored-by: Michal <m.plawsiuk@razit.pl>
Co-authored-by: Random <random_r@users.noreply.translations.zammad.org>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/de/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/it/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pl/
Translation: Zammad/Zammad (pre-release version, this will become Zammad 6.4 soon)
2024-11-02 09:00:01 +01:00
Weblate
8d794975d4 Maintenance: Update translated files and catalog 2024-10-30 06:39:46 +00:00
Weblate
3c53eddaf4 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Anael Mobilia <contrib@anael.eu>
Co-authored-by: Decio E. Silva <decio@verinatec.com.br>
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
Co-authored-by: Nikita <nyakovlev@iko.tech>
Co-authored-by: Rok Poje <rok.poje@mintpos.si>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: chrand818 <can@telenabler.com>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pt_BR/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ru/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sr_Cyrl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sv/
Translation: Zammad/Zammad (pre-release version, this will become Zammad 6.4 soon)
2024-10-29 23:30:06 +01:00
Martin Gruner
fd2b8c3bce Maintenance: Align ES testing strategy with other service containers
(cherry picked from commit 654316a39a)

Co-authored-by: Martin Gruner <mg@zammad.com>
2024-10-29 09:50:40 +01:00
Florian Liebe
65810f7ba0 Maintenance: Update dependency rexml to v3.3.9 2024-10-29 08:33:32 +01:00
Martin Gruner
366231aaaf Maintenance: Solve false gitleaks positives
(cherry picked from commit d4099e5003)

d4099e50 Maintenance: Solve false gitleaks positives

Co-authored-by: Martin Gruner <mg@zammad.com>
2024-10-28 14:49:43 +01:00
Martin Gruner
93a85c0357 Maintenance: Allow testing against different redis service versions 2024-10-28 11:12:40 +01:00
Rolf Schmidt
8db459ce53 Fixes #5381 - Typo in database migration of Thirdparty-Login No user creation on logon.
Co-authored-by: Florian Liebe <fl@zammad.com>


(cherry picked from commit 4d1f0e2bf5)

f23871a1 Fixes #5381 - Typo in database migration of Thirdparty-Login No user creation on logon.
f7b3401a throw error

Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2024-10-28 10:00:46 +01:00
Martin Gruner
84133a875f Maintenance: Create basic performance tests in CI
(cherry picked from commit fa925a4a79)

c004f1f3 Maintenance: Create basic performance tests in CI
58df87a4 Run in push pipelines for now
1b903920 Add missing service
afa9440d Typo
4b5b70bc Fill database
fd12f3cb Change invocation
150dcfd1 Test from ME
8fb81835 Refactor
9bbbe487 Add test for assets:precompile
c69bfb99 Clear activerecord cache
dbd1614e Improved output
2e615e93 Add branch switching
a94fa15b Fix gitlab syntax
24beed7a Rails 6.1 compat
789989f5 Save to file for later comparison
68e18cf7 Fix compatibilty to Rails 6.1
378e84d0 Drop file handling code again, and switch to versin based limits instead
21d7234e Improved pipeline configuration and import speed
a1b0abdc Improve output and expectations
3b0b2784 Simplified code, add performance fixes.
99a26b76 Decrease the limit
52768dc9 Switch test stage
06dd026f Improve comment
796f45ca Revert branch trigger change for packager.io.

Co-authored-by: Martin Gruner <mg@zammad.com>
2024-10-28 09:40:01 +01:00
Weblate
4df1e55b18 Maintenance: Update translated files and catalog 2024-10-28 08:14:39 +00:00
Weblate
2bda998d6f Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Anael Mobilia <contrib@anael.eu>
Co-authored-by: Gius4 <giuseppe@socci.eu>
Co-authored-by: JPB <JPB@users.noreply.translations.zammad.org>
Co-authored-by: Nikita <nyakovlev@iko.tech>
Co-authored-by: Ralf Schmid <rsc@zammad.com>
Co-authored-by: Random <random_r@users.noreply.translations.zammad.org>
Co-authored-by: Rok Poje <rok.poje@mintpos.si>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: chrand818 <can@telenabler.com>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/de/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/it/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/nl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ru/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sv/
Translation: Zammad/Zammad (pre-release version, this will become Zammad 6.4 soon)
2024-10-28 09:12:25 +01:00
Mantas Masalskis
5e2004aa1d Maintenance: Improve checklists db structure and assets generation. 2024-10-25 19:53:16 +02:00
Martin Gruner
34e874626a Maintenance: Fix false gitleaks positives 2024-10-18 17:02:37 +02:00
Dominik Klein
5cf2bc4273 Fixes #5376 - Kayako import ignores closed cases that are older than 30 days. 2024-10-18 08:23:03 +02:00
Martin Gruner
ca361ad8c2 Maintenance: Stabilize selector test 2024-10-18 07:31:29 +02:00
Martin Gruner
684d8fe3e7 Maintenance: Stabilize search tests 2024-10-18 07:31:06 +02:00
Martin Gruner
b639db89e3 Deleted translation using Weblate (Kazakh) 2024-10-17 14:10:20 +02:00
Weblate
cf922c0ce7 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translation: Zammad/Zammad (pre-release version, this will become Zammad 6.4 soon)
2024-10-17 13:40:59 +02:00
Weblate
534391ecf5 Maintenance: Update translated files and catalog 2024-10-17 12:20:57 +01:00
Weblate
ada583d0f8 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Anael Mobilia <contrib@anael.eu>
Co-authored-by: Nikita <nyakovlev@iko.tech>
Co-authored-by: Random <random_r@users.noreply.translations.zammad.org>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/it/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ru/
Translation: Zammad/Zammad (pre-release version, this will become Zammad 6.4 soon)
2024-10-17 13:14:21 +02:00
Dominik Klein
5c460457ad Fixes #5375 - Kayako import fails when post includes json-files as attachment. 2024-10-17 12:37:52 +02:00
Benjamin Scharf
e22b0f5c6e Follow up 12e75243 - Improve Checklist handling 2024-10-17 11:24:59 +02:00
Martin Gruner
b2946c81dc Maintenance: Update Rails to version 7.1.4.1.
(cherry picked from commit e7efc69dcf)

a4c09ddb Maintenance: Update Rails to version 7.1.4.1.
0fd0e13a Maintenance: Update Rails to version 7.1.4.1.

Co-authored-by: Florian Liebe <fl@zammad.com>
2024-10-17 06:37:11 +02:00
Weblate
f6fd7a48ad Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Lorenzo Milesi <lorenzo@mile.si>
Co-authored-by: Nikita <nyakovlev@iko.tech>
Co-authored-by: Random <random_r@users.noreply.translations.zammad.org>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/it/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ru/
Translation: Zammad/Zammad (pre-release version, this will become Zammad 6.4 soon)
2024-10-16 07:59:20 +02:00
Weblate
74c0d4cf51 Maintenance: Update translated files and catalog 2024-10-15 12:37:39 +01:00
Weblate
fdb8ecddca Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Elodie Massa <elodie@association-enoria.org>
Co-authored-by: Ivan Perovic <ip@zammad.com>
Co-authored-by: Martin Gruner <mg@zammad.com>
Co-authored-by: Random <random_r@users.noreply.translations.zammad.org>
Co-authored-by: Sajjad Jazini <s.jazini@vatanmail.ir>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/de/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fa/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/hr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/it/
Translation: Zammad/Zammad (pre-release version, this will become Zammad 6.4 soon)
2024-10-15 13:32:31 +02:00
Florian Liebe
3f31b555f1 Fixes #5361 - Fetching mails with protonmail-bridge is not possible due to closed stream error.
Co-authored-by: Florian Liebe <fl@zammad.com>
Co-authored-by: Tobias Schäfer <ts@zammad.com>
2024-10-15 13:10:24 +02:00
Rolf Schmidt
3d46cab28d Maintenance: Add missing license note about status report icon.
(cherry picked from commit e1e2f46d4d)

e1e2f46d Maintenance: Add missing license note about status report icon.

Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2024-10-14 14:54:25 +02:00
Rolf Schmidt
00a4b00194 Maintenance: Add status report icon.
(cherry picked from commit 86c30bdd13)

86c30bdd Maintenance: Add status report icon.

Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2024-10-14 14:48:14 +02:00
Rolf Schmidt
13e4f810d5 Fixes #5310 - Icons are not up to date.
Co-authored-by: Mantas Masalskis <mm@zammad.com>


(cherry picked from commit 006fc5c818)

dcafe124 Fixes #5310 - Icons are not up to date.
ed71ab6c wip
25e3a13f remove code
5c7263f4 change more
c0e7eea7 change url
03aa0b62 readd comment
3091b536 add application helper
1a9d50ee remove obsolete code
ed400287 add icons url to kb
c8ec305e improve icons url selector
7fe6f14f queryElement -> documentElement
94bbe9c9 (un)check is now a single action
443bc214 fix html utils test
5f9a82f4 remove util var
5150f2a2 Revert "(un)check is now a single action"
1d0be7c1 fix icon
085b2e0c changing to @Icon in some strange copy-pastas
3bf91cc7 one more capypaste cleaned up
9bb0b36c fix urls
5a7f9798 add request cache for icons url

Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2024-10-10 15:48:36 +02:00
Tarek Shehab
9622724696 Maintenance: Automate creation of redis service on sles in postinstall.sh 2024-10-10 13:20:07 +02:00
Weblate
d8c0c889c0 Maintenance: Update translated files and catalog 2024-10-09 23:18:33 +01:00
Weblate
17803e445f Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Dusan Vuckovic <dv@zammad.com>
Co-authored-by: Ivan Perovic <ip@zammad.com>
Co-authored-by: JPB <JPB@users.noreply.translations.zammad.org>
Co-authored-by: Lorenzo Milesi <lorenzo@mile.si>
Co-authored-by: Martin Gruner <mg@zammad.com>
Co-authored-by: Nikita <nyakovlev@iko.tech>
Co-authored-by: Ralf Schmid <rsc@zammad.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: chrand818 <can@telenabler.com>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/de/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/hr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/it/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/nl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ru/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sr_Cyrl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sv/
Translation: Zammad/Zammad (pre-release version, this will become Zammad 6.4 soon)
2024-10-10 00:16:29 +02:00
Martin Gruner
0d42c95552 Maintenance: Automate testing of packager.io packages
(cherry picked from commit 25bdaa11b6)

aefb873e Maintenance: Automate testing of packager.io packages
f1acc0a8 Make branch configurable
767a6040 Try to add to CI pipeline
b1f63c8b Fix class name
acc7c2ec Fix variables key
49ff547a Use docker image
72977a5e Switch to sh
76df04fa Switch to fixed branch name
a487d5dc Debug
441167db debug
82c69a82 Avoid config mount
cff3b272 Add debian 11, improve cleanup
2870ae22 Improve cleanup
fd53b8e7 Add ubuntu 24.04
2bbf0a65 Refactor, add ubuntu 20.04 and 22.04
48e02fda Fix subshell
6f9f203c Fix scenario script
133397bd Fix scenario script
39716f31 Switch to noninteractive deb
20ee2cf5 Improve cleanup
4a55b6c9 Add rhel 9
6f35a6ab Add rhel 8
e6bee1b0 Improve curl check and un-silence apt
d495fefa Solve concurrency failures
e1d48a8d Remove sleep
4d0ca19b Use ipv4 for testing
7026d15b Add sles 15
fa97646d Fix suse, drop hardcoded branch
4ba95d11 Fix redis on suse, revert CI stage
0e5dfdef Add interruptible
13406384 Fix rhel-8
f7f01a79 Add missing dependencies
df0af150 Drop dep workarounds
752ea259 Fix branch name interpolation
607bd5a6 reduce redundancy
65c117c7 Add update test, simlifications
a2bcbb3c Only enable for scheduled and manual pipelines

Co-authored-by: Martin Gruner <mg@zammad.com>
2024-10-09 16:41:20 +02:00
Rolf Schmidt
9147c3be88 Fixes #5362 - Fix behaviour of array values in CSV export/import.
Co-authored-by: Florian Liebe <fl@zammad.com>


(cherry picked from commit 0b11fbf48b)

a0ad036a Fixes #5362 - Fix behaviour of array values in CSV export/import.
fd16c58a fix import csv
d676d2c0 remove newline
aebefdcb fix role import test
233de890 fix member import test

Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2024-10-09 15:17:48 +02:00
Rolf Schmidt
ed48331cec Maintenance: Improve database name fetching to be compatible with docker.
(cherry picked from commit 9d15959a42)

9d15959a Maintenance: Improve database name fetching to be compatible with docker.

Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2024-10-09 15:17:17 +02:00
Mantas Masalskis
1d542d1b31 Fixes #5364 - Searching for a ticket with a keyword from an checklist item is not working 2024-10-08 17:01:28 +02:00
Dusan Vuckovic
40f32aa102 Fixes #5308 - Ticket creation with Send Email turns into Net::SMTPSyntaxError if customer has no email address.
Co-authored-by: Dominik Klein <dk@zammad.com>
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
Co-authored-by: Florian Liebe <fl@zammad.com>
2024-10-08 16:55:52 +02:00
Weblate
3974df9a2d Maintenance: Update translated files and catalog 2024-10-08 08:49:59 +01:00
Weblate
238b03fba7 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Arturo <r2r0@posteo.de>
Co-authored-by: Ivan Perovic <ip@zammad.com>
Co-authored-by: Jeroen Baten <jbaten@i2rs.nl>
Co-authored-by: Misha <misha@association-enoria.org>
Co-authored-by: Sajjad Jazini <s.jazini@vatanmail.ir>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/es/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fa/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/hr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/nl/
Translation: Zammad/Zammad (pre-release version, this will become Zammad 6.4 soon)
2024-10-08 09:43:43 +02:00
Dominik Klein
f5b7299c2b Knowledge Base update with very big images is not working correctly (image and following content not saved) 2024-10-08 09:36:33 +02:00
Weblate
95c6b69d64 Maintenance: Update translated files and catalog 2024-10-07 09:54:00 +01:00
Weblate
e7be8d42a0 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Alfredo Sola <alfredo@sola.es>
Co-authored-by: Anael Mobilia <contrib@anael.eu>
Co-authored-by: DG-Caille <didier.grondin@caille.com>
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
Co-authored-by: Ivan Perovic <ip@zammad.com>
Co-authored-by: Leif-Jöran Olsson <info@friprogramvarusyndikatet.se>
Co-authored-by: Lorenzo Milesi <lorenzo@mile.si>
Co-authored-by: Louise Forsen <louise.forsen@entryevent.se>
Co-authored-by: MBekspert <michal.bosak@ekspert.biz>
Co-authored-by: Martin Gruner <mg@zammad.com>
Co-authored-by: Misha <misha@association-enoria.org>
Co-authored-by: Nikita <nyakovlev@iko.tech>
Co-authored-by: Ralf Schmid <rsc@zammad.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: sigurbjartur <github@sigurbjartur.com>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/de/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/es/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/hr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/is/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/it/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ru/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sr_Cyrl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sv/
Translation: Zammad/Zammad (pre-release version, this will become Zammad 6.4 soon)
2024-10-07 10:51:29 +02:00
Martin Gruner
71f992a7fa Maintenance: Repair broken badge in Readme 2024-10-04 14:51:56 +02:00
Martin Gruner
b54fda8ac2 Maintenance: Update security info on supported versions for the upcoming release 2024-10-04 11:04:15 +02:00
6478 changed files with 47578 additions and 58688 deletions

View File

@@ -1,2 +1,2 @@
https://github.com/heroku/heroku-buildpack-nodejs.git#v248
https://github.com/heroku/heroku-buildpack-nodejs.git#v280
https://github.com/pkgr/heroku-buildpack-ruby.git#v267-1

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
import '@testing-library/cypress/add-commands'
import 'cypress-real-events/support'

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
import './prepare.js'

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
// eslint-disable-next-line no-underscore-dangle
window.__ = (str) => str

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
declare global {
// eslint-disable-next-line @typescript-eslint/no-namespace

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
import { merge } from 'lodash-es'
import { initializeAppName } from '#shared/composables/useAppName.ts'
@@ -38,7 +38,9 @@ export const mountComponent: typeof mount = (
options: any,
): Cypress.Chainable => {
const plugins = []
plugins.push(() => { initializeAppName('mobile') })
plugins.push(() => {
initializeAppName('mobile')
})
plugins.push(initializeStore)
plugins.push(initializeGlobalComponentStyles)
plugins.push(initializeGlobalComponents)

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
const config = require('./lib.config.js')

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
module.exports = [
{

View File

@@ -1,7 +1,7 @@
---
to: "../../<%= withTypeFile ? `app/frontend/${h.componentLibrary(libraryName, h)}/components/${h.componentGenericWitPrefix(name, h)}/types.ts` : null %>"
---
// Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
export interface Dummy {
// Add your interface here

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
module.exports = {
generic: {

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
module RuboCop
module Cop

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
module RuboCop
module Cop

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
module RuboCop
module Cop

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
module RuboCop
module Cop

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
module RuboCop
module Cop

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
module RuboCop
module Cop

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
module RuboCop
module Cop

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
module RuboCop
module Cop

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
module RuboCop
module Cop

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
module RuboCop
module Cop

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
module RuboCop
module Cop

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
module RuboCop
module Cop

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
module RuboCop
module Cop

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
module RuboCop
module Cop

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
module RuboCop
module Cop

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
module RuboCop
module Cop

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
module RuboCop
module Cop

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
require 'capybara/rspec/matchers'

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
module RuboCop
module Cop

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
module RuboCop
module Cop

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
require_relative 'cop/zammad/active_record_reorder'
require_relative 'cop/zammad/correct_migration_timestamp'

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env ruby
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
require 'yaml'

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
/**
* @fileoverview Collection of Zammad rules for Eslint.

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
/**
* @fileoverview Enforce presence of Zammad copyright header

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
/**
* @fileoverview Detect unmarked translatable strings

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
/**
* @fileoverview Enforces consistent kebab-case for Symbol descriptors

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
/**
* @fileoverview Enforce "ltr/rtl" rule, if positioning classes are used

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
/**
* @fileoverview Enforce presence of Zammad copyright header

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
/**
* @fileoverview Detect unmarked translatable strings

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
/**
* @fileoverview Enforce kebab-case for Symbol descriptors

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
/**
* @fileoverview Enforce "ltr/rtl" rule, if positioning classes are used

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
// eslint-disable-next-line @typescript-eslint/no-require-imports
const fs = require('fs')

View File

@@ -29,6 +29,7 @@ jobs:
with:
context: .
labels: ${{ steps.meta.outputs.labels }}
pull: true
push: false
tags: ${{ steps.meta.outputs.tags }}
outputs: type=docker,dest=/tmp/zammad-local.tar

View File

@@ -65,6 +65,7 @@ jobs:
with:
context: .
labels: ${{ steps.meta.outputs.labels }}
pull: true
push: true
tags: ${{ steps.meta.outputs.tags }}

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env ruby
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
require File.expand_path('../config/environment', __dir__)
@@ -10,24 +10,45 @@ class CheckPostgresArrayColumns
exit 1
end
puts 'Checking data type of array columns:'
puts 'Checking database array columns:'
check_columns
check_columns_type
check_columns_array
puts 'done.'
end
def self.check_columns
public_links.concat(object_manager_attributes).each do |item|
print " #{item[:table]}.#{item[:column]} ... "
def self.check_columns_type
puts ' (type == :string):'
type = data_type(item[:table], item[:column])
smime_certificates.concat(pgp_keys).concat(public_links).concat(object_manager_attributes).each do |item|
print " #{item[:table]}.#{item[:column]} ... "
if type == 'ARRAY'
type = column(item[:table], item[:column]).type
if type == :string
puts 'OK'
else
puts 'Not OK!'
puts " Expected type ARRAY, but got: #{type}"
puts " Expected type :string, but got: #{type}"
exit 1
end
end
end
def self.check_columns_array
puts ' (array == true):'
smime_certificates.concat(pgp_keys).concat(public_links).concat(object_manager_attributes).each do |item|
print " #{item[:table]}.#{item[:column]} ... "
array = column(item[:table], item[:column]).array
if array
puts 'OK'
else
puts 'Not OK!'
puts " Expected array true, but got: #{array}"
exit 1
end
end
@@ -39,12 +60,20 @@ class CheckPostgresArrayColumns
end
end
def self.smime_certificates
[{ table: SMIMECertificate.table_name, column: 'email_addresses' }]
end
def self.pgp_keys
[{ table: PGPKey.table_name, column: 'email_addresses' }]
end
def self.public_links
[{ table: PublicLink.table_name, column: 'screen' }]
end
def self.data_type(table, column)
ActiveRecord::Base.connection.execute("select data_type from information_schema.columns where table_name = '#{table}' and column_name = '#{column}' limit 1")[0]['data_type']
def self.column(table, column)
ActiveRecord::Base.connection.columns(table.to_sym).find { |c| c.name == column }
end
end

View File

@@ -2,10 +2,8 @@
source_rvm:
- source /etc/profile.d/rvm.sh # ensure RVM is loaded
bundle_install:
- echo -e "\\e[0Ksection_start:`date +%s`:bundle_install[collapsed=true]\\r\\e[0Kbundle install"
- bundle config set --local deployment 'true'
- bundle install -j $(nproc)
- echo -e "\\e[0Ksection_end:`date +%s`:bundle_install\\r\\e[0K"
- bundle install -j $(nproc) > /dev/null
pnpm_init: &pnpm_init
- pnpm config set store-dir ${CI_PROJECT_DIR}/tmp/cache/pnpm-store
pnpm_install: &pnpm_install

View File

@@ -84,7 +84,7 @@
alias: selenium-firefox
redis:
name: $CI_REGISTRY/docker/zammad-redis:stable
name: $CI_REGISTRY/docker/zammad-redis:$REDIS_TAG
alias: redis
memcached:

View File

@@ -17,10 +17,12 @@ variables:
# Settings for elasticsearch, if active
ES_INDEX: 'estest.ci'
ELASTICSEARCH_TAG: '7.16'
ELASTICSEARCH_TAG: 'stable'
# PostgreSQL
# Define image versions. Regular commits test against 'stable' (lowest supported version),
# scheduled pipelines against 'latest' (newest stable release of the services).
POSTGRESQL_TAG: 'stable'
REDIS_TAG: 'stable'
# Compile assets only once.
CI_SKIP_ASSETS_PRECOMPILE: 'true'

View File

@@ -63,9 +63,8 @@
- bundle exec .dev/rubocop/validate_todos.rb
- bundle exec rubocop --parallel
- echo "bundler-audit security check…"
- gem install bundler-audit
- bundle-audit update
- bundle-audit
- gem exec bundle-audit update
- gem exec bundle-audit
- echo "Brakeman security check…"
- bundle exec brakeman -o /dev/stdout -o tmp/brakeman-report.html
- echo "Checking if yard can generate documentation…"

View File

@@ -13,21 +13,15 @@
- bundle exec rspec --tag searchindex --tag ~type:system --profile 10
# Lowest supported version
rspec:es:7.8:
rspec:es:stable:
extends:
- .template_integration_es
variables:
ELASTICSEARCH_TAG: '7.8.1'
ELASTICSEARCH_TAG: 'stable'
# Highest supported version (except for newer releases that are not yet in CI)
rspec:es:7.16:
rspec:es:latest:
extends:
- .template_integration_es
variables:
ELASTICSEARCH_TAG: '7.16'
rspec:es:8.1:
extends:
- .template_integration_es
variables:
ELASTICSEARCH_TAG: '8.1'
ELASTICSEARCH_TAG: 'latest'

View File

@@ -0,0 +1,61 @@
.packager.io:
image: docker
stage: test
interruptible: false
rules:
- if: $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web"
services: []
cache: []
before_script: []
script:
- .gitlab/packager.io/run_scenarios.sh
after_script:
- .gitlab/packager.io/cleanup.sh
packager.io:debian-11:
extends: [.packager.io]
variables:
DISTRIBUTION: debian
DISTRIBUTION_VERSION: '11'
packager.io:debian-12:
extends: [.packager.io]
variables:
DISTRIBUTION: debian
DISTRIBUTION_VERSION: '12'
packager.io:ubuntu-20.04:
extends: [.packager.io]
variables:
DISTRIBUTION: ubuntu
DISTRIBUTION_VERSION: '20.04'
packager.io:ubuntu-22.04:
extends: [.packager.io]
variables:
DISTRIBUTION: ubuntu
DISTRIBUTION_VERSION: '22.04'
packager.io:ubuntu-24.04:
extends: [.packager.io]
variables:
DISTRIBUTION: ubuntu
DISTRIBUTION_VERSION: '24.04'
packager.io:rhel-8:
extends: [.packager.io]
variables:
DISTRIBUTION: rhel
DISTRIBUTION_VERSION: '8'
packager.io:rhel-9:
extends: [.packager.io]
variables:
DISTRIBUTION: rhel
DISTRIBUTION_VERSION: '9'
packager.io:sles-15:
extends: [.packager.io]
variables:
DISTRIBUTION: sles
DISTRIBUTION_VERSION: '15'

View File

@@ -0,0 +1,43 @@
performance:
stage: test
rules:
- if: $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web"
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
changes:
- .gitlab/ci/test/performance.yml
- .gitlab/performance/**/*
# Make sure this gets executed exclusively on a runner.
tags: ['no_concurrency']
services:
- !reference [.services, postgresql]
- !reference [.services, redis]
cache: []
before_script:
# Copy performance checking code to tmp/ so that it survives branch switching
- cp -rv .gitlab/performance tmp/
# First, checkout stable and set it up.
- git fetch --unshallow >/dev/null 2>&1
- git checkout stable-6.0
- !reference [.scripts, source_rvm]
- rvm use 3.1.3
- !reference [.scripts, bundle_install]
- !reference [.scripts, configure_environment]
- !reference [.scripts, zammad_db_init]
- yarn install --silent # Required for assets:precompile test
script:
- bundle exec rails r tmp/performance/fill_db.rb
# Run performance tests for stable.
- bundle exec rails r tmp/performance/run_tests.rb
# Then, switch to the current commit, migrate to it and run a few selected tests.
- git checkout $CI_COMMIT_SHA
- rvm use 3.2.4
- !reference [.scripts, bundle_install]
# Force redis usage, even if it was disabled by the initial configure_environment script of stable.
- export REDIS_URL=redis://redis
- bundle exec rails db:migrate > /dev/null
- rm -rf node_modules && pnpm install > /dev/null # Required for assets:precompile test.
- bundle exec rails assets:clobber && git checkout public/assets # Clear previously generated assets to have a full regeneration.
# Run performance tests for current branch.
- bundle exec rails r tmp/performance/run_tests.rb
after_script: []

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env ruby
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
require 'yaml'
require 'resolv'

15
.gitlab/packager.io/cleanup.sh Executable file
View File

@@ -0,0 +1,15 @@
#!/bin/sh
set -eu
cd "$(dirname $0)"
docker compose down --timeout 0
docker volume prune --all --force
DELETE_IMAGES=$(docker image ls "zammad-packagerio-ci-${CI_JOB_ID}" -q)
if [ -n "$DELETE_IMAGES" ]
then
# shellcheck disable=SC2086
docker image rm $DELETE_IMAGES
fi

View File

@@ -0,0 +1,16 @@
---
name: zammad-packagerio-ci-${CI_JOB_ID}
services:
zammad:
image: zammad-packagerio-ci-${CI_JOB_ID}:${DISTRIBUTION}-${DISTRIBUTION_VERSION}
build:
context: "."
platforms: ["linux/amd64"]
dockerfile: dockerfiles/Dockerfile.${DISTRIBUTION}
args:
DISTRIBUTION: ${DISTRIBUTION}
DISTRIBUTION_VERSION: ${DISTRIBUTION_VERSION}
CI_COMMIT_REF_NAME: ${CI_COMMIT_REF_NAME}
privileged: true
restart: unless-stopped
expose: ["80"]

View File

@@ -0,0 +1,9 @@
ARG DISTRIBUTION_VERSION
FROM docker.io/library/debian:${DISTRIBUTION_VERSION}
ARG DISTRIBUTION
ARG DISTRIBUTION_VERSION
ARG CI_COMMIT_REF_NAME
ADD dockerfiles dockerfiles
ADD scenarios scenarios
RUN bash /dockerfiles/bootstrap.debian.sh
ENTRYPOINT [ "/sbin/init" ]

View File

@@ -0,0 +1,9 @@
ARG DISTRIBUTION_VERSION
FROM docker.io/library/rockylinux:${DISTRIBUTION_VERSION}
ARG DISTRIBUTION
ARG DISTRIBUTION_VERSION
ARG CI_COMMIT_REF_NAME
ADD dockerfiles dockerfiles
ADD scenarios scenarios
RUN bash /dockerfiles/bootstrap.rhel.sh
ENTRYPOINT [ "/sbin/init" ]

View File

@@ -0,0 +1,9 @@
ARG DISTRIBUTION_VERSION
FROM docker.io/opensuse/leap:${DISTRIBUTION_VERSION}
ARG DISTRIBUTION
ARG DISTRIBUTION_VERSION
ARG CI_COMMIT_REF_NAME
ADD dockerfiles dockerfiles
ADD scenarios scenarios
RUN bash /dockerfiles/bootstrap.sles.sh
ENTRYPOINT [ "/sbin/init" ]

View File

@@ -0,0 +1,9 @@
ARG DISTRIBUTION_VERSION
FROM docker.io/library/ubuntu:${DISTRIBUTION_VERSION}
ARG DISTRIBUTION
ARG DISTRIBUTION_VERSION
ARG CI_COMMIT_REF_NAME
ADD dockerfiles dockerfiles
ADD scenarios scenarios
RUN bash /dockerfiles/bootstrap.ubuntu.sh
ENTRYPOINT [ "/sbin/init" ]

View File

@@ -0,0 +1,12 @@
#!/usr/bin/bash
set -eu
export DEBIAN_FRONTEND=noninteractive
cd "$(dirname $0)"
bash ./shared.deb.sh
echo "deb [signed-by=/usr/share/keyrings/zammad-archive-keyring.gpg] https://dl.packager.io/srv/deb/zammad/zammad/${CI_COMMIT_REF_NAME}/debian ${DISTRIBUTION_VERSION} main" > /etc/apt/sources.list.d/zammad.list
apt-get update && apt-get install -y --download-only zammad

View File

@@ -0,0 +1,26 @@
#!/usr/bin/bash
set -eu
dnf update -y
dnf install -y systemd epel-release
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
echo "[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md"| tee /etc/yum.repos.d/elasticsearch-7.x.repo
dnf install -y elasticsearch
rpm --import https://dl.packager.io/srv/zammad/zammad/key
curl -o /etc/yum.repos.d/zammad.repo \
https://dl.packager.io/srv/zammad/zammad/${CI_COMMIT_REF_NAME}/installer/el/${DISTRIBUTION_VERSION}.repo
dnf update -y
dnf install -y --downloadonly zammad

View File

@@ -0,0 +1,26 @@
#!/usr/bin/bash
set -eu
zypper update -y
zypper install -y systemd
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
echo "[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md"| tee /etc/zypp/repos.d/elasticsearch-7.x.repo
zypper install -y elasticsearch
rpm --import https://dl.packager.io/srv/zammad/zammad/key
curl -o /etc/zypp/repos.d/zammad.repo \
https://dl.packager.io/srv/zammad/zammad/${CI_COMMIT_REF_NAME}/installer/sles/${DISTRIBUTION_VERSION}.repo
zypper update -y
zypper install -y --download-only zammad

View File

@@ -0,0 +1,12 @@
#!/usr/bin/bash
set -eu
export DEBIAN_FRONTEND=noninteractive
cd "$(dirname $0)"
bash ./shared.deb.sh
echo "deb [signed-by=/usr/share/keyrings/zammad-archive-keyring.gpg] https://dl.packager.io/srv/deb/zammad/zammad/${CI_COMMIT_REF_NAME}/ubuntu ${DISTRIBUTION_VERSION} main" > /etc/apt/sources.list.d/zammad.list
apt-get update && apt-get install -y --download-only zammad

View File

@@ -0,0 +1,18 @@
#!/usr/bin/bash
set -ex
apt-get update && apt-get dist-upgrade -y
apt-get install -y systemd systemd-sysv
rm -f /usr/sbin/policy-rc.d
apt-get install -y curl gnupg2
echo "deb [signed-by=/etc/apt/trusted.gpg.d/elasticsearch.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main" | \
tee -a /etc/apt/sources.list.d/elastic-7.x.list > /dev/null
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | \
gpg --dearmor | tee /etc/apt/trusted.gpg.d/elasticsearch.gpg> /dev/null
apt-get update
apt-get -y install elasticsearch
curl -1sLf https://dl.packager.io/srv/zammad/zammad/key | \
gpg --dearmor -o /usr/share/keyrings/zammad-archive-keyring.gpg

View File

@@ -0,0 +1,26 @@
#!/bin/sh
set -eu
: "${DISTRIBUTION:=debian}"
: "${DISTRIBUTION_VERSION:=12}"
: "${CI_JOB_ID:=1}"
: "${CI_COMMIT_REF_NAME:=develop}"
export DISTRIBUTION DISTRIBUTION_VERSION CI_JOB_ID CI_COMMIT_REF_NAME
echo "Running tests for ${CI_COMMIT_REF_NAME} on ${DISTRIBUTION}-${DISTRIBUTION_VERSION}…"
cd "$(dirname $0)"
docker compose build
# shellcheck disable=SC2043
for SCENARIO in $(cd scenarios; ls -1)
do
docker compose down --timeout 0
docker compose up -d
docker compose exec zammad bash "/scenarios/${SCENARIO}/${DISTRIBUTION}.sh"
docker compose down --timeout 0
done
./cleanup.sh

View File

@@ -0,0 +1,7 @@
#!/usr/bin/bash
set -eu
cd "$(dirname $0)"
bash ./shared.deb.sh

View File

@@ -0,0 +1,14 @@
#!/usr/bin/bash
set -eu
# Workaround: postgresql fails on rhel-9 when it gets installed together with Zammad.
dnf install -y postgresql-server
dnf install -y zammad
curl --retry 30 --retry-delay 1 --retry-connrefused http://localhost:3000 | grep "Zammad Helpdesk"
dnf reinstall -y zammad
curl --retry 30 --retry-delay 1 --retry-connrefused http://localhost:3000 | grep "Zammad Helpdesk"

View File

@@ -0,0 +1,13 @@
#!/usr/bin/bash
set -eu
export DEBIAN_FRONTEND=noninteractive
apt-get install -y zammad
curl --retry 30 --retry-delay 1 --retry-connrefused http://localhost:3000 | grep "Zammad Helpdesk"
apt-get install -y --reinstall zammad
curl --retry 30 --retry-delay 1 --retry-connrefused http://localhost:3000 | grep "Zammad Helpdesk"

View File

@@ -0,0 +1,11 @@
#!/usr/bin/bash
set -eu
zypper install -y zammad
curl --retry 30 --retry-delay 1 --retry-connrefused http://localhost:3000 | grep "Zammad Helpdesk"
zypper install -y -f zammad
curl --retry 30 --retry-delay 1 --retry-connrefused http://localhost:3000 | grep "Zammad Helpdesk"

View File

@@ -0,0 +1,7 @@
#!/usr/bin/bash
set -eu
cd "$(dirname $0)"
bash ./shared.deb.sh

39
.gitlab/performance/fill_db.rb Executable file
View File

@@ -0,0 +1,39 @@
#!/usr/bin/env ruby
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
require 'rails'
def run
ensure_test_data_present
end
def ensure_test_data_present
puts 'Ensuring test data with 15k tickets is present…'
# Speed up the import
Setting.set('import_mode', true)
suppress_output do
FillDb.load(
agents: 100,
customers: 4000,
groups: 80,
organizations: 400,
overviews: 4,
tickets: 15_000,
nice: 0,
)
end
Setting.set('import_mode', false)
end
def suppress_output
original_stdout = $stdout.clone
$stdout.reopen(File.new('/dev/null', 'w'))
yield
ensure
$stdout.reopen(original_stdout)
end
run

View File

@@ -0,0 +1,79 @@
#!/usr/bin/env ruby
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
require 'rails'
def run
puts "# Zammad Performance Tests\n\n"
run_tests!
end
def run_tests!
puts 'Run test scenarios…'
[].tap do |results|
run_test_scenarios(results:)
if results.any? { |r| r[:failed] }
puts 'Tests failed.'
exit 1
end
puts 'All tests were successful.'
end
end
def run_test_scenarios(results:)
agent = User.with_permissions('ticket.agent').first
expect(title: 'assets:precompile', max_time: 120, max_sql_queries: nil, results:) do
system('RAILS_ENV=production bundle exec rails assets:precompile > /dev/null 2>&1', exception: true)
end
max_index_queries = version_oldstable? ? 70 : 35
expect(title: 'Ticket::Overviews.index', max_time: 1, max_sql_queries: max_index_queries, results:) do
Ticket::Overviews.index(agent)
end
expect(title: 'Ticket::Overviews.all', max_time: 0.05, max_sql_queries: 5, results:) do
Ticket::Overviews.all(current_user: agent)
end
max_overview_list_time = 20
max_overview_list_queries = 25_000
puts "Current ticket count: #{Ticket.count}"
expect(title: 'Sessions::Backend::TicketOverviewList#push', max_time: max_overview_list_time, max_sql_queries: max_overview_list_queries, results:) do
Sessions::Backend::TicketOverviewList.new(agent, {}).push
end
end
def version_oldstable?
Version.get.match?(%r{^6\.0\.})
end
def expect(title:, max_time:, max_sql_queries:, results:, &block)
ActiveRecord::Base.connection.query_cache.clear
Rails.cache.clear
sql_queries = 0
failed = false
callback = ->(_name, _start, _finish, _id, payload) { sql_queries += 1 if !payload[:cached] }
time = Benchmark.measure do
ActiveSupport::Notifications.subscribed(callback, 'sql.active_record', &block)
end
puts " #{title}: #{time.real}s (#{sql_queries} queries)"
if max_time && time.real > max_time
puts " ERROR: took #{time.real}s, rather than expected maximum of #{max_time}s"
failed = true
end
if max_sql_queries && sql_queries > max_sql_queries
puts " ERROR: caused #{sql_queries} SQL queries, rather than expected maximum of #{max_sql_queries}"
failed = true
end
results.push({ title:, max_time:, time: time.real, max_sql_queries:, sql_queries:, failed: })
end
run

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env ruby
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
require 'yaml'
require 'pathname'

View File

@@ -14,6 +14,7 @@ targets:
- imlib2
- shared-mime-info
- redis
- findutils
build_dependencies:
- https://download.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/i/imlib2-1.4.9-8.el8.x86_64.rpm
- https://download.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/i/imlib2-devel-1.4.9-8.el8.x86_64.rpm
@@ -108,10 +109,14 @@ targets:
- libImlib2-1
- imlib2
- shared-mime-info
- redis7
# We need the fuser binary from the psmisc package to detect the running redis systemd service.
# Because on SUSE systems, this service is arbitrarily named (e.g.) redis@foobar.service
# So we cannot hardcode the service name as we do for other supported distros.
- psmisc
- procps
- libopenssl1_1
- which
build_dependencies:
# Add packages required for build that are not in the official SLES repo.
# Direct URLs must be used since we cannot add repos on packager.io

View File

@@ -1,9 +1,226 @@
# Change Log
## [6.4.0](https://github.com/zammad/zammad/tree/6.4.0) (2024-xx-xx)
## [6.4.2](https://github.com/zammad/zammad/tree/6.4.2) (2025-04-02)
[Full Changelog](https://github.com/zammad/zammad/compare/6.4.1...6.4.2)
**Fixed bugs:**
- Payload gets lost when a pre-defined webhook is cloned [5524](https://github.com/zammad/zammad/issues/5524) [[bug](https://github.com/zammad/zammad/labels/bug)] [[prioritised by payment](https://github.com/zammad/zammad/labels/prioritised%20by%20payment)] [[webhooks](https://github.com/zammad/zammad/labels/webhooks)]
- Mobile View: Highlighting/border of activated profile menu is a square instead of a circle [5519](https://github.com/zammad/zammad/issues/5519) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[📱mobile-view📱](https://github.com/zammad/zammad/labels/%F0%9F%93%B1mobile-view%F0%9F%93%B1)]
- Web concurrency setting inconsistently used/reported [5509](https://github.com/zammad/zammad/issues/5509) [[bug](https://github.com/zammad/zammad/labels/bug)] [[docker](https://github.com/zammad/zammad/labels/docker)]
- Drag´n´Drop of one attachment in the KnowledgeBase articles results in multiple copies [5499](https://github.com/zammad/zammad/issues/5499) [[bug](https://github.com/zammad/zammad/labels/bug)] [[prioritised by payment](https://github.com/zammad/zammad/labels/prioritised%20by%20payment)] [[knowledge base](https://github.com/zammad/zammad/labels/knowledge%20base)]
- Group selection not scrollable in bulk action with lot of groups [5246](https://github.com/zammad/zammad/issues/5246) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[bulk](https://github.com/zammad/zammad/labels/bulk)] [[prioritised by payment](https://github.com/zammad/zammad/labels/prioritised%20by%20payment)]
- The ticket zoom overview navigation arrows randomly disappear while switching between tickets [5445](https://github.com/zammad/zammad/issues/5445) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[waiting for feedback](https://github.com/zammad/zammad/labels/waiting%20for%20feedback)] [[overviews](https://github.com/zammad/zammad/labels/overviews)]
- Deadlocks on updating taskbars [5491](https://github.com/zammad/zammad/issues/5491) [[bug](https://github.com/zammad/zammad/labels/bug)] [[ticket](https://github.com/zammad/zammad/labels/ticket)] [[prioritised by payment](https://github.com/zammad/zammad/labels/prioritised%20by%20payment)]
- Organization is removed in the report profile after an reload of the browser tab [5469](https://github.com/zammad/zammad/issues/5469) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[reporting](https://github.com/zammad/zammad/labels/reporting)] [[prioritised by payment](https://github.com/zammad/zammad/labels/prioritised%20by%20payment)]
- Organization is missing when used in expert mode conditions [5483](https://github.com/zammad/zammad/issues/5483) [[bug](https://github.com/zammad/zammad/labels/bug)] [[trigger](https://github.com/zammad/zammad/labels/trigger)]
- CSV export contains overview_sortings which is always empty [5477](https://github.com/zammad/zammad/issues/5477) [[bug](https://github.com/zammad/zammad/labels/bug)] [[user](https://github.com/zammad/zammad/labels/user)] [[export](https://github.com/zammad/zammad/labels/export)]
- Failing import when an existing zendesk custom attribute name is equal an internal Zammad attribute name [5474](https://github.com/zammad/zammad/issues/5474) [[bug](https://github.com/zammad/zammad/labels/bug)] [[import](https://github.com/zammad/zammad/labels/import)]
- Creating a Ticket Object called 'article' will lead to all kinds of errors [5461](https://github.com/zammad/zammad/issues/5461) [[bug](https://github.com/zammad/zammad/labels/bug)] [[ticket](https://github.com/zammad/zammad/labels/ticket)] [[object manager attribute](https://github.com/zammad/zammad/labels/object%20manager%20attribute)]
- delete reporting profile with id=1 [5463](https://github.com/zammad/zammad/issues/5463) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[reporting](https://github.com/zammad/zammad/labels/reporting)]
- Reporting Profile - query does not support [owner_id] [5462](https://github.com/zammad/zammad/issues/5462) [[bug](https://github.com/zammad/zammad/labels/bug)] [[reporting](https://github.com/zammad/zammad/labels/reporting)] [[prioritised by payment](https://github.com/zammad/zammad/labels/prioritised%20by%20payment)]
- Subscribe or unsubscribe when used in a trigger is not shown in the ticket history correctly [5444](https://github.com/zammad/zammad/issues/5444) [[bug](https://github.com/zammad/zammad/labels/bug)] [[trigger](https://github.com/zammad/zammad/labels/trigger)] [[ticket](https://github.com/zammad/zammad/labels/ticket)] [[history](https://github.com/zammad/zammad/labels/history)]
- Occasionally puma hangs up after updating to Zammad 6.4 [5438](https://github.com/zammad/zammad/issues/5438) [[bug](https://github.com/zammad/zammad/labels/bug)] [[blocker](https://github.com/zammad/zammad/labels/blocker)] [[prioritised by payment](https://github.com/zammad/zammad/labels/prioritised%20by%20payment)]
- Uploading an avatar is not possible if it was deleted in between [5456](https://github.com/zammad/zammad/issues/5456) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[prioritised by payment](https://github.com/zammad/zammad/labels/prioritised%20by%20payment)] [[frontend](https://github.com/zammad/zammad/labels/frontend)] [[account: profile](https://github.com/zammad/zammad/labels/account%3A%20profile)]
- The "Subscribe" attribute in triggers is not working as intended. [5441](https://github.com/zammad/zammad/issues/5441) [[bug](https://github.com/zammad/zammad/labels/bug)] [[trigger](https://github.com/zammad/zammad/labels/trigger)] [[prioritised by payment](https://github.com/zammad/zammad/labels/prioritised%20by%20payment)]
- Mobile Ticket Information View displaying internalId instead of ticket number [5455](https://github.com/zammad/zammad/issues/5455) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[📱mobile-view📱](https://github.com/zammad/zammad/labels/%F0%9F%93%B1mobile-view%F0%9F%93%B1)]
- Most recent data privacy tasks are not shown [5437](https://github.com/zammad/zammad/issues/5437) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[data privacy](https://github.com/zammad/zammad/labels/data%20privacy)]
- Adding NGINX_MAX_UPLOAD_SIZE to docker-entrypoint [5443](https://github.com/zammad/zammad/pull/5443)
- Translation - Admin / "System Report" - missing translation and bad renderer [5442](https://github.com/zammad/zammad/issues/5442) [[bug](https://github.com/zammad/zammad/labels/bug)] [[translation](https://github.com/zammad/zammad/labels/translation)]
- Unsupported message type received by WhatsApp Business API is blocking the whole channel [5439](https://github.com/zammad/zammad/issues/5439) [[bug](https://github.com/zammad/zammad/labels/bug)] [[channel](https://github.com/zammad/zammad/labels/channel)] [[whatsapp](https://github.com/zammad/zammad/labels/whatsapp)]
- Erroneous error message during password reset [4989](https://github.com/zammad/zammad/issues/4989) [[bug](https://github.com/zammad/zammad/labels/bug)] [[authentication](https://github.com/zammad/zammad/labels/authentication)]
- Occasionally scheduler fails to load all needed code for unknown reasons [5420](https://github.com/zammad/zammad/issues/5420) [[bug](https://github.com/zammad/zammad/labels/bug)] [[prioritised by payment](https://github.com/zammad/zammad/labels/prioritised%20by%20payment)] [[scheduler](https://github.com/zammad/zammad/labels/scheduler)]
- Notification loops because mail bouncing timeouts do not apply to users in system notifications [5428](https://github.com/zammad/zammad/issues/5428) [[bug](https://github.com/zammad/zammad/labels/bug)] [[notification](https://github.com/zammad/zammad/labels/notification)] [[prioritised by payment](https://github.com/zammad/zammad/labels/prioritised%20by%20payment)]
## [6.4.1](https://github.com/zammad/zammad/tree/6.4.1) (2024-12-05)
[Full Changelog](https://github.com/zammad/zammad/compare/6.4.0...6.4.1)
**Fixed bugs:**
- Selection of linked answers in the Knowledge Base drop-down menu is lost due to a focus trap [5411](https://github.com/zammad/zammad/issues/5411) [[bug](https://github.com/zammad/zammad/labels/bug)] [[knowledge base](https://github.com/zammad/zammad/labels/knowledge%20base)]
- Package precompile sometimes assumes old code while precompiling [5418](https://github.com/zammad/zammad/issues/5418) [[bug](https://github.com/zammad/zammad/labels/bug)] [[packages](https://github.com/zammad/zammad/labels/packages)]
- PGP: Decryption fails if Zammad's address is in BCC [5432](https://github.com/zammad/zammad/issues/5432) [[bug](https://github.com/zammad/zammad/labels/bug)] [[mail processing](https://github.com/zammad/zammad/labels/mail%20processing)] [[pgp](https://github.com/zammad/zammad/labels/pgp)]
- External data source object cannot be "set" in Postmaster filter [5425](https://github.com/zammad/zammad/issues/5425) [[bug](https://github.com/zammad/zammad/labels/bug)] [[object manager attribute](https://github.com/zammad/zammad/labels/object%20manager%20attribute)] [[postmaster filter](https://github.com/zammad/zammad/labels/postmaster%20filter)]
- Invalid URL translation in text mail footer if URL contains & / &amp; [5424](https://github.com/zammad/zammad/issues/5424) [[bug](https://github.com/zammad/zammad/labels/bug)] [[variable processing](https://github.com/zammad/zammad/labels/variable%20processing)]
- Migration is not working: 20241113154014 Issue5409WrongDbColumnArrayType: undefined method `type' for nil:NilClass [5430](https://github.com/zammad/zammad/issues/5430) [[bug](https://github.com/zammad/zammad/labels/bug)] [[object manager attribute](https://github.com/zammad/zammad/labels/object%20manager%20attribute)] [[regression](https://github.com/zammad/zammad/labels/regression)] [[migration / update](https://github.com/zammad/zammad/labels/migration%20%2F%20update)]
- Occasionally scheduler fails to load all needed code for unknown reasons [5420](https://github.com/zammad/zammad/issues/5420) [[bug](https://github.com/zammad/zammad/labels/bug)] [[scheduler](https://github.com/zammad/zammad/labels/scheduler)]
- Moving/Verifying stored files crashes if any file is missing [5363](https://github.com/zammad/zammad/issues/5363) [[bug](https://github.com/zammad/zammad/labels/bug)]
- Wrong type of table column after migrating from MariaDB to PostgreSQL [5409](https://github.com/zammad/zammad/issues/5409) [[bug](https://github.com/zammad/zammad/labels/bug)] [[migration / update](https://github.com/zammad/zammad/labels/migration%20%2F%20update)]
- Pre-defined Microsoft Teams webhook fails because of broken notification messaging templates for some languages [5410](https://github.com/zammad/zammad/issues/5410) [[bug](https://github.com/zammad/zammad/labels/bug)] [[notification](https://github.com/zammad/zammad/labels/notification)] [[webhooks](https://github.com/zammad/zammad/labels/webhooks)] [[localization](https://github.com/zammad/zammad/labels/localization)]
- Replacing an image in the knowledge base is broken [5417](https://github.com/zammad/zammad/issues/5417) [[bug](https://github.com/zammad/zammad/labels/bug)] [[knowledge base](https://github.com/zammad/zammad/labels/knowledge%20base)]
- Data privacy task dialog confirmation field looses focus [5398](https://github.com/zammad/zammad/issues/5398) [[bug](https://github.com/zammad/zammad/labels/bug)] [[data privacy](https://github.com/zammad/zammad/labels/data%20privacy)]
- Storage folder does not exist in Zammad docker container. [5412](https://github.com/zammad/zammad/issues/5412) [[bug](https://github.com/zammad/zammad/labels/bug)]
- Type Error in report page [5402](https://github.com/zammad/zammad/issues/5402) [[bug](https://github.com/zammad/zammad/labels/bug)]
- Checklist feature: inaccessible tickets which are referenced in a checklist are always counted as checked/closed [5405](https://github.com/zammad/zammad/issues/5405) [[bug](https://github.com/zammad/zammad/labels/bug)] [[ticket: checklist](https://github.com/zammad/zammad/labels/ticket%3A%20checklist)]
- Missing history entries for time-event based triggers [5407](https://github.com/zammad/zammad/issues/5407) [[bug](https://github.com/zammad/zammad/labels/bug)] [[trigger](https://github.com/zammad/zammad/labels/trigger)] [[history](https://github.com/zammad/zammad/labels/history)]
- zammad:package:bundle_install idea does not work out [5399](https://github.com/zammad/zammad/issues/5399) [[bug](https://github.com/zammad/zammad/labels/bug)] [[packages](https://github.com/zammad/zammad/labels/packages)]
- GraphQL operations made over ActionCable may mix up current user [5401](https://github.com/zammad/zammad/issues/5401) [[bug](https://github.com/zammad/zammad/labels/bug)]
- Checklist item can't be edited when checklist created empty [5396](https://github.com/zammad/zammad/issues/5396) [[bug](https://github.com/zammad/zammad/labels/bug)] [[ticket](https://github.com/zammad/zammad/labels/ticket)] [[ticket: checklist](https://github.com/zammad/zammad/labels/ticket%3A%20checklist)]
- Groups selection: Display bug when selecting subgroups [5393](https://github.com/zammad/zammad/issues/5393) [[bug](https://github.com/zammad/zammad/labels/bug)] [[ticket](https://github.com/zammad/zammad/labels/ticket)]
- Makros are not translated in drag & drop feature [5391](https://github.com/zammad/zammad/issues/5391) [[bug](https://github.com/zammad/zammad/labels/bug)] [[localization](https://github.com/zammad/zammad/labels/localization)]
## [6.4.0](https://github.com/zammad/zammad/tree/6.4.0) (2024-11-06)
[Full Changelog](https://github.com/zammad/zammad/compare/6.3.0...6.4.0)
**Implemented enhancements:**
- Searching for a ticket with a keyword from an checklist item is not working [5364](https://github.com/zammad/zammad/issues/5364) [[enhancement](https://github.com/zammad/zammad/labels/enhancement)] [[ticket: checklist](https://github.com/zammad/zammad/labels/ticket%3A%20checklist)]
- Improve checklist visibility in ticket context [5336](https://github.com/zammad/zammad/issues/5336) [[enhancement](https://github.com/zammad/zammad/labels/enhancement)] [[ticket: checklist](https://github.com/zammad/zammad/labels/ticket%3A%20checklist)]
- WhatsApp Feedback - 24h Window Reminder Message / Emoji-Reactions [5224](https://github.com/zammad/zammad/issues/5224) [[enhancement](https://github.com/zammad/zammad/labels/enhancement)] [[admin area](https://github.com/zammad/zammad/labels/admin%20area)] [[ticket](https://github.com/zammad/zammad/labels/ticket)] [[whatsapp](https://github.com/zammad/zammad/labels/whatsapp)]
- Entry in ticket history should include the checklist item name if someone checks off an item [5320](https://github.com/zammad/zammad/issues/5320) [[enhancement](https://github.com/zammad/zammad/labels/enhancement)] [[history](https://github.com/zammad/zammad/labels/history)] [[ticket: checklist](https://github.com/zammad/zammad/labels/ticket%3A%20checklist)]
- Prevent user creation via Third Party Authentication [4945](https://github.com/zammad/zammad/issues/4945) [[enhancement](https://github.com/zammad/zammad/labels/enhancement)] [[authentication](https://github.com/zammad/zammad/labels/authentication)]
- Enhance usage of Zammad shortcuts (cross browser and cross platform) [4870](https://github.com/zammad/zammad/issues/4870) [[enhancement](https://github.com/zammad/zammad/labels/enhancement)] [[productivity](https://github.com/zammad/zammad/labels/productivity)]
- Checklists / To-do lists [4886](https://github.com/zammad/zammad/issues/4886) [[enhancement](https://github.com/zammad/zammad/labels/enhancement)] [[ticket](https://github.com/zammad/zammad/labels/ticket)] [[productivity](https://github.com/zammad/zammad/labels/productivity)] [[A:Miro](https://github.com/zammad/zammad/labels/A%3AMiro)] [[VoteHos](https://github.com/zammad/zammad/labels/VoteHos)]
- Pre-defined webhook for Microsoft Teams needs to be updated [5267](https://github.com/zammad/zammad/issues/5267) [[enhancement](https://github.com/zammad/zammad/labels/enhancement)] [[webhooks](https://github.com/zammad/zammad/labels/webhooks)]
- Core Workflow: Add a new condition operator to catch modified fields in the UI for existing tickets [5147](https://github.com/zammad/zammad/issues/5147) [[enhancement](https://github.com/zammad/zammad/labels/enhancement)] [[core workflows](https://github.com/zammad/zammad/labels/core%20workflows)]
- Subscribe/Unsubscribe from Multiple Tickets at once [5135](https://github.com/zammad/zammad/issues/5135) [[enhancement](https://github.com/zammad/zammad/labels/enhancement)] [[ticket](https://github.com/zammad/zammad/labels/ticket)] [[bulk](https://github.com/zammad/zammad/labels/bulk)]
- Laggs after ticket overview selection [5214](https://github.com/zammad/zammad/issues/5214) [[enhancement](https://github.com/zammad/zammad/labels/enhancement)] [[overviews](https://github.com/zammad/zammad/labels/overviews)] [[performance](https://github.com/zammad/zammad/labels/performance)] [[core workflows](https://github.com/zammad/zammad/labels/core%20workflows)]
- User login flow is interrupted when two-factor authentication method security keys is used [5156](https://github.com/zammad/zammad/issues/5156) [[enhancement](https://github.com/zammad/zammad/labels/enhancement)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[authentication](https://github.com/zammad/zammad/labels/authentication)]
- Improve 24 hours WhatsApp banner to update it's remaining time [5122](https://github.com/zammad/zammad/issues/5122) [[enhancement](https://github.com/zammad/zammad/labels/enhancement)] [[channel](https://github.com/zammad/zammad/labels/channel)] [[ticket](https://github.com/zammad/zammad/labels/ticket)]
- Localization of triggers and schedulers [5089](https://github.com/zammad/zammad/issues/5089) [[enhancement](https://github.com/zammad/zammad/labels/enhancement)] [[trigger](https://github.com/zammad/zammad/labels/trigger)] [[localization](https://github.com/zammad/zammad/labels/localization)] [[scheduler](https://github.com/zammad/zammad/labels/scheduler)]
- Zammad should not write to the var/ folder [5022](https://github.com/zammad/zammad/issues/5022) [[enhancement](https://github.com/zammad/zammad/labels/enhancement)] [[mail processing](https://github.com/zammad/zammad/labels/mail%20processing)]
- Translation Management Improvements [4875](https://github.com/zammad/zammad/issues/4875) [[enhancement](https://github.com/zammad/zammad/labels/enhancement)] [[admin area](https://github.com/zammad/zammad/labels/admin%20area)] [[localization](https://github.com/zammad/zammad/labels/localization)]
**Fixed bugs:**
- When I try to edit the Checklist fast, the checklist is lagging and then adding items [5367](https://github.com/zammad/zammad/issues/5367) [[bug](https://github.com/zammad/zammad/labels/bug)] [[ticket: checklist](https://github.com/zammad/zammad/labels/ticket%3A%20checklist)]
- Taskbar uniqueness check leads to problems when old unexpected taskbar duplicates already exists [5390](https://github.com/zammad/zammad/issues/5390) [[bug](https://github.com/zammad/zammad/labels/bug)] [[ticket](https://github.com/zammad/zammad/labels/ticket)]
- Missing attachment alert is shown if 'attachment' is written in the signature [5385](https://github.com/zammad/zammad/issues/5385) [[bug](https://github.com/zammad/zammad/labels/bug)] [[ticket: create](https://github.com/zammad/zammad/labels/ticket%3A%20create)] [[ticket: actions](https://github.com/zammad/zammad/labels/ticket%3A%20actions)]
- Typo in database migration of Thirdparty-Login 'No user creation on logon' [5381](https://github.com/zammad/zammad/issues/5381) [[bug](https://github.com/zammad/zammad/labels/bug)] [[translation](https://github.com/zammad/zammad/labels/translation)]
- Kayako import ignores closed cases that are older than 30 days [5376](https://github.com/zammad/zammad/issues/5376) [[bug](https://github.com/zammad/zammad/labels/bug)] [[import](https://github.com/zammad/zammad/labels/import)]
- Kayako import fails when post includes json-files as attachment [5375](https://github.com/zammad/zammad/issues/5375) [[bug](https://github.com/zammad/zammad/labels/bug)] [[import](https://github.com/zammad/zammad/labels/import)]
- Fetching mails with protonmail-bridge is not possible due to closed stream error [5361](https://github.com/zammad/zammad/issues/5361) [[bug](https://github.com/zammad/zammad/labels/bug)] [[channel](https://github.com/zammad/zammad/labels/channel)]
- Icons are not up to date [5310](https://github.com/zammad/zammad/issues/5310) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[frontend](https://github.com/zammad/zammad/labels/frontend)]
- Fix behaviour of array values in CSV export/import [5362](https://github.com/zammad/zammad/issues/5362) [[bug](https://github.com/zammad/zammad/labels/bug)] [[import](https://github.com/zammad/zammad/labels/import)] [[admin area](https://github.com/zammad/zammad/labels/admin%20area)]
- Ticket creation with Send Email turns into Net::SMTPSyntaxError if customer has no email address [5308](https://github.com/zammad/zammad/issues/5308) [[bug](https://github.com/zammad/zammad/labels/bug)] [[channel](https://github.com/zammad/zammad/labels/channel)] [[ticket: create](https://github.com/zammad/zammad/labels/ticket%3A%20create)]
- Apollo client returns an error about exceeding max complexity of the query [5353](https://github.com/zammad/zammad/issues/5353) [[bug](https://github.com/zammad/zammad/labels/bug)] [[📱mobile-view📱](https://github.com/zammad/zammad/labels/%F0%9F%93%B1mobile-view%F0%9F%93%B1)] [[graphql](https://github.com/zammad/zammad/labels/graphql)]
- Data types are incorrect for Excel-exports [5358](https://github.com/zammad/zammad/issues/5358) [[bug](https://github.com/zammad/zammad/labels/bug)] [[export](https://github.com/zammad/zammad/labels/export)] [[excel](https://github.com/zammad/zammad/labels/excel)]
- The save button is visible in the mobile ticket detail view for an not dirty form [5356](https://github.com/zammad/zammad/issues/5356) [[bug](https://github.com/zammad/zammad/labels/bug)] [[ticket](https://github.com/zammad/zammad/labels/ticket)] [[📱mobile-view📱](https://github.com/zammad/zammad/labels/%F0%9F%93%B1mobile-view%F0%9F%93%B1)] [[form](https://github.com/zammad/zammad/labels/form)]
- S/MIME verification does not work when the mail does not contain the chain of certificates [5357](https://github.com/zammad/zammad/issues/5357) [[bug](https://github.com/zammad/zammad/labels/bug)] [[smime](https://github.com/zammad/zammad/labels/smime)]
- Cannot create ticket if ticket attribute called "scope" is used [5221](https://github.com/zammad/zammad/issues/5221) [[bug](https://github.com/zammad/zammad/labels/bug)] [[object manager attribute](https://github.com/zammad/zammad/labels/object%20manager%20attribute)]
- Tags are not visible in the admin interface under Admin > Manage > Tags [5206](https://github.com/zammad/zammad/issues/5206) [[bug](https://github.com/zammad/zammad/labels/bug)] [[admin area](https://github.com/zammad/zammad/labels/admin%20area)]
- Admin -> Reports - Translation in French - bad escaping of quote characters [5348](https://github.com/zammad/zammad/issues/5348) [[bug](https://github.com/zammad/zammad/labels/bug)] [[translation](https://github.com/zammad/zammad/labels/translation)] [[localization](https://github.com/zammad/zammad/labels/localization)]
- WhatsApp Business channel is not flagged with error state in case of permanent errors [5352](https://github.com/zammad/zammad/issues/5352) [[bug](https://github.com/zammad/zammad/labels/bug)] [[channel](https://github.com/zammad/zammad/labels/channel)] [[whatsapp](https://github.com/zammad/zammad/labels/whatsapp)]
- Object custom attributes - Bad render on admin [5204](https://github.com/zammad/zammad/issues/5204) [[bug](https://github.com/zammad/zammad/labels/bug)] [[object manager attribute](https://github.com/zammad/zammad/labels/object%20manager%20attribute)] [[form](https://github.com/zammad/zammad/labels/form)]
- Display Issue - empty article and missing picture when sending multiple pictures over WhatsApp to Zammad [5163](https://github.com/zammad/zammad/issues/5163) [[bug](https://github.com/zammad/zammad/labels/bug)] [[channel](https://github.com/zammad/zammad/labels/channel)] [[ticket](https://github.com/zammad/zammad/labels/ticket)] [[whatsapp](https://github.com/zammad/zammad/labels/whatsapp)]
- Duplicate articles created when sending multiple pictures over WhatsApp [5164](https://github.com/zammad/zammad/issues/5164) [[bug](https://github.com/zammad/zammad/labels/bug)] [[channel](https://github.com/zammad/zammad/labels/channel)] [[ticket](https://github.com/zammad/zammad/labels/ticket)] [[whatsapp](https://github.com/zammad/zammad/labels/whatsapp)]
- Updated by information gets overwritten by handling of 'Sent' event in a WhatsApp Business ticket [5187](https://github.com/zammad/zammad/issues/5187) [[bug](https://github.com/zammad/zammad/labels/bug)] [[channel](https://github.com/zammad/zammad/labels/channel)] [[ticket](https://github.com/zammad/zammad/labels/ticket)] [[ticket: actions](https://github.com/zammad/zammad/labels/ticket%3A%20actions)] [[whatsapp](https://github.com/zammad/zammad/labels/whatsapp)]
- Triggers and schedulers continue to send mails, even if an inactive mailbox is used for this purpose [5201](https://github.com/zammad/zammad/issues/5201) [[bug](https://github.com/zammad/zammad/labels/bug)] [[trigger](https://github.com/zammad/zammad/labels/trigger)] [[scheduler](https://github.com/zammad/zammad/labels/scheduler)]
- "Show Search Details" is not translated on language change [5350](https://github.com/zammad/zammad/issues/5350) [[bug](https://github.com/zammad/zammad/labels/bug)]
- Saved organization selection in ticket create screen is not restored properly [5347](https://github.com/zammad/zammad/issues/5347) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[organization](https://github.com/zammad/zammad/labels/organization)] [[ticket: create](https://github.com/zammad/zammad/labels/ticket%3A%20create)]
- Marking text is not possible anymore with shift+left [5337](https://github.com/zammad/zammad/issues/5337) [[bug](https://github.com/zammad/zammad/labels/bug)]
- Admin + Profile - Translation in French - bad escaping of quote characters [5346](https://github.com/zammad/zammad/issues/5346) [[bug](https://github.com/zammad/zammad/labels/bug)] [[localization](https://github.com/zammad/zammad/labels/localization)]
- Changing roles with big group mapping takes very long even if there are no changes [5343](https://github.com/zammad/zammad/issues/5343) [[bug](https://github.com/zammad/zammad/labels/bug)] [[admin area](https://github.com/zammad/zammad/labels/admin%20area)] [[performance](https://github.com/zammad/zammad/labels/performance)]
- Wrong encoding for ticket state name in ticket overview [5342](https://github.com/zammad/zammad/issues/5342) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)]
- Password validation errors containing %s are not interpolated [5327](https://github.com/zammad/zammad/issues/5327) [[bug](https://github.com/zammad/zammad/labels/bug)] [[localization](https://github.com/zammad/zammad/labels/localization)]
- Inactive customers continue to receive trigger mails when agents update the ticket [4665](https://github.com/zammad/zammad/issues/4665) [[bug](https://github.com/zammad/zammad/labels/bug)] [[trigger](https://github.com/zammad/zammad/labels/trigger)] [[ticket](https://github.com/zammad/zammad/labels/ticket)]
- Impossible to remove/change user organization, without clicking in the field first [5339](https://github.com/zammad/zammad/issues/5339) [[bug](https://github.com/zammad/zammad/labels/bug)]
- Several admin permissions cannot be assigned or do not work properly [5328](https://github.com/zammad/zammad/issues/5328) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[admin area](https://github.com/zammad/zammad/labels/admin%20area)]
- Customer is member of Organization and Secondary Organization, tabbing through fields gives error Organization is required [5335](https://github.com/zammad/zammad/issues/5335) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)]
- ObjectAttribute of type Date is displayed one day off when client computer's timezone changes [4998](https://github.com/zammad/zammad/issues/4998) [[bug](https://github.com/zammad/zammad/labels/bug)] [[frontend](https://github.com/zammad/zammad/labels/frontend)] [[object manager attribute](https://github.com/zammad/zammad/labels/object%20manager%20attribute)] [[localization](https://github.com/zammad/zammad/labels/localization)]
- Time Accounting: Repeatedly pressing Enter duplicates the article [5326](https://github.com/zammad/zammad/issues/5326) [[bug](https://github.com/zammad/zammad/labels/bug)] [[time accounting](https://github.com/zammad/zammad/labels/time%20accounting)]
- MS365 failing to send articles when mail headers too long [5334](https://github.com/zammad/zammad/issues/5334) [[bug](https://github.com/zammad/zammad/labels/bug)] [[mail processing](https://github.com/zammad/zammad/labels/mail%20processing)]
- Values can be changed via keyboard tabbing when the field is read-only [5324](https://github.com/zammad/zammad/issues/5324) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)]
- Import as / email archive import no longer triggered [4010](https://github.com/zammad/zammad/issues/4010) [[bug](https://github.com/zammad/zammad/labels/bug)] [[channel](https://github.com/zammad/zammad/labels/channel)] [[mail processing](https://github.com/zammad/zammad/labels/mail%20processing)]
- packager post install script enforce_redis() regex check fails on valid redis urls [5331](https://github.com/zammad/zammad/issues/5331) [[bug](https://github.com/zammad/zammad/labels/bug)] [[install](https://github.com/zammad/zammad/labels/install)]
- Conflict with the extended follow-up detection - which cannot be deactivated [5286](https://github.com/zammad/zammad/issues/5286) [[bug](https://github.com/zammad/zammad/labels/bug)] [[mail processing](https://github.com/zammad/zammad/labels/mail%20processing)]
- Content of checklist items breaks strangely [5329](https://github.com/zammad/zammad/issues/5329) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[ticket: checklist](https://github.com/zammad/zammad/labels/ticket%3A%20checklist)]
- Checklist badge counter does not update when linked tickets change state. [5319](https://github.com/zammad/zammad/issues/5319) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[ticket](https://github.com/zammad/zammad/labels/ticket)]
- Checklist: circle is not aligned correctly on long ticket titles [5321](https://github.com/zammad/zammad/issues/5321) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[ticket: checklist](https://github.com/zammad/zammad/labels/ticket%3A%20checklist)]
- Scrollbars are rendered always in the light mode [5322](https://github.com/zammad/zammad/issues/5322) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[dark mode](https://github.com/zammad/zammad/labels/dark%20mode)]
- Zammad not handling X-Forward-For that is a list [5317](https://github.com/zammad/zammad/issues/5317)
- Several problems with postinstall script's function `enforce_redis ()` [5269](https://github.com/zammad/zammad/issues/5269) [[bug](https://github.com/zammad/zammad/labels/bug)] [[install](https://github.com/zammad/zammad/labels/install)]
- Unprocessible mail output for mails with missing from should have a specific output [4826](https://github.com/zammad/zammad/issues/4826) [[bug](https://github.com/zammad/zammad/labels/bug)] [[mail processing](https://github.com/zammad/zammad/labels/mail%20processing)]
- Make errors on mail sending failures more readable [5261](https://github.com/zammad/zammad/issues/5261) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[frontend](https://github.com/zammad/zammad/labels/frontend)]
- Read only Ticket attribute can not be copied properly [5172](https://github.com/zammad/zammad/issues/5172) [[bug](https://github.com/zammad/zammad/labels/bug)]
- Created trigger can not be edited [5298](https://github.com/zammad/zammad/issues/5298) [[bug](https://github.com/zammad/zammad/labels/bug)] [[trigger](https://github.com/zammad/zammad/labels/trigger)]
- New keyboard shortcut "t" superseds 'new tab' in some browsers [5312](https://github.com/zammad/zammad/issues/5312) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)]
- "Same Subject & References" follow-up detection only works with "RE: some subject" but not with "FWD: some subject" [5287](https://github.com/zammad/zammad/issues/5287) [[bug](https://github.com/zammad/zammad/labels/bug)]
- Avatar is not clickable on tablet devices or devices in tablet modus [4745](https://github.com/zammad/zammad/issues/4745) [[bug](https://github.com/zammad/zammad/labels/bug)] [[mobile-native](https://github.com/zammad/zammad/labels/mobile-native)] [[frontend](https://github.com/zammad/zammad/labels/frontend)]
- Translation - Not translated string [5202](https://github.com/zammad/zammad/issues/5202) [[bug](https://github.com/zammad/zammad/labels/bug)] [[knowledge base](https://github.com/zammad/zammad/labels/knowledge%20base)] [[good first issue](https://github.com/zammad/zammad/labels/good%20first%20issue)] [[localization](https://github.com/zammad/zammad/labels/localization)]
- "Option" button is labeled "Alt" in shortcut overlay with MacOS [4324](https://github.com/zammad/zammad/issues/4324) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[good first issue](https://github.com/zammad/zammad/labels/good%20first%20issue)]
- Microsoft 365 & Google channel ignore Proxy configuration for token refresh / verify [3839](https://github.com/zammad/zammad/issues/3839) [[bug](https://github.com/zammad/zammad/labels/bug)] [[channel](https://github.com/zammad/zammad/labels/channel)]
- Unprocessable mails that also match a `PostmasterFilter` with the action `{"x-zammad-ignore"=>{"value"=>true}` don't get deleted upon reprocessing [5049](https://github.com/zammad/zammad/issues/5049) [[bug](https://github.com/zammad/zammad/labels/bug)] [[mail processing](https://github.com/zammad/zammad/labels/mail%20processing)] [[postmaster filter](https://github.com/zammad/zammad/labels/postmaster%20filter)]
- Gitlab/Github UI loses links when they are renamed [5015](https://github.com/zammad/zammad/issues/5015) [[bug](https://github.com/zammad/zammad/labels/bug)] [[integration](https://github.com/zammad/zammad/labels/integration)]
- Translators can destroy the whole UI by wrong format translations [5223](https://github.com/zammad/zammad/issues/5223) [[bug](https://github.com/zammad/zammad/labels/bug)] [[localization](https://github.com/zammad/zammad/labels/localization)]
- Popup message is not translated [5299](https://github.com/zammad/zammad/issues/5299) [[bug](https://github.com/zammad/zammad/labels/bug)] [[localization](https://github.com/zammad/zammad/labels/localization)]
- Group hierarchy is not shown while creating a new ticket as a customer [5301](https://github.com/zammad/zammad/issues/5301) [[bug](https://github.com/zammad/zammad/labels/bug)] [[ticket: create](https://github.com/zammad/zammad/labels/ticket%3A%20create)]
- Download from integrated reporting: Missing criteria: last_close_at [5158](https://github.com/zammad/zammad/issues/5158) [[bug](https://github.com/zammad/zammad/labels/bug)] [[reporting](https://github.com/zammad/zammad/labels/reporting)]
- Placetel Integration does not end the call [5233](https://github.com/zammad/zammad/issues/5233) [[bug](https://github.com/zammad/zammad/labels/bug)]
- UserAgent lib does not return a `response.body` for `Net::HTTPClientError` and `Net::HTTPNotFound`. [5304](https://github.com/zammad/zammad/issues/5304) [[bug](https://github.com/zammad/zammad/labels/bug)] [[core](https://github.com/zammad/zammad/labels/core)]
- Empty SMS are not allowed [5289](https://github.com/zammad/zammad/issues/5289) [[bug](https://github.com/zammad/zammad/labels/bug)] [[channel](https://github.com/zammad/zammad/labels/channel)]
- Bad data serialization for JSON database columns [5249](https://github.com/zammad/zammad/issues/5249) [[bug](https://github.com/zammad/zammad/labels/bug)] [[smime](https://github.com/zammad/zammad/labels/smime)]
- LDAP role assignment fails when more than 1500 users are part of an active directory group [3634](https://github.com/zammad/zammad/issues/3634) [[bug](https://github.com/zammad/zammad/labels/bug)] [[LDAP](https://github.com/zammad/zammad/labels/LDAP)]
- It takes two clicks to show all groups when creating a new ticket [5280](https://github.com/zammad/zammad/issues/5280) [[bug](https://github.com/zammad/zammad/labels/bug)] [[permission](https://github.com/zammad/zammad/labels/permission)] [[ticket: create](https://github.com/zammad/zammad/labels/ticket%3A%20create)]
- Untranslated error message in /object_manager [5276](https://github.com/zammad/zammad/issues/5276) [[bug](https://github.com/zammad/zammad/labels/bug)] [[translation](https://github.com/zammad/zammad/labels/translation)] [[localization](https://github.com/zammad/zammad/labels/localization)]
- Admin password authentication is not possible when 2FA is enabled [5283](https://github.com/zammad/zammad/issues/5283) [[bug](https://github.com/zammad/zammad/labels/bug)] [[authentication](https://github.com/zammad/zammad/labels/authentication)]
- Knowledge base search result order is wrong with ES backend [5099](https://github.com/zammad/zammad/issues/5099) [[bug](https://github.com/zammad/zammad/labels/bug)] [[knowledge base](https://github.com/zammad/zammad/labels/knowledge%20base)] [[VoteSup](https://github.com/zammad/zammad/labels/VoteSup)]
- heavy group usage freezes app on user update with many ticket creates open [5282](https://github.com/zammad/zammad/issues/5282) [[bug](https://github.com/zammad/zammad/labels/bug)] [[performance](https://github.com/zammad/zammad/labels/performance)] [[ticket: create](https://github.com/zammad/zammad/labels/ticket%3A%20create)]
- Public KB header gets broken if logo is wide [5264](https://github.com/zammad/zammad/issues/5264) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[knowledge base](https://github.com/zammad/zammad/labels/knowledge%20base)]
- SSL verification with SAML fails with valid Let's Encrypt certificates [5106](https://github.com/zammad/zammad/issues/5106) [[bug](https://github.com/zammad/zammad/labels/bug)] [[SAML](https://github.com/zammad/zammad/labels/SAML)]
- Activating preserve symlinks option fails the build every time [5273](https://github.com/zammad/zammad/issues/5273) [[regression](https://github.com/zammad/zammad/labels/regression)]
- Mail filter logs "contains not" instead of "contains" [5271](https://github.com/zammad/zammad/issues/5271) [[bug](https://github.com/zammad/zammad/labels/bug)] [[mail processing](https://github.com/zammad/zammad/labels/mail%20processing)]
- Inactive Ticket States selectable in Mobile View [5268](https://github.com/zammad/zammad/issues/5268) [[bug](https://github.com/zammad/zammad/labels/bug)] [[object manager attribute](https://github.com/zammad/zammad/labels/object%20manager%20attribute)] [[ticket: state](https://github.com/zammad/zammad/labels/ticket%3A%20state)]
- Inline images in outgoing mails break HTML structure [5258](https://github.com/zammad/zammad/issues/5258) [[bug](https://github.com/zammad/zammad/labels/bug)] [[mail processing](https://github.com/zammad/zammad/labels/mail%20processing)]
- Webhook custom payload parser does not accept digits within placeholders [5265](https://github.com/zammad/zammad/issues/5265) [[bug](https://github.com/zammad/zammad/labels/bug)] [[webhooks](https://github.com/zammad/zammad/labels/webhooks)]
- "last_close_at" is visible in Core Workflows [5245](https://github.com/zammad/zammad/issues/5245) [[bug](https://github.com/zammad/zammad/labels/bug)] [[core workflows](https://github.com/zammad/zammad/labels/core%20workflows)]
- Overview is not refreshing [5260](https://github.com/zammad/zammad/issues/5260) [[bug](https://github.com/zammad/zammad/labels/bug)] [[ticket](https://github.com/zammad/zammad/labels/ticket)] [[overviews](https://github.com/zammad/zammad/labels/overviews)]
- Email notifications sending will be aborted mid-list if SMTP error code is received [2133](https://github.com/zammad/zammad/issues/2133) [[bug](https://github.com/zammad/zammad/labels/bug)] [[notification](https://github.com/zammad/zammad/labels/notification)] [[mail processing](https://github.com/zammad/zammad/labels/mail%20processing)]
- Shared drafts are not applied in a consistent manner in the ticket create screen [5244](https://github.com/zammad/zammad/issues/5244) [[bug](https://github.com/zammad/zammad/labels/bug)] [[ticket](https://github.com/zammad/zammad/labels/ticket)] [[draft sharing](https://github.com/zammad/zammad/labels/draft%20sharing)] [[ticket: create](https://github.com/zammad/zammad/labels/ticket%3A%20create)]
- Scheduler - Translation in French - bad escaping of quote characters on one string [5242](https://github.com/zammad/zammad/issues/5242) [[bug](https://github.com/zammad/zammad/labels/bug)] [[localization](https://github.com/zammad/zammad/labels/localization)]
- Duplicated article after bulk action was executed for newly created tickets without a browser refresh in between [3568](https://github.com/zammad/zammad/issues/3568) [[bug](https://github.com/zammad/zammad/labels/bug)]
- Bulk action form broken on high resolutions [5217](https://github.com/zammad/zammad/issues/5217) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[overviews](https://github.com/zammad/zammad/labels/overviews)]
- Information about remote images is lost/not displayed in Zammad [5193](https://github.com/zammad/zammad/issues/5193) [[bug](https://github.com/zammad/zammad/labels/bug)] [[mail processing](https://github.com/zammad/zammad/labels/mail%20processing)]
- Zammads HTML wrapper should not set a semikolon [5234](https://github.com/zammad/zammad/issues/5234) [[bug](https://github.com/zammad/zammad/labels/bug)] [[mail processing](https://github.com/zammad/zammad/labels/mail%20processing)]
- Wrong app restart command output [5231](https://github.com/zammad/zammad/issues/5231) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)]
- After the upgrade to Zammad 6.3, a lot of translations are displayed as "modified" in the new translation dialog [5189](https://github.com/zammad/zammad/issues/5189) [[bug](https://github.com/zammad/zammad/labels/bug)] [[localization](https://github.com/zammad/zammad/labels/localization)]
- Notification emails about mails sent from Exchange with inline images are displayed in a compressed long line in e-mail client [5222](https://github.com/zammad/zammad/issues/5222) [[bug](https://github.com/zammad/zammad/labels/bug)] [[notification](https://github.com/zammad/zammad/labels/notification)]
- Configuration screen of triggers do not pop up [5196](https://github.com/zammad/zammad/issues/5196) [[bug](https://github.com/zammad/zammad/labels/bug)] [[admin area](https://github.com/zammad/zammad/labels/admin%20area)] [[trigger](https://github.com/zammad/zammad/labels/trigger)] [[permission](https://github.com/zammad/zammad/labels/permission)] [[calendar](https://github.com/zammad/zammad/labels/calendar)]
- "Article Text as HTML" variable is missing when using "::" in the body of an email in a trigger [5200](https://github.com/zammad/zammad/issues/5200) [[bug](https://github.com/zammad/zammad/labels/bug)] [[text modules](https://github.com/zammad/zammad/labels/text%20modules)] [[variable processing](https://github.com/zammad/zammad/labels/variable%20processing)]
- Translation in French - bad escaping of quote characters on one string [5203](https://github.com/zammad/zammad/issues/5203) [[bug](https://github.com/zammad/zammad/labels/bug)] [[admin area](https://github.com/zammad/zammad/labels/admin%20area)] [[localization](https://github.com/zammad/zammad/labels/localization)]
- Inconsistent tagging behaviour in ticket create vs. ticket edit [4869](https://github.com/zammad/zammad/issues/4869) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[frontend](https://github.com/zammad/zammad/labels/frontend)] [[ticket: create](https://github.com/zammad/zammad/labels/ticket%3A%20create)]
- API 301 redirection when accessing through HTTP [5211](https://github.com/zammad/zammad/issues/5211) [[bug](https://github.com/zammad/zammad/labels/bug)]
- Consistent capitalization for WhatsApp [5210](https://github.com/zammad/zammad/pull/5210)
- Tables (spreadsheets) in articles are cut off in Zammad UI [4960](https://github.com/zammad/zammad/issues/4960) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[mail processing](https://github.com/zammad/zammad/labels/mail%20processing)]
- External data source search gets stuck when it is added as a condition or an action [5148](https://github.com/zammad/zammad/issues/5148) [[bug](https://github.com/zammad/zammad/labels/bug)] [[trigger](https://github.com/zammad/zammad/labels/trigger)] [[object manager attribute](https://github.com/zammad/zammad/labels/object%20manager%20attribute)]
- ".value" in text modules is not working [5116](https://github.com/zammad/zammad/issues/5116) [[bug](https://github.com/zammad/zammad/labels/bug)] [[frontend](https://github.com/zammad/zammad/labels/frontend)] [[variable processing](https://github.com/zammad/zammad/labels/variable%20processing)]
- Transparent image is displayed incorrect [4769](https://github.com/zammad/zammad/issues/4769) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[ticket](https://github.com/zammad/zammad/labels/ticket)]
- Exchange token refresh still applied even on inactive Exchange integration [4961](https://github.com/zammad/zammad/issues/4961) [[bug](https://github.com/zammad/zammad/labels/bug)] [[integration](https://github.com/zammad/zammad/labels/integration)] [[background worker](https://github.com/zammad/zammad/labels/background%20worker)] [[monitoring](https://github.com/zammad/zammad/labels/monitoring)]
- Copied ticket title text/handle in dark-mode into article is rendered in white color [4944](https://github.com/zammad/zammad/issues/4944) [[bug](https://github.com/zammad/zammad/labels/bug)] [[frontend](https://github.com/zammad/zammad/labels/frontend)] [[text editor](https://github.com/zammad/zammad/labels/text%20editor)]
- Add support for new tech stack on package installation [5190](https://github.com/zammad/zammad/issues/5190) [[bug](https://github.com/zammad/zammad/labels/bug)]
- Size of inline images in mails from Zammad are not shown correctly in Microsoft mail clients [4691](https://github.com/zammad/zammad/issues/4691) [[bug](https://github.com/zammad/zammad/labels/bug)] [[mail processing](https://github.com/zammad/zammad/labels/mail%20processing)] [[collaboration](https://github.com/zammad/zammad/labels/collaboration)]
- Special characters in a ticket title are escaped if the title is updated by a Trigger [5108](https://github.com/zammad/zammad/issues/5108) [[bug](https://github.com/zammad/zammad/labels/bug)] [[trigger](https://github.com/zammad/zammad/labels/trigger)] [[variable processing](https://github.com/zammad/zammad/labels/variable%20processing)]
- Setting datetime attributes with macros is not working [4905](https://github.com/zammad/zammad/issues/4905) [[bug](https://github.com/zammad/zammad/labels/bug)] [[macros](https://github.com/zammad/zammad/labels/macros)]
- Webhook custom payload not support complex object attribute values [5060](https://github.com/zammad/zammad/issues/5060) [[bug](https://github.com/zammad/zammad/labels/bug)] [[object manager attribute](https://github.com/zammad/zammad/labels/object%20manager%20attribute)] [[webhooks](https://github.com/zammad/zammad/labels/webhooks)]
- No possibility to export merged tickets in reports [4924](https://github.com/zammad/zammad/issues/4924) [[bug](https://github.com/zammad/zammad/labels/bug)] [[reporting](https://github.com/zammad/zammad/labels/reporting)]
- Align the mail client behavior for <title> tag with Zammad [4583](https://github.com/zammad/zammad/issues/4583) [[bug](https://github.com/zammad/zammad/labels/bug)] [[mail processing](https://github.com/zammad/zammad/labels/mail%20processing)]
- `Mail::AddressList can not parse` error when S/MIME or PGP integration is active [5178](https://github.com/zammad/zammad/issues/5178) [[bug](https://github.com/zammad/zammad/labels/bug)]
- After Znuny import in Zammad: Users without a valid email address gives an 500 error in Zammad when creating a new mail [5166](https://github.com/zammad/zammad/issues/5166) [[bug](https://github.com/zammad/zammad/labels/bug)] [[blocker](https://github.com/zammad/zammad/labels/blocker)] [[import](https://github.com/zammad/zammad/labels/import)] [[regression](https://github.com/zammad/zammad/labels/regression)]
- Many new tickets for one customer leads to massive requests to ticket_customer endpoint [5173](https://github.com/zammad/zammad/issues/5173) [[bug](https://github.com/zammad/zammad/labels/bug)] [[performance](https://github.com/zammad/zammad/labels/performance)]
- Ticket history shows html when updating articles [5168](https://github.com/zammad/zammad/issues/5168) [[bug](https://github.com/zammad/zammad/labels/bug)]
- contrib/packager.io/preinstall.sh does not check the db adapter setting and fails if both psql and mysql are installed [5142](https://github.com/zammad/zammad/issues/5142) [[needs verification](https://github.com/zammad/zammad/labels/needs%20verification)]
- fixes #5142| fix db check in preinstall.sh [5143](https://github.com/zammad/zammad/pull/5143)
- Public Knowledge Base Bread crumbs unexpectly translated [5145](https://github.com/zammad/zammad/issues/5145) [[bug](https://github.com/zammad/zammad/labels/bug)] [[translation](https://github.com/zammad/zammad/labels/translation)] [[knowledge base](https://github.com/zammad/zammad/labels/knowledge%20base)]
- Ticket templates creation interface is broken if a Ticket attribute has a lengthy name. [5000](https://github.com/zammad/zammad/issues/5000) [[bug](https://github.com/zammad/zammad/labels/bug)]
- Token without expiration timestamp expires "01/01/1970" [478](https://github.com/zammad/zammad/issues/478) [[bug](https://github.com/zammad/zammad/labels/bug)]
- [CTI] Caller is not identified if the caller has only entered a telephone number (no firstname, lastname, email). [5117](https://github.com/zammad/zammad/issues/5117) [[bug](https://github.com/zammad/zammad/labels/bug)]
- ".value" in text modules for external data sources breaks ticket zoom [5115](https://github.com/zammad/zammad/issues/5115) [[bug](https://github.com/zammad/zammad/labels/bug)] [[frontend](https://github.com/zammad/zammad/labels/frontend)] [[variable processing](https://github.com/zammad/zammad/labels/variable%20processing)]
- Wrong background color for ticket creation links in light mode [5144](https://github.com/zammad/zammad/issues/5144) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)]
- Fetching LdapSource for unknown users fails [5101](https://github.com/zammad/zammad/issues/5101) [[bug](https://github.com/zammad/zammad/labels/bug)] [[LDAP](https://github.com/zammad/zammad/labels/LDAP)]
- Unable to send WhatsApp automatic reminders after 23 hours [5139](https://github.com/zammad/zammad/issues/5139) [[bug](https://github.com/zammad/zammad/labels/bug)] [[translation](https://github.com/zammad/zammad/labels/translation)] [[localization](https://github.com/zammad/zammad/labels/localization)]
- Settings cache is applied for 24 hours after the last change only [5134](https://github.com/zammad/zammad/issues/5134) [[bug](https://github.com/zammad/zammad/labels/bug)]
- Massenversand send error exception [5120](https://github.com/zammad/zammad/issues/5120) [[bug](https://github.com/zammad/zammad/labels/bug)]
- Wrong Setting value is broadcasted if interpolation is used [5133](https://github.com/zammad/zammad/issues/5133) [[bug](https://github.com/zammad/zammad/labels/bug)]
- Reporting: Worse performance because UI always request all aggregation data instead of the selection [5138](https://github.com/zammad/zammad/issues/5138) [[bug](https://github.com/zammad/zammad/labels/bug)] [[reporting](https://github.com/zammad/zammad/labels/reporting)] [[performance](https://github.com/zammad/zammad/labels/performance)]
- Reporting: No button and output when no tickets found in a time range [5137](https://github.com/zammad/zammad/issues/5137) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[reporting](https://github.com/zammad/zammad/labels/reporting)]
- Once applied kb editor permissions cannot be revoked [5123](https://github.com/zammad/zammad/issues/5123) [[bug](https://github.com/zammad/zammad/labels/bug)] [[knowledge base](https://github.com/zammad/zammad/labels/knowledge%20base)]
- Duplicates in calendar [5076](https://github.com/zammad/zammad/issues/5076) [[bug](https://github.com/zammad/zammad/labels/bug)] [[calendar](https://github.com/zammad/zammad/labels/calendar)]
- Using the greater than symbol in group names displays the hmtl code instead of the symbol [5121](https://github.com/zammad/zammad/issues/5121) [[bug](https://github.com/zammad/zammad/labels/bug)] [[UX/UI](https://github.com/zammad/zammad/labels/UX%2FUI)] [[admin area](https://github.com/zammad/zammad/labels/admin%20area)]
- Translation in French - bad escaping of quote characters on some strings [5095](https://github.com/zammad/zammad/issues/5095) [[bug](https://github.com/zammad/zammad/labels/bug)] [[localization](https://github.com/zammad/zammad/labels/localization)]
- Article notes text is greyed out [5118](https://github.com/zammad/zammad/issues/5118) [[bug](https://github.com/zammad/zammad/labels/bug)] [[frontend](https://github.com/zammad/zammad/labels/frontend)]
- When an update via API fails, a notification is send to the agents that the change was made [4834](https://github.com/zammad/zammad/issues/4834) [[bug](https://github.com/zammad/zammad/labels/bug)] [[API](https://github.com/zammad/zammad/labels/API)] [[trigger](https://github.com/zammad/zammad/labels/trigger)] [[notification](https://github.com/zammad/zammad/labels/notification)] [[ticket](https://github.com/zammad/zammad/labels/ticket)] [[webhooks](https://github.com/zammad/zammad/labels/webhooks)]
- OTRS import: When importing queues with a parent queue to Zammad the migration then stops [5114](https://github.com/zammad/zammad/issues/5114) [[bug](https://github.com/zammad/zammad/labels/bug)] [[import](https://github.com/zammad/zammad/labels/import)] [[VoteSup](https://github.com/zammad/zammad/labels/VoteSup)]
- Email Channel cannot update XOauth2 token if identical channel exists [5111](https://github.com/zammad/zammad/issues/5111) [[bug](https://github.com/zammad/zammad/labels/bug)] [[channel](https://github.com/zammad/zammad/labels/channel)]
- #{user.avatar}-size ignored in mobile-view [5096](https://github.com/zammad/zammad/issues/5096) [[bug](https://github.com/zammad/zammad/labels/bug)] [[frontend](https://github.com/zammad/zammad/labels/frontend)] [[📱mobile-view📱](https://github.com/zammad/zammad/labels/%F0%9F%93%B1mobile-view%F0%9F%93%B1)] [[form](https://github.com/zammad/zammad/labels/form)]

View File

@@ -1,9 +1,9 @@
FROM node:20-slim AS node
RUN npm -g install pnpm
FROM node:20-bookworm-slim AS node
RUN npm -g install corepack && corepack enable pnpm
RUN rm /usr/local/bin/yarn /usr/local/bin/yarnpkg
FROM ruby:3.2.4-slim AS builder
FROM ruby:3.2.4-slim-bookworm AS builder
ARG DEBIAN_FRONTEND=noninteractive
ARG RAILS_ENV=production
ARG ZAMMAD_DIR=/opt/zammad
@@ -17,7 +17,7 @@ RUN contrib/docker/setup.sh builder
# note: zammad is currently incompatible to alpine because of:
# https://github.com/docker-library/ruby/issues/113
FROM ruby:3.2.4-slim
FROM ruby:3.2.4-slim-bookworm
ARG DEBIAN_FRONTEND=noninteractive
ARG ZAMMAD_USER=zammad
ENV RAILS_ENV=production

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
source 'https://rubygems.org'
@@ -63,6 +63,13 @@ gem 'vite_rails'
# asset handling - config.assets for pipeline
gem 'sprockets-rails'
# Workaround
# Explicitly specify nokogiri, even though it is an internal Rails dependency
# to work around issues with precompiled versions not running on RHEL 8 any more.
# See https://github.com/sparklemotion/nokogiri/issues/3399.
# Consider removing this again after CentOS 8 support was dropped.
gem 'nokogiri', force_ruby_platform: true
# Only load gems for asset compilation if they are needed to avoid
# having unneeded runtime dependencies like NodeJS.
group :assets do

View File

@@ -33,35 +33,35 @@ GEM
simple_po_parser (~> 1.1.6)
aasm (5.5.0)
concurrent-ruby (~> 1.0)
actioncable (7.1.4)
actionpack (= 7.1.4)
activesupport (= 7.1.4)
actioncable (7.1.5.1)
actionpack (= 7.1.5.1)
activesupport (= 7.1.5.1)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
zeitwerk (~> 2.6)
actionmailbox (7.1.4)
actionpack (= 7.1.4)
activejob (= 7.1.4)
activerecord (= 7.1.4)
activestorage (= 7.1.4)
activesupport (= 7.1.4)
actionmailbox (7.1.5.1)
actionpack (= 7.1.5.1)
activejob (= 7.1.5.1)
activerecord (= 7.1.5.1)
activestorage (= 7.1.5.1)
activesupport (= 7.1.5.1)
mail (>= 2.7.1)
net-imap
net-pop
net-smtp
actionmailer (7.1.4)
actionpack (= 7.1.4)
actionview (= 7.1.4)
activejob (= 7.1.4)
activesupport (= 7.1.4)
actionmailer (7.1.5.1)
actionpack (= 7.1.5.1)
actionview (= 7.1.5.1)
activejob (= 7.1.5.1)
activesupport (= 7.1.5.1)
mail (~> 2.5, >= 2.5.4)
net-imap
net-pop
net-smtp
rails-dom-testing (~> 2.2)
actionpack (7.1.4)
actionview (= 7.1.4)
activesupport (= 7.1.4)
actionpack (7.1.5.1)
actionview (= 7.1.5.1)
activesupport (= 7.1.5.1)
nokogiri (>= 1.8.5)
racc
rack (>= 2.2.4)
@@ -69,27 +69,27 @@ GEM
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
actiontext (7.1.4)
actionpack (= 7.1.4)
activerecord (= 7.1.4)
activestorage (= 7.1.4)
activesupport (= 7.1.4)
actiontext (7.1.5.1)
actionpack (= 7.1.5.1)
activerecord (= 7.1.5.1)
activestorage (= 7.1.5.1)
activesupport (= 7.1.5.1)
globalid (>= 0.6.0)
nokogiri (>= 1.8.5)
actionview (7.1.4)
activesupport (= 7.1.4)
actionview (7.1.5.1)
activesupport (= 7.1.5.1)
builder (~> 3.1)
erubi (~> 1.11)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
activejob (7.1.4)
activesupport (= 7.1.4)
activejob (7.1.5.1)
activesupport (= 7.1.5.1)
globalid (>= 0.3.6)
activemodel (7.1.4)
activesupport (= 7.1.4)
activerecord (7.1.4)
activemodel (= 7.1.4)
activesupport (= 7.1.4)
activemodel (7.1.5.1)
activesupport (= 7.1.5.1)
activerecord (7.1.5.1)
activemodel (= 7.1.5.1)
activesupport (= 7.1.5.1)
timeout (>= 0.4.0)
activerecord-import (1.8.1)
activerecord (>= 4.2)
@@ -100,21 +100,24 @@ GEM
multi_json (~> 1.11, >= 1.11.2)
rack (>= 2.0.8, < 4)
railties (>= 6.1)
activestorage (7.1.4)
actionpack (= 7.1.4)
activejob (= 7.1.4)
activerecord (= 7.1.4)
activesupport (= 7.1.4)
activestorage (7.1.5.1)
actionpack (= 7.1.5.1)
activejob (= 7.1.5.1)
activerecord (= 7.1.5.1)
activesupport (= 7.1.5.1)
marcel (~> 1.0)
activesupport (7.1.4)
activesupport (7.1.5.1)
base64
benchmark (>= 0.3)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.0.2)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
logger (>= 1.4.2)
minitest (>= 5.1)
mutex_m
securerandom (>= 0.3)
tzinfo (~> 2.0)
acts_as_list (1.2.2)
activerecord (>= 6.1)
@@ -146,6 +149,7 @@ GEM
aws-sigv4 (1.10.0)
aws-eventstream (~> 1, >= 1.0.2)
base64 (0.2.0)
benchmark (0.3.0)
bigdecimal (3.1.8)
bindata (2.5.0)
binding_of_caller (1.0.1)
@@ -172,7 +176,7 @@ GEM
regexp_parser (>= 1.5, < 3.0)
xpath (~> 3.2)
cbor (0.5.9.8)
cgi (0.4.1)
cgi (0.4.2)
childprocess (5.1.0)
logger (~> 1.5)
chunky_png (1.4.0)
@@ -275,7 +279,7 @@ GEM
gli (2.21.5)
globalid (1.2.1)
activesupport (>= 6.1)
graphql (2.3.16)
graphql (2.3.22)
base64
fiber-storage
graphql-batch (0.6.0)
@@ -315,7 +319,7 @@ GEM
iniparse (1.5.0)
interception (0.5)
io-console (0.7.2)
irb (1.14.0)
irb (1.14.1)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
jmespath (1.6.2)
@@ -338,7 +342,7 @@ GEM
logging (2.4.0)
little-plugger (~> 1.1)
multi_json (~> 1.14)
loofah (2.22.0)
loofah (2.23.1)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
macaddr (1.7.2)
@@ -360,8 +364,8 @@ GEM
mime-types-data (~> 3.2015)
mime-types-data (3.2024.1001)
mini_mime (1.1.5)
mini_portile2 (2.8.7)
minitest (5.25.1)
mini_portile2 (2.8.8)
minitest (5.25.4)
msgpack (1.7.2)
multi_json (1.15.0)
multi_xml (0.7.1)
@@ -376,7 +380,7 @@ GEM
time
net-http (0.4.1)
uri
net-imap (0.4.16)
net-imap (0.4.19)
date
net-protocol
net-ldap (0.19.0)
@@ -386,9 +390,9 @@ GEM
timeout
net-smtp (0.5.0)
net-protocol
nio4r (2.7.3)
nio4r (2.7.4)
nkf (0.2.0)
nokogiri (1.16.7)
nokogiri (1.18.5)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
nori (2.7.1)
@@ -495,7 +499,7 @@ GEM
rspec-mocks (~> 3.12)
rspec-support (~> 3.12)
racc (1.8.1)
rack (2.2.9)
rack (2.2.13)
rack-attack (6.7.0)
rack (>= 1.0, < 4)
rack-protection (3.2.0)
@@ -510,20 +514,20 @@ GEM
rackup (1.0.0)
rack (< 3)
webrick
rails (7.1.4)
actioncable (= 7.1.4)
actionmailbox (= 7.1.4)
actionmailer (= 7.1.4)
actionpack (= 7.1.4)
actiontext (= 7.1.4)
actionview (= 7.1.4)
activejob (= 7.1.4)
activemodel (= 7.1.4)
activerecord (= 7.1.4)
activestorage (= 7.1.4)
activesupport (= 7.1.4)
rails (7.1.5.1)
actioncable (= 7.1.5.1)
actionmailbox (= 7.1.5.1)
actionmailer (= 7.1.5.1)
actionpack (= 7.1.5.1)
actiontext (= 7.1.5.1)
actionview (= 7.1.5.1)
activejob (= 7.1.5.1)
activemodel (= 7.1.5.1)
activerecord (= 7.1.5.1)
activestorage (= 7.1.5.1)
activesupport (= 7.1.5.1)
bundler (>= 1.15.0)
railties (= 7.1.4)
railties (= 7.1.5.1)
rails-controller-testing (1.0.5)
actionpack (>= 5.0.1.rc1)
actionview (>= 5.0.1.rc1)
@@ -532,12 +536,12 @@ GEM
activesupport (>= 5.0.0)
minitest
nokogiri (>= 1.6)
rails-html-sanitizer (1.6.0)
rails-html-sanitizer (1.6.1)
loofah (~> 2.21)
nokogiri (~> 1.14)
railties (7.1.4)
actionpack (= 7.1.4)
activesupport (= 7.1.4)
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
railties (7.1.5.1)
actionpack (= 7.1.5.1)
activesupport (= 7.1.5.1)
irb
rackup (>= 1.0.0)
rake (>= 12.2)
@@ -553,9 +557,9 @@ GEM
psych (>= 4.0.0)
redis (4.8.1)
regexp_parser (2.9.2)
reline (0.5.10)
reline (0.5.12)
io-console (~> 0.5)
rexml (3.3.8)
rexml (3.4.1)
rotp (6.3.0)
rspec-core (3.13.1)
rspec-support (~> 3.13.0)
@@ -616,7 +620,7 @@ GEM
rubocop (~> 1.61)
rubocop-rspec (~> 3, >= 3.0.1)
ruby-progressbar (1.13.0)
ruby-saml (1.17.0)
ruby-saml (1.18.0)
nokogiri (>= 1.13.10)
rexml
rubyntlm (0.6.5)
@@ -635,6 +639,7 @@ GEM
sprockets (>= 2.8, < 4.0)
sprockets-rails (>= 2.0, < 4.0)
tilt (>= 1.1, < 3)
securerandom (0.3.2)
selenium-webdriver (4.25.0)
base64 (~> 0.2)
logger (~> 1.4)
@@ -665,7 +670,7 @@ GEM
actionpack (>= 6.1)
activesupport (>= 6.1)
sprockets (>= 3.0.0)
stringio (3.1.1)
stringio (3.1.2)
systemu (2.6.5)
tcr (0.4.0)
telegram-bot-ruby (2.0.0)
@@ -683,7 +688,7 @@ GEM
tilt (2.4.0)
time (0.4.0)
date
timeout (0.4.1)
timeout (0.4.3)
tpm-key_attestation (0.12.1)
bindata (~> 2.4)
openssl (> 2.0)
@@ -708,7 +713,7 @@ GEM
tzinfo-data (1.2024.2)
tzinfo (>= 1.0.0)
unicode-display_width (2.6.0)
uri (0.13.1)
uri (1.0.3)
vcr (6.3.1)
base64
version_gem (1.1.4)
@@ -820,6 +825,7 @@ DEPENDENCIES
net-ldap
net-pop
net-smtp
nokogiri
oauth2
omniauth-facebook
omniauth-github

View File

@@ -764,6 +764,11 @@
"url": "",
"license": "MIT"
},
"status-report.svg": {
"author": "Zammad",
"url": "",
"license": "MIT"
},
"stopwatch.svg": {
"author": "Zammad",
"url": "",
@@ -874,4 +879,4 @@
"url": "",
"license": "MIT"
}
}
}

View File

@@ -11,10 +11,10 @@ You're going to love Zammad!
## Status
- Toolchain: ![docker-release workflow](https://github.com/zammad/zammad/workflows/docker-release/badge.svg) ![build-docker-image workflow](https://github.com/zammad/zammad/workflows/build-docker-image/badge.svg) [![documentation status](https://readthedocs.org/projects/zammad/badge/)](https://docs.zammad.org)
- Toolchain: [![CI](https://github.com/zammad/zammad/workflows/CI/badge.svg)](https://github.com/zammad/zammad/actions/workflows/ci.yaml) [![docker-release workflow](https://github.com/zammad/zammad/workflows/docker-release/badge.svg)](https://github.com/zammad/zammad/actions/workflows/docker-release.yaml) [![documentation status](https://readthedocs.org/projects/zammad/badge/)](https://docs.zammad.org)
- Docker container images: [![Docker images for Zammad](https://img.shields.io/badge/version-stable-blue.svg)](https://hub.docker.com/r/zammad/zammad-docker-compose) [![Dockerhub Pulls](https://badgen.net/docker/pulls/zammad/zammad-docker-compose?icon=docker&label=pulls)](https://hub.docker.com/r/zammad/zammad-docker-compose/)
- Helm chart for Kubernetes: [![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/zammad)](https://artifacthub.io/packages/helm/zammad/zammad) [![Release downloads](https://img.shields.io/github/downloads/zammad/zammad-helm/total.svg)](https://github.com/zammad/zammad-helm/releases)
- Download DEB/RPM: [![binary packages for Zammad stable](https://img.shields.io/badge/Branch-stable-blue.svg)](https://packager.io/gh/zammad/zammad/refs/stable) [![binary packages for Zammad develop](https://img.shields.io/badge/Branch-develop-lightgrey.svg)](https://packager.io/gh/zammad/zammad/refs/develop)
- Docker container images: [![Docker images for Zammad](https://img.shields.io/badge/version-stable-blue.svg)](https://hub.docker.com/r/zammad/zammad-docker-compose)
- Helm chart for Kubernetes: [![Zammad Helm chart for Kubernetes](https://img.shields.io/badge/version-stable-blue.svg)](https://artifacthub.io/packages/helm/zammad/zammad)
- License: [![AGPL license](https://img.shields.io/badge/License-AGPL%203.0-brightgreen.svg)](https://github.com/zammad/zammad/blob/develop/LICENSE)
## Installing & Getting Started

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env rake
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.

View File

@@ -4,8 +4,8 @@
| Version | Supported |
| -------- | ------------------ |
| 6.3.x | :white_check_mark: |
| <= 6.2.x | :x: |
| 6.4.x | :white_check_mark: |
| <= 6.3.x | :x: |
## Reporting a Vulnerability

View File

@@ -1 +1 @@
6.4.x
6.4.2

View File

@@ -1,3 +1,3 @@
# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
App.Config.set('api_path', 'api/v1')
App.Config.set('image_path', '/assets/images')

View File

@@ -145,6 +145,8 @@ class ProfileAvatar extends App.ControllerSubContent
reader.readAsDataURL(@)
@fileInput.val('')
App.Config.set('Avatar', { prio: 1100, name: __('Avatar'), parent: '#profile', target: '#profile/avatar', controller: ProfileAvatar, permission: ['user_preferences.avatar'] }, 'NavBarProfile')
class ImageCropper extends App.ControllerModal

View File

@@ -34,9 +34,9 @@ class ProfilePassword extends App.ControllerSubContent
@startLoading()
@ajax(
id: 'profile_two_factor'
id: 'profile_two_factor_personal_configuration'
type: 'GET'
url: @apiPath + '/users/two_factor_personal_configuration'
url: @apiPath + '/users/two_factor/personal_configuration'
processData: true
success: (data, status, xhr) =>
@stopLoading()
@@ -175,14 +175,15 @@ class ProfilePassword extends App.ControllerSubContent
new App.TwoFactorConfigurationModalPasswordCheck(
headPrefix: __('Remove two-factor authentication')
buttonSubmit: 'Remove'
successCallback: =>
successCallback: (data) =>
@ajax(
id: 'profile_two_factor_removal'
type: 'DELETE'
url: @apiPath + "/users/#{App.User.current().id}/two_factor_remove_authentication_method"
url: @apiPath + '/users/two_factor/remove_authentication_method'
processData: true
data: JSON.stringify(
method: key
token: data.token
)
success: (data, status, xhr) =>
@notify

View File

@@ -158,7 +158,8 @@ class App.UiElement.ApplicationUiElement
list = App[ attribute.relation ].search(sortBy: attribute.sortBy)
# Turn on attribute translation if configured for the relation object.
attribute.translate = App[ attribute.relation ].configure_translate
if 'configure_translate' in App[attribute.relation]
attribute.translate = App[attribute.relation].configure_translate
App.Log.debug 'ControllerForm', '_getRelationOptionList', attribute, list

View File

@@ -964,7 +964,7 @@ class App.UiElement.object_manager_attribute extends App.UiElement.ApplicationUi
link = App.Utils.replaceTags(params.data_option?.linktemplate, objects)
resultLinkIcon = $('<svg class="icon icon-external"><use xlink:href="assets/images/icons.svg#icon-external" /></svg>')
resultLinkIcon = $(App.Utils.icon('external'))
resultLinkAnchor = $('<a />')
.addClass('settings-list-control')
.attr('href', link)

View File

@@ -34,6 +34,9 @@ class App.UiElement.postmaster_set extends App.UiElement.ApplicationAction
config.operator = ['static', 'relative']
when 'tag'
config.operator = ['add', 'remove']
when 'autocompletion_ajax_external_data_source'
config.objectName = groupMeta.model
config.attributeName = config.name
elements["x-zammad-#{groupKey}-#{config.name}"] = config

View File

@@ -40,11 +40,17 @@ class App.UiElement.richtext.additions.RichTextToolPopup extends App.ControllerF
$(@event.currentTarget).on('hidden.bs.popover', (e) => @willClose(e))
$(document).on('click', @onClickingBackround)
$(document).on('click', @onClickingBackground)
onClickingBackround: (e) =>
onClickingBackground: (e) =>
return true if @el[0].contains(e.target)
# https://git.zammad.com/zammad/zammad/-/merge_requests/9317
# Sometimes DOM element may be no longer a part of the DOM tree by the time it gets to this callback.
# For example this happens in searchable select when adding a link to KB Answer.
# This treats such cases as clicking inside the popup
return true if $(e.target).closest('body').length == 0
e.preventDefault()
e.stopPropagation()
@@ -54,8 +60,8 @@ class App.UiElement.richtext.additions.RichTextToolPopup extends App.ControllerF
@delegate?.getAjaxAttributes?(field, attributes)
onClear: (e) =>
e.preventDefault()
e.stopPropagation()
e?.preventDefault()
e?.stopPropagation()
@clear()
@@ -162,5 +168,5 @@ class App.UiElement.richtext.additions.RichTextToolPopup extends App.ControllerF
textEditor = $(@event.currentTarget).closest('.richtext.form-control').find('[contenteditable]')
textEditor.find('span.highlight-emulator').contents().unwrap()
$(document).off('click', @onClickingBackround)
$(document).off('click', @onClickingBackground)
$(@event.currentTarget).off('hidden.bs.popover')

View File

@@ -3,10 +3,22 @@ class App.UiElement.richtext.additions.RichTextToolPopupImage extends App.UiElem
labelExisting: 'Replace'
apply: (callback) ->
@el.find('btn--create').attr('disabled', true)
@el.find('.btn--create').attr('disabled', true)
file = @el.find('input')[0].files[0]
fileSizeInMb = file.size/1024/1024
# The browser may fail while reading too large files as data URL.
# Here we introduce a safe limit check in order to prevent silent errors.
if fileSizeInMb > 25
console.error('App.UiElement.richtext.additions.RichTextToolPopupImage', 'image file size too large', fileSizeInMb, 'in mb')
@onClear()
new App.ControllerErrorModal(
message: __('Image file size is too large, please try inserting a smaller file.')
)
return
reader = new FileReader()
reader.addEventListener('load', =>
@@ -16,40 +28,49 @@ class App.UiElement.richtext.additions.RichTextToolPopupImage extends App.UiElem
reader.readAsDataURL(file)
applyOnto: (dom, base64) ->
applyOnto: (dom, base64, width) ->
dom.attr('src', base64)
dom.attr('width', width)
dom.removeAttr('cid')
insertImage: (base64) ->
textEditor = $(@event.currentTarget).closest('.richtext.form-control').find('[contenteditable]')
switch @selection.type
when 'existing'
@applyOnto(@selection.dom, base64)
when 'append'
newElem = $('<img>')[0]
newElem.src = base64
newElem.style = 'width: 1000px; max-width: 100%;'
@selection.dom.append(newElem)
when 'caret'
newElem = $('<img>')
newElem.attr('src', base64)
newElem.attr('style', 'width: 1000px; max-width: 100%;')
insert = (dataUrl, width, height, isResized) =>
switch @selection.type
when 'existing'
@applyOnto(@selection.dom, dataUrl, width)
when 'append'
newElem = $('<img>')[0]
newElem.src = dataUrl
newElem.style = 'width: ' + width + 'px; max-width: 100%;'
@selection.dom.append(newElem)
when 'caret'
newElem = $('<img>')
newElem.attr('src', dataUrl)
newElem.attr('style', 'width: ' + width + 'px; max-width: 100%;')
surroundingDom = @selection.dom[0]
surroundingDom = @selection.dom[0]
if surroundingDom instanceof Text
@selection.dom[0].splitText(@selection.offset)
if surroundingDom instanceof Text
@selection.dom[0].splitText(@selection.offset)
newElem.insertAfter(@selection.dom)
when 'range'
newElem = $('<img>')
newElem.attr('src', base64)
newElem.attr('style', 'width: 1000px; max-width: 100%;')
newElem.insertAfter(@selection.dom)
when 'range'
newElem = $('<img>')
newElem.attr('src', dataUrl)
newElem.attr('style', 'width: ' + width + 'px; max-width: 100%;')
placeholder = textEditor.find('span.highlight-emulator')
placeholder = textEditor.find('span.highlight-emulator')
placeholder.empty()
placeholder.append(newElem)
placeholder.empty()
placeholder.append(newElem)
App.ImageService.resize(base64, 1200, 'auto', 2, @getImageType(base64), 'auto', insert)
getImageType: (base64) ->
match = base64.match(/^data:(image\/\w+);base64,/)
if match then match[1] else null
clear: ->
switch @selection.type

View File

@@ -12,6 +12,10 @@ class App.AfterAuthTwoFactorConfiguration extends App.ControllerAfterAuthModal
if params.noFadeTransition
params.className = 'modal'
if not params.data?.token
@invalidPasswordToken()
return
super(params)
content: ->
@@ -27,10 +31,12 @@ class App.AfterAuthTwoFactorConfiguration extends App.ControllerAfterAuthModal
return if !App.User.current()
@ajax(
id: 'two_factor_enabled_authentication_methods'
type: 'GET'
url: "#{@apiPath}/users/#{App.User.current().id}/two_factor_enabled_authentication_methods"
success: @renderAvailableMethods
id: 'two_factor_enabled_authentication_methods'
type: 'POST'
url: "#{@apiPath}/users/two_factor/enabled_authentication_methods"
data: JSON.stringify(token: @data?.token)
processData: true
success: @renderAvailableMethods
error: (xhr, status, error) =>
return if xhr.status != 403
@@ -39,6 +45,11 @@ class App.AfterAuthTwoFactorConfiguration extends App.ControllerAfterAuthModal
)
renderAvailableMethods: (data, status, xhr) =>
if data?.invalid_password_token
@closeWithoutFade()
@invalidPasswordToken(true)
return
methodButtons = $(App.view('after_auth/two_factor_configuration/method_buttons')(
enabledMethods: @transformTwoFactorMethods(data)
))
@@ -78,7 +89,30 @@ class App.AfterAuthTwoFactorConfiguration extends App.ControllerAfterAuthModal
new App['TwoFactorConfigurationMethod' + configurationMethod](
mode: 'after_auth'
token: @data?.token
successCallback: =>
@fetchAfterAuth()
App.User.current().trigger('two_factor_changed')
)
invalidPasswordToken: (notify = false) =>
if notify
@notify(
type: 'error'
msg: __('Invalid password revalidation token, please confirm your password again.')
removeAll: true
)
new App.TwoFactorConfigurationModalPasswordCheck(
logoutOnCancel: @logoutOnCancel
backdrop: @backdrop
keyboard: @keyboard
buttonClose: @buttonClose
buttonCancel: @buttonCancel
onCancel: @onCancel
successCallback: (data) ->
new App.AfterAuthTwoFactorConfiguration(
data: data
className: 'modal' # no automatic fade transitions
)
)

View File

@@ -9,16 +9,24 @@ class Index extends App.ControllerSubContent
constructor: ->
super
@load()
@subscribeDataPrivacyTaskId = App.DataPrivacyTask.subscribe(@render)
@controllerBind(
'DataPrivacyTask:create DataPrivacyTask:update DataPrivacyTask:touch DataPrivacyTask:destroy',
@load
)
load: =>
callback = =>
@stopLoading()
@render()
@startLoading()
App.DataPrivacyTask.fetchFull(
callback
clear: true
@ajax(
id: 'data_privacy_tasks_by_state'
type: 'GET'
url: "#{@apiPath}/data_privacy_tasks/by_state"
success: (data) =>
App.DataPrivacyTask.deleteAll()
App.Collection.loadAssets(data.assets)
@stopLoading()
@render(data.record_ids)
)
show: (params) =>
@@ -39,30 +47,18 @@ class Index extends App.ControllerSubContent
@new(false, @user_id)
@user_id = undefined
render: =>
runningTasks = App.DataPrivacyTask.search(
filter:
state: 'in process'
order: 'DESC'
)
render: (record_ids) =>
runningTasks = App.DataPrivacyTask.findAll(record_ids.in_process)
runningTasksHTML = App.view('data_privacy/tasks')(
tasks: runningTasks
)
failedTasks = App.DataPrivacyTask.search(
filter:
state: 'failed'
order: 'DESC'
)
failedTasks = App.DataPrivacyTask.findAll(record_ids.failed)
failedTasksHTML = App.view('data_privacy/tasks')(
tasks: failedTasks
)
completedTasks = App.DataPrivacyTask.search(
filter:
state: 'completed'
order: 'DESC'
)
completedTasks = App.DataPrivacyTask.findAll(record_ids.completed)
completedTasksHTML = App.view('data_privacy/tasks')(
tasks: completedTasks
)
@@ -81,10 +77,6 @@ class Index extends App.ControllerSubContent
description: description
)
release: =>
if @subscribeDataPrivacyTaskId
App.DataPrivacyTask.unsubscribe(@subscribeDataPrivacyTaskId)
new: (e, user_id = undefined) ->
if e
e.preventDefault()
@@ -134,7 +126,7 @@ class Index extends App.ControllerSubContent
container: @el.closest('.content')
)
formHandler: (params, attribute, attributes, classname, form, ui) ->
formHandler: (params, attribute, attributes, DataPrivacyTask, form, ui) =>
return if !attribute
userID = params['deletable_id']
@@ -146,6 +138,10 @@ class Index extends App.ControllerSubContent
return if !userID
return if userID == @previousUserID
@previousUserID = userID
conditionCustomer =
'condition':
'ticket.customer_id':
@@ -166,6 +162,8 @@ class Index extends App.ControllerSubContent
url: "#{App.Config.get('api_path')}/tickets/selector"
data: JSON.stringify(conditionCustomer)
processData: true,
error: (xhr, statusText, error) =>
@previousUserID = undefined
success: (dataCustomer, status, xhr) ->
App.Collection.loadAssets(dataCustomer.assets)
@@ -175,7 +173,11 @@ class Index extends App.ControllerSubContent
url: "#{App.Config.get('api_path')}/tickets/selector"
data: JSON.stringify(conditionOwner)
processData: true,
error: (xhr, statusText, error) =>
@previousUserID = undefined
success: (dataOwner, status, xhr) ->
isFocused = form.find('.js-preview [name="preferences::sure"]').is(':focus')
App.Collection.loadAssets(dataOwner.assets)
user = App.User.find(userID)
@@ -184,10 +186,10 @@ class Index extends App.ControllerSubContent
organization = App.Organization.find(user.organization_id)
if organization && organization.member_ids.length < 2
attribute = { name: 'preferences::delete_organization', display: __('Delete organization?'), tag: 'boolean', default: true, translate: true }
deleteOrganization = ui.formGenItem(attribute, classname, form).html()
deleteOrganization = ui.formGenItem(attribute, DataPrivacyTask, form).html()
sure_attribute = { name: 'preferences::sure', display: __('Are you sure?'), tag: 'input', translate: false, placeholder: App.i18n.translateInline('delete').toUpperCase() }
sureInput = ui.formGenItem(sure_attribute, classname, form).html()
sureInput = ui.formGenItem(sure_attribute, DataPrivacyTask, form).html()
preview_html = App.view('data_privacy/preview')(
customer_count: dataCustomer.object_count || 0
@@ -208,6 +210,9 @@ class Index extends App.ControllerSubContent
ticket_ids: dataCustomer.object_ids
)
if isFocused
form.find('.js-preview [name="preferences::sure"]').focus()
return if !form.find('.js-previewTableOwner').length
new App.TicketList(

View File

@@ -28,7 +28,7 @@ class App.KnowledgeBaseAddForm extends App.ControllerModal
params = @formController.paramsForSaving()
params.translations_attributes[0].content_attributes = { body: '' }
@parentController.coordinator.saveChanges(@object, params, @)
@parentController.coordinator.saveChanges(@object, params, @, e)
showAlert: (text) ->
@formController?.showAlert(text)

View File

@@ -103,7 +103,7 @@ class App.KnowledgeBaseContentController extends App.Controller
additional_action = $(e.currentTarget).data('id')
if @remoteDidntChangeSinceStart()
@parentController.coordinator.saveChanges(@object, paramsForSaving, @, additional_action)
@parentController.coordinator.saveChanges(@object, paramsForSaving, @, e, additional_action)
return
new App.ControllerConfirm(
@@ -111,7 +111,7 @@ class App.KnowledgeBaseContentController extends App.Controller
message: __('Your changes may override someone else\'s changes. Do you really want to save?')
buttonClass: 'btn--danger'
callback: =>
@parentController.coordinator.saveChanges(@object, paramsForSaving, @)
@parentController.coordinator.saveChanges(@object, paramsForSaving, @, e)
)
missingTranslation: ->

View File

@@ -28,8 +28,20 @@ class App.KnowledgeBaseEditorCoordinator
else
object.url()
saveChanges: (object, data, formController, action) ->
App.ControllerForm.disable(formController.form)
submitDisable: (e) =>
if e
App.ControllerForm.disable(e)
return
App.ControllerForm.disable(@$('.js-submitContainer'), 'button')
submitEnable: (e) =>
if e
App.ControllerForm.enable(e)
return
App.ControllerForm.enable(@$('.js-submitContainer'), 'button')
saveChanges: (object, data, formController, e, action) ->
@submitDisable(e)
url = @urlFor(object) + '?full=true'
@@ -40,11 +52,12 @@ class App.KnowledgeBaseEditorCoordinator
type: object.writeMethod()
data: JSON.stringify(data)
url: url
success: (data) ->
success: (data) =>
App.Collection.loadAssets(data.assets)
formController.didSaveCallback(data)
error: (xhr) ->
@submitEnable(e)
error: (xhr) =>
data = JSON.parse(xhr.responseText)
App.ControllerForm.enable(formController.form)
formController.showAlert(data.error || __('The changes could not be saved.'))
@submitEnable(e)
)

View File

@@ -29,6 +29,13 @@ class App.KnowledgeBaseSidebarAttachments extends App.Controller
attachments: @object.attachments
)
@renderDragAndDropIfNeeded()
renderDragAndDropIfNeeded: ->
return if @dragAndDropRendered
@dragAndDropRendered = true
html5Upload.initialize(
uploadUrl: @object.generateURL('attachments')
dropContainer: @el.get(0)

View File

@@ -23,6 +23,7 @@ class Package extends App.ControllerSubContent
success: (data) =>
@packages = data.packages
@package_installation = data.package_installation
@local_gemfiles = data.local_gemfiles
@render()
)
@@ -42,6 +43,7 @@ class Package extends App.ControllerSubContent
head: __('Dashboard')
packages: @packages
package_installation: @package_installation
local_gemfiles: @local_gemfiles
)
action: (e) ->

View File

@@ -101,6 +101,12 @@ class PasswordResetVerify extends App.ControllerFullPage
renderChanged: (data, status, xhr) =>
if data.message is 'ok'
@notify(
type: 'success'
msg: __('Woo hoo! Your password has been changed!')
removeAll: true
)
App.Auth.login(
data:
username: data.user_login
@@ -110,25 +116,14 @@ class PasswordResetVerify extends App.ControllerFullPage
# login check
App.Auth.loginCheck()
# add notify
@notify(
type: 'success'
msg: __('Woo hoo! Your password has been changed!')
removeAll: true
)
# redirect to #
@navigate '#'
error: =>
@formEnable(@$('form'))
# add notify
@notify(
type: 'error'
msg: __('Something went wrong. Please contact your administrator.')
removeAll: true
)
# The user may have an active 2FA method on their account, which will prevent an automatic login (#4989).
# Instead, silently redirect to login screen and allow the user to login manually
# and complete their 2FA challenge.
@navigate '#'
)
else
if data.notice

View File

@@ -18,7 +18,10 @@ class Reporting extends App.ControllerAppContent
objectName: 'Report'
)
return
@config = data.config
@config = data.config
@profiles = data.profiles
@checkStoreParams()
App.Collection.load(type: 'ReportProfile', data: data.profiles)
@render()
)
@@ -27,7 +30,7 @@ class Reporting extends App.ControllerAppContent
return @params if @params
@params = {}
paramsRaw = App.SessionStorage.get('report::params')
paramsRaw = @getStoreParams()
if paramsRaw
@params = paramsRaw
return @params
@@ -60,7 +63,20 @@ class Reporting extends App.ControllerAppContent
@params
storeParams: =>
checkStoreParams: =>
params = @getStoreParams()
return if _.isEmpty(params)
configProfileIDs = @profiles.map((profile) -> profile.id)
storeProfileIDs = Object.keys(params.profileSelected).map((id) -> parseInt(id))
return if _.intersection(configProfileIDs, storeProfileIDs).length is storeProfileIDs.length
App.SessionStorage.delete('report::params')
getStoreParams: ->
App.SessionStorage.get('report::params')
setStoreParams: =>
# store latest params
App.SessionStorage.set('report::params', @params)
@@ -116,7 +132,7 @@ class Graph extends App.Controller
for key, value of data.data
if @params.backendSelected[key] is true
dataNew[key] = value
@ui.storeParams()
@ui.setStoreParams()
if !@lastParams
@lastParams = {}
@@ -252,7 +268,7 @@ class Download extends App.Controller
$(e.target).parent().addClass('active')
@profileSelectedId = $(e.target).data('profile-id')
@params.downloadBackendSelected = $(e.target).data('backend')
@ui.storeParams()
@ui.setStoreParams()
@table = false
@render()
@@ -272,7 +288,7 @@ class Download extends App.Controller
for backend in @config.metric[@params.metric].backend
if backend.dataDownload && !@params.downloadBackendSelected
@params.downloadBackendSelected = backend.name
@ui.storeParams()
@ui.setStoreParams()
# get used profiles
profiles = []
@@ -458,7 +474,7 @@ class TimePicker extends App.Controller
$(e.target).parent().parent().find('li').removeClass('active')
$(e.target).parent().addClass('active')
App.Event.trigger('ui:report:rerender')
@ui.storeParams()
@ui.setStoreParams()
selectTimeMonth: (e) =>
e.preventDefault()
@@ -466,7 +482,7 @@ class TimePicker extends App.Controller
$(e.target).parent().parent().find('li').removeClass('active')
$(e.target).parent().addClass('active')
App.Event.trigger('ui:report:rerender')
@ui.storeParams()
@ui.setStoreParams()
selectTimeWeek: (e) =>
e.preventDefault()
@@ -474,7 +490,7 @@ class TimePicker extends App.Controller
$(e.target).parent().parent().find('li').removeClass('active')
$(e.target).parent().addClass('active')
App.Event.trigger('ui:report:rerender')
@ui.storeParams()
@ui.setStoreParams()
selectTimeYear: (e) =>
e.preventDefault()
@@ -483,7 +499,7 @@ class TimePicker extends App.Controller
$(e.target).parent().parent().find('li').removeClass('active')
$(e.target).parent().addClass('active')
App.Event.trigger('ui:report:rerender')
@ui.storeParams()
@ui.setStoreParams()
_timeSlotPicker: ->
@timeRangeYear = []
@@ -592,7 +608,7 @@ class Sidebar extends App.Controller
@params.metric = metric
@params.downloadBackendSelected = undefined
App.Event.trigger('ui:report:rerender')
@ui.storeParams()
@ui.setStoreParams()
selectProfile: (e) =>
profile_id = $(e.target).val()
@@ -600,7 +616,7 @@ class Sidebar extends App.Controller
delete @params.profileSelected[key]
@params.profileSelected[profile_id] = true
App.Event.trigger('ui:report:rerender')
@ui.storeParams()
@ui.setStoreParams()
selectBackend: (e) =>
backend = $(e.target).val()
@@ -610,7 +626,7 @@ class Sidebar extends App.Controller
else
delete @params.backendSelected[backend]
App.Event.trigger('ui:report:rerender')
@ui.storeParams()
@ui.setStoreParams()
App.Config.set('report', Reporting, 'Routes')
App.Config.set('Reporting', { prio: 8000, parent: '', name: __('Reporting'), translate: true, target: '#report', icon: 'report', permission: ['report'] }, 'NavBarRight')

Some files were not shown because too many files have changed in this diff Show More