Compare commits

...

386 Commits

Author SHA1 Message Date
Florian Liebe
d55e1ff2f9 Maintenance: Websocket event dispatch echoes raw exception messages and assigns unfiltered params.
Co-authored-by: Simon Bärlocher <s.baerlocher@sbaerlocher.ch>
2026-10-05 12:04:17 +02:00
Florian Liebe
15c7e6d4ff Release Zammad 6.5.4. 🚀 2026-04-08 07:09:46 +02:00
Florian Liebe
0437ea1822 Update release date. 2026-04-08 07:02:14 +02:00
Mantas
301ad22740 Maintenance: Update Ruby on Rails to 7.2.3.1 2026-03-27 09:50:34 +02:00
Florian Liebe
e6048fe713 Maintenance: Improve link adding during ticket creation. 2026-03-26 18:00:09 +02:00
Mantas
f09196d7c4 Follow up - b5d495a923 - Maintenance: Improves Webhook and External Data Source resilience against malicious endpoint addresses 2026-03-26 17:22:33 +02:00
Mantas Masalskis
b5d495a923 Maintenance: Improves Webhook and External Data Source resilience against malicious endpoint addresses 2026-03-26 13:18:04 +02:00
Florian Liebe
994a1af897 Maintenance: Update icalendar +json gem. 2026-03-26 12:11:29 +01:00
Florian Liebe
3721e07a7d Maintenance: Improve SSO mechanism. 2026-03-23 15:22:08 +01:00
Florian Liebe
d35acfbc00 Maintenance: Harden external credentials flow. 2026-03-23 12:21:10 +01:00
Florian Liebe
bc7472e1bc Maintenance: Improve wipe mechanism of HTML sanitizer.
(cherry picked from commit 9d2a4ef96201e3127048f9145c3d11c0be298ffa)

9d2a4ef9 Maintenance: Improve wipe mechanism of HTML sanitizer.

Co-authored-by: Florian Liebe <fl@zammad.com>
2026-03-20 21:51:23 +01:00
Dominik Klein
9587452de1 Maintenance: Improve getting started handling.
Co-authored-by: Florian Liebe <fl@zammad.com>
Co-authored-by: Dominik Klein <dk@zammad.com>
2026-03-18 14:26:32 +01:00
Florian Liebe
07666682c6 Maintenance: Update for Zammad 6.5.4. 2026-03-18 10:58:57 +01:00
Martin Gruner
eb0601da6d Maintenance: update files for 6.5.3 2026-03-10 14:37:11 +01:00
Martin Gruner
abc1f6154c Maintenance: Improve redis logging. 2026-03-05 14:10:20 +01:00
Rolf Schmidt
58619074c3 Maintenance: Fix naming for block operators.
Co-authored-by: Dominik Klein <dk@zammad.com>
Co-authored-by: Florian Liebe <fl@zammad.com>
2026-03-05 12:27:36 +01:00
Florian Liebe
081f19205c Maintenance: Improve ticket_related endpoint.
Co-authored-by: Dominik Klein <dk@zammad.com>
2026-03-05 12:27:35 +01:00
Florian Liebe
5bb072c53f Maintenance: Improve import related endpoints.
Co-authored-by: Dominik Klein <dk@zammad.com>
2026-03-05 12:27:34 +01:00
Florian Liebe
18178c6196 Maintenance: Improve ticket update handling using REST API/GraphQL mutation.
Co-authored-by: Dominik Klein <dk@zammad.com>
2026-03-05 12:27:06 +01:00
Martin Gruner
b0db09aab4 Trigger build for packager.io 2026-03-04 08:31:23 +01:00
Klaus Mueller
5be5626a10 Maintenance: Update publiccode.yml to add used by information. 2026-03-02 09:18:11 +01:00
Florian Liebe
c7da54926d Maintenance: Update brakeman ignore file. 2026-03-02 07:40:23 +01:00
Florian Liebe
1395ca8fbe Maintenance: Update various gems. 2026-02-24 07:30:55 +01:00
Mantas Masalskis
a67cb65a71 Maintenance: Clarify Macro administrator permission 2026-02-21 20:05:23 +02:00
Dusan Vuckovic
160714e22d Fixes #5948 - Default time diff is applying wrong units when the associated fields are missing. 2026-02-19 15:04:36 +00:00
Florian Liebe
b0c653accd Maintenance: Update gem dependencies. 2026-02-12 10:13:54 +01:00
Weblate
55d97c3d23 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: Rok Poje <rok.poje@mintpos.si>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: chrand818 <can@telenabler.com>
Co-authored-by: kands-software <admin@kands.pl>
Co-authored-by: mathew-uems <mathew.chen@edgentauems.com.tw>
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/pl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sv/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/zh_Hant/
Translation: Zammad/Zammad (stable version)
2026-02-09 18:08:55 +00:00
Zammad Weblate
f6c9f57f59 Translations update from Zammad-Translations 2026-02-09 12:38:02 +01:00
Dusan Vuckovic
9faef42efa Fixes #5935 - Leading spaces get deleted when inserting mentions in Firefox. 2026-02-06 14:41:29 +00:00
Dusan Vuckovic
6924af8e11 Fixes #5942 - If a larger list of groups is available in the ticket, it is not possible to scroll the groups. 2026-02-04 16:17:45 +00:00
Weblate
90191cfc80 Maintenance: Update translated files and catalog 2026-02-04 06:38:32 +00:00
Weblate
6b658cc55b 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: Mixer <mixer@mixercz.cz>
Co-authored-by: Sumonchai Wongphithak <sumonchai@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: mathew-uems <mathew.chen@edgentauems.com.tw>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/cs/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sr_Cyrl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/th/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/zh_Hant/
Translation: Zammad/Zammad (stable version)
2026-02-03 22:00:37 +00:00
Mantas Masalskis
e27cc96d5b Fixes #5931 - Knowledge Base Editor freezes when adding video 2026-02-03 15:39:02 +02:00
Florian Liebe
d278bdb09e Maintenance: Update brakeman ignore file.
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
2026-01-30 11:07:54 +01:00
Dusan Vuckovic
12b6c85675 Fixes #5916 - Blue text after mentioning. 2026-01-29 13:18:57 +00:00
Rolf Schmidt
5ca61ee542 Maintenance: Add rake task to get cache io performance.
Co-authored-by: Florian Liebe <fl@zammad.com>
2026-01-28 12:37:06 +01:00
Mantas Masalskis
f21c824bb9 Fixes #5923 - KB agent search inside a category broken in SQL fallback mode 2026-01-28 12:10:24 +02:00
Weblate
e7b53f6ffe 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: Karoly Nagy <cpt.charlesg@gmail.com>
Co-authored-by: Mixer <mixer@mixercz.cz>
Co-authored-by: Murat Duman <mduman@metu.edu.tr>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/cs/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/en_GB/
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/tr/
Translation: Zammad/Zammad (stable version)
2026-01-26 09:02:00 +00:00
Zammad Weblate
5157babf3c Translations update from Zammad-Translations 2026-01-23 07:12:51 +01:00
Mantas Masalskis
7f7854c4ce Fixes #5914 - Vertical bar pipe in macro name is interpreted as bold 2026-01-22 17:07:57 +02:00
Martin Gruner
43c2242a28 Revert "Maintenance: Use CI_JOB_TOKEN for automated commit creation" 2026-01-21 13:47:30 +01:00
Martin Gruner
e4f7a0d026 Maintenance: Use CI_JOB_TOKEN for automated commit creation 2026-01-21 11:56:10 +01:00
Dusan Vuckovic
c51d48338d Maintenance: Improve error handling in the chat configuration page. 2026-01-20 10:16:58 +00:00
Martin Gruner
67f668c1aa Maintenance: Update contacts for publiccode.yml 2026-01-19 12:42:26 +01:00
Florian Liebe
fdeb07bd82 Maintenance: Update release script to update publiccode.yml. 2026-01-19 10:32:11 +01:00
Zammad Weblate
84d388bccd Translations update from Zammad-Translations 2026-01-19 07:59:03 +01:00
Florian Liebe
581a055bfa Maintenance: Add publiccode.yml file.
Co-authored-by: Martin Gruner <mg@zammad.com>
2026-01-16 14:04:43 +01:00
Weblate
36bc8990e0 Maintenance: Update translated files and catalog 2026-01-13 07:58:29 +00:00
Weblate
e36b406462 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Andre Oli <n0bledeath.117@gmail.com>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pt_PT/
Translation: Zammad/Zammad (stable version)
2026-01-13 07:54:14 +00:00
Weblate
280032b487 Maintenance: Update translated files and catalog 2026-01-12 12:03:04 +00:00
Weblate
68a9934225 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: Andre Oli <n0bledeath.117@gmail.com>
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
Co-authored-by: Karoly Nagy <cpt.charlesg@gmail.com>
Co-authored-by: MBekspert <michal.bosak@ekspert.biz>
Co-authored-by: Random <random_r@users.noreply.translations.zammad.org>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: mathew-uems <mathew.chen@edgentauems.com.tw>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/en_GB/
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/it/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pt_PT/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sr_Cyrl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/zh_Hant/
Translation: Zammad/Zammad (stable version)
2026-01-12 12:00:37 +00:00
Florian Liebe
ec36ac7f3c Maintenance: Update httparty gem. 2026-01-12 10:25:51 +01:00
Florian Liebe
c55d2bcb43 Maintenance: Renew client configuration for Keycloak. 2026-01-08 15:29:09 +01:00
Mantas Masalskis
5ee205d566 Maintenance: Update copyright information. 2026-01-02 13:45:18 +02:00
Marcel Bialas
f701ab196e Fixes #5884 - Preserve image dimensions when forwarding 2025-12-30 09:47:44 +01:00
Weblate
014b1fa1d1 Maintenance: Update translated files and catalog 2025-12-23 05:36:00 +00:00
Weblate
ba6ff57471 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: Karoly Nagy <cpt.charlesg@gmail.com>
Co-authored-by: Mantas Masalskis <mantas@idev.lt>
Co-authored-by: Mixer <mixer@mixercz.cz>
Co-authored-by: Murat Özalp <cunyor@gmail.com>
Co-authored-by: PackyZhang <zhanghongbang@live.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: mathew-uems <mathew.chen@edgentauems.com.tw>
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/en_GB/
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/lt/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/tr/
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-12-23 05:32:20 +00:00
Mantas
ec5265c1e7 Maintenance: Update aws-sdk-s3 to 1.208.0 (CVE-2025-14762) 2025-12-19 20:09:34 +02:00
Mantas Masalskis
889983bcf0 Fixes #5893 - Possible null error in ticket state update when checklist enabled 2025-12-19 20:01:03 +02:00
Mantas Masalskis
5697ef96d5 Fixes #5887 - Knowledge Base search extremely slow despite fast Elasticsearch response 2025-12-16 18:50:51 +02:00
Martin Gruner
3f6d7e5749 Maintenance: Improve submit for language data to supabase 2025-12-12 07:40:00 +01:00
Martin Gruner
a7d8c86c90 Maintenance: repair SLES 15 build 2025-12-08 11:41:46 +01:00
Weblate
1e4f6fe8c4 Maintenance: Update translated files and catalog 2025-12-08 06:44:20 +00:00
Weblate
84f023a1c3 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: Weblate <noreply@weblate.org>
Co-authored-by: albanobattistella <albanobattistella@gmail.com>
Co-authored-by: jeysunit <jeysunit@bcamp.net>
Co-authored-by: mathew-uems <mathew.chen@edgentauems.com.tw>
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/ja/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sr_Cyrl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/zh_Hant/
Translation: Zammad/Zammad (stable version)
2025-12-08 06:41:46 +00:00
Rolf Schmidt
2b72607ee6 Fixes #5882 - S/MIME with Cc but no To field fails on decryption. 2025-12-05 16:57:56 +01:00
Weblate
63ed9c6515 Maintenance: Update translated files and catalog 2025-12-03 12:43:41 +00:00
Weblate
f0c09ba31c Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Ivan Perovic <ip@zammad.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: chrand818 <can@telenabler.com>
Co-authored-by: jeysunit <jeysunit@bcamp.net>
Co-authored-by: mathew-uems <mathew.chen@edgentauems.com.tw>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/hr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ja/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sv/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/zh_Hant/
Translation: Zammad/Zammad (stable version)
2025-12-03 12:41:22 +00:00
Dusan Vuckovic
f5ff6c7df1 Maintenance: Stabilize calendar spec. 2025-12-03 12:01:41 +00:00
Dominik Klein
3024f4280c Maintenance: Add small OpenID Connect improvements when discovery feature is not used.
Co-authored-by: Florian Liebe <fl@zammad.com>
Co-authored-by: Dominik Klein <dk@zammad.com>
2025-12-03 09:44:59 +01:00
Weblate
bc4a754e13 Maintenance: Update translated files and catalog 2025-11-28 10:57:36 +00:00
Weblate
e99e416142 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: MBekspert <michal.bosak@ekspert.biz>
Co-authored-by: Mantas Masalskis <mantas@idev.lt>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: mathew-uems <mathew.chen@edgentauems.com.tw>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/lt/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/zh_Hant/
Translation: Zammad/Zammad (stable version)
2025-11-28 10:53:53 +00:00
Benjamin Scharf
4f816db6d2 Fixes #5624 - SLA - Persisting Update Time 2025-11-27 09:59:29 +01:00
Rolf Schmidt
b163502a05 Fixes #5846 - wrong umask leads to major issues which are hard to identify.
Co-authored-by: Martin Gruner <mg@zammad.com>
Co-authored-by: Tarek Shehab <tsh@zammad.com>
2025-11-27 09:23:50 +01:00
Martin Gruner
8c5e23c02f Fixes #5851 - Admin -> Macros - Translation in French - bad escaping of quote characters 2025-11-26 07:54:59 +01:00
Weblate
4d4a672aa1 Maintenance: Update translated files and catalog 2025-11-24 13:24:07 +00:00
Weblate
c79cca893a 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: JonggwonSeon <jg.seon@sdt.inc>
Co-authored-by: MBekspert <michal.bosak@ekspert.biz>
Co-authored-by: Mantas Masalskis <mantas@idev.lt>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: mathew-uems <mathew.chen@edgentauems.com.tw>
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/ko/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/lt/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/zh_Hant/
Translation: Zammad/Zammad (stable version)
2025-11-24 01:00:07 +00:00
Rolf Schmidt
1734c7f919 Fixed #5852 - core workflow: saved value is lost when it is restricted but another field is changed.
Co-authored-by: Dominik Klein <dk@zammad.com>
2025-11-20 12:28:28 +00:00
Weblate
24d5ad6931 Maintenance: Update translated files and catalog 2025-11-19 12:43:59 +00:00
Weblate
ceaf10bd3d 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: Anntoo <jdoomm@gmail.com>
Co-authored-by: Borut Baznik <borut.baznik@jhl.si>
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
Co-authored-by: JonggwonSeon <jg.seon@sdt.inc>
Co-authored-by: Karoly Nagy <cpt.charlesg@gmail.com>
Co-authored-by: MBekspert <michal.bosak@ekspert.biz>
Co-authored-by: Mantas Masalskis <mantas@idev.lt>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: mathew-uems <mathew.chen@edgentauems.com.tw>
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/en_GB/
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/is/
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/pl/
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/uk/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/zh_Hant/
Translation: Zammad/Zammad (stable version)
2025-11-19 12:41:51 +00:00
Rolf Schmidt
823dec261d Fixes #5850 - connection test script for systems with firewall/proxy setup.
Co-authored-by: Martin Gruner <mg@zammad.com>
2025-11-19 10:23:31 +01:00
Rolf Schmidt
c8495510c8 Maintenance: Move task manager singleton to own file for better patchability.
Co-authored-by: Dominik Klein <dk@zammad.com>
2025-11-18 14:20:58 +01:00
Martin Gruner
0d37a61f90 Maintenance: Add gitlab CI job to submit stats to supabase 2025-11-17 11:24:33 +01:00
Rolf Schmidt
723a46e61e Maintenance: Fix nil error on missing description in hardware of the system report. 2025-11-13 19:23:47 +01:00
Dominik Klein
60ba952302 Fixes #5843 - Freshdesk migration error when address fields are given as an string instead of an array. 2025-11-11 14:32:24 +01:00
Martin Gruner
1ff2c52d50 Maintenance: add ignore for .envrc
(cherry picked from commit 17caabd26c)

Co-authored-by: Martin Gruner <mg@zammad.com>
2025-11-11 10:10:30 +01:00
Ben
51909d1d94 Fixes #5837 - Inline images exceed container width, causing horizontal scrolling 2025-10-31 14:44:01 +00:00
Dusan Vuckovic
443f65b2ff Fixes #5835 - Zammad logo is showing "no new notifications" for a customer. 2025-10-30 19:25:18 +00:00
Weblate
3fc1bbac46 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: Weblate <noreply@weblate.org>
Co-authored-by: mathew-uems <mathew.chen@edgentauems.com.tw>
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/zh_Hant/
Translation: Zammad/Zammad (stable version)
2025-10-29 22:02:17 +00:00
Benjamin Scharf
c47363c0c9 Fixes #5827 - Time accounting - Activity Types are not translated 2025-10-29 09:42:04 +00:00
Mantas Masalskis
ba8e89badb Fixes #5824 - Show human-readable ApplicationModel errors for agent users 2025-10-29 11:37:15 +02:00
Weblate
277fb0e160 Maintenance: Update translated files and catalog 2025-10-27 14:28:07 +00:00
Weblate
8823e12c89 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: António Lima <aplima@euroemails.com>
Co-authored-by: Emanuel Saramago <dev@emanuelsaramago.com>
Co-authored-by: Karoly Nagy <cpt.charlesg@gmail.com>
Co-authored-by: Krzysztof Jereczek <krzysztof@pro2web.pl>
Co-authored-by: MBekspert <michal.bosak@ekspert.biz>
Co-authored-by: Mantikor <nhyuga.r@gmail.com>
Co-authored-by: Martin Gruner <mg@zammad.com>
Co-authored-by: Phoenix <phoenix.yu@vesoft.com>
Co-authored-by: Rok Poje <rok.poje@mintpos.si>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: mathew-uems <mathew.chen@edgentauems.com.tw>
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/hu/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pt_PT/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/uk/
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-10-27 14:26:09 +00:00
Ben
8e51440c9c Fixes #5819 - Arabic text in the trigger action (e-mail) scrambles the text (RTL --> LTR) 2025-10-23 07:56:26 +01:00
Benjamin Scharf
23b4cf5032 Fixes #5767 - Unfinished customer article behaves weird after restarting the session
Co-authored-by: Benjamin Scharf <bs@zammad.com>
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
2025-10-20 09:35:57 +02:00
Rolf Schmidt
28ab46c49e Maintenance: Add missing relation for store user.
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-10-13 13:35:33 +02:00
Benjamin Scharf
07e959c01c Fixes #5809 - Merging tickets does not update the article_count of the target ticket 2025-10-13 12:37:35 +02:00
Mantas Masalskis
cf89261291 Maintenance: Update Rack to 2.2.20 (CVE-2025-61919, CVE-2025-61780) 2025-10-12 16:24:47 +03:00
Marcel Bialas
de26741ee1 Fixes #5813 - S3_URL fails when AWS secret keys contains characters which will be encoded.
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-10-10 14:51:09 +02:00
Weblate
abf058ff0d Maintenance: Update translated files and catalog 2025-10-10 07:01:58 +01:00
Weblate
880bc4f121 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: Anntoo <jdoomm@gmail.com>
Co-authored-by: Benicio <vonfeben@init7.net>
Co-authored-by: Carlos Lindo <carloslindo@gmail.com>
Co-authored-by: Dmytro <ramadan2003@ukr.net>
Co-authored-by: Ferenc Kutas <ferenc@kutasferenc.hu>
Co-authored-by: Mantikor <nhyuga.r@gmail.com>
Co-authored-by: Martin Gruner <mg@zammad.com>
Co-authored-by: Murat Duman <mduman@metu.edu.tr>
Co-authored-by: PIXELHIZE <pixelhize@gmail.com>
Co-authored-by: Sumonchai Wongphithak <sumonchai@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: kdh949 <donghyun.kim@chungbuk.ac.kr>
Co-authored-by: mathew-uems <mathew.chen@edgentauems.com.tw>
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/hu/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ko/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pt_PT/
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/zh_Hant/
Translation: Zammad/Zammad (stable version)
2025-10-09 22:00:07 +00:00
Dusan Vuckovic
2955515697 Fixes #5811 - Unassigning organization requires editing the assignment first. 2025-10-09 12:37:10 +01:00
Florian Liebe
aaab9af13a Maintenance: Update rack gem. 2025-10-09 09:35:45 +02:00
Martin Gruner
fcae2a849b Maintenance: update uri gem 2025-10-08 08:10:27 +02:00
Dusan Vuckovic
de85e4a5c4 Fixes #5807 - Broken display in the date picker field. 2025-10-07 14:37:13 +01:00
Mantas Masalskis
5caba850fc Fixes #5806 - KB feed returns error 500 for non-existant category 2025-10-03 18:53:29 +03:00
Rolf Schmidt
d5d8c7ecdf Fixes #5194 - Report allows to pick February 31st.
Co-authored-by: Mantas Masalskis <mm@zammad.com>
2025-10-02 16:25:56 +02:00
Florian Liebe
4fca9878ce Maintenance: Update SAML client in CI. 2025-10-02 12:24:13 +02:00
Weblate
7ccef40e9b Maintenance: Update translated files and catalog 2025-09-29 07:03:01 +01:00
Weblate
7764d3be3f Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Carlos Lindo <carloslindo@gmail.com>
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
Co-authored-by: Ferenc Kutas <ferenc@kutasferenc.hu>
Co-authored-by: Ivan Perovic <ip@zammad.com>
Co-authored-by: Jonas Mandrén <Jonas@mandren.se>
Co-authored-by: Random <random_r@users.noreply.translations.zammad.org>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: mathew-uems <mathew.chen@edgentauems.com.tw>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
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/it/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pt_PT/
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/zh_Hant/
Translation: Zammad/Zammad (stable version)
2025-09-27 22:00:08 +00:00
Mantas
cb9e869e8b Maintanance: Update Rack to 2.2.18 (CVE-2025-59830) 2025-09-27 09:19:13 +03:00
Rolf Schmidt
1210d52ccc Fixes #5230 - Wrong tooltip and deletable action in Postmaster-Filter.
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-09-25 14:31:26 +02:00
Florian Liebe
b958e71fef Maintenance: Allow packager.io related test jobs to fail. 2025-09-25 07:53:22 +02:00
Rolf Schmidt
b18da133cb Fixes #5785 - Case insensitive in customer mail using the API not always true.
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-09-24 10:25:44 +02:00
Florian Liebe
3790f5f191 Follow-up cc3ef143d1750aa72fe5d38781a862a1f7473de1: Maintenance: Improve handling of sensitive data in HTTP log. 2025-09-24 09:20:16 +02:00
Florian Liebe
700e2fa128 Release Zammad 6.5.2. 🚀 2025-09-24 06:33:54 +02:00
Florian Liebe
28947b215e Follow-up cc3ef143: Maintenance: Improve handling of sensitive data in HTTP log.
Co-authored-by: Dominik Klein <dk@zammad.com>
2025-09-23 16:06:28 +02:00
Florian Liebe
a1cd0b3d06 Follow-up cc3ef143d1750aa72fe5d38781a862a1f7473de1: Maintenance: Improve handling of sensitive data in HTTP log.
Co-authored-by: Dominik Klein <dk@zammad.com>
2025-09-23 16:06:28 +02:00
Florian Liebe
1c328d2ede Maintenance: Improve handling of sensitive data in HTTP log.
Co-authored-by: Dominik Klein <dk@zammad.com>
2025-09-23 16:06:28 +02:00
Florian Liebe
b49ff68d86 Maintenance: Fix rubocop issues. 2025-09-23 16:06:28 +02:00
Dominik Klein
3c4bb94781 Maintenance: Add some improvements for the HTTP log handling.
Co-authored-by: Florian Liebe <fl@zammad.com>
Co-authored-by: Mantas Masalskis <mm@zammad.com>
Co-authored-by: Dominik Klein <dk@zammad.com>
2025-09-23 16:06:28 +02:00
Mantas Masalskis
630960a0b6 Maintenance: Improve logging behaviour 2025-09-23 16:06:28 +02:00
Florian Liebe
cb84fa6dca Follow-up 9acec78f: Fixes #5774 - Closing a ticket using a macro skips the "Incomplete Ticket Checklist" notification. 2025-09-23 15:51:05 +02:00
Rolf Schmidt
bdeb284836 Fixes #5792 - Scheduler config will be changed with variable execution value when executed.
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-09-23 15:45:59 +02:00
Weblate
a4e079f41e Maintenance: Update translated files and catalog 2025-09-22 07:45:38 +01:00
Weblate
a0a0bc4bb5 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: Carlos Lindo <carloslindo@gmail.com>
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: Weblate <noreply@weblate.org>
Co-authored-by: mathew-uems <mathew.chen@edgentauems.com.tw>
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/hr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/it/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pt_PT/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/zh_Hant/
Translation: Zammad/Zammad (stable version)
2025-09-22 06:42:53 +00:00
Florian Liebe
c0a5361e38 Maintenance: Update rexml gem. 2025-09-19 08:23:21 +02:00
Rolf Schmidt
71ffa8194a Fixes #5782 - Trigger placeholder missing when language is set to german.
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-09-17 14:18:19 +02:00
Benjamin Scharf
3b34f3d92d Fixes #5774 - Closing a ticket using a macro skips the "Incomplete Ticket Checklist" notification
Co-authored-by: Benjamin Scharf <bs@zammad.com>
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-09-12 14:08:43 +01:00
Mantas Masalskis
a54273d964 Fixes #5769 - ChecklistTablesWrongColumnType migration fails on MySQL-to-Postgres instances 2025-09-12 11:31:31 +03:00
Weblate
69169c3ab4 Maintenance: Update translated files and catalog 2025-09-10 23:04:09 +01:00
Weblate
9e856fad19 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: Anntoo <jdoomm@gmail.com>
Co-authored-by: Carlos Lindo <carloslindo@gmail.com>
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
Co-authored-by: Ferenc Kutas <ferenc@kutasferenc.hu>
Co-authored-by: Murat Duman <mduman@metu.edu.tr>
Co-authored-by: Ralf Schmid <rsc@zammad.com>
Co-authored-by: Rudolfet <hermy.t.m1997@gmail.com>
Co-authored-by: Shadowdenim <mikebeelen111@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: csongoose <csongoose@gmail.com>
Co-authored-by: mathew-uems <mathew.chen@edgentauems.com.tw>
Co-authored-by: newsam202 <newsam202@naver.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/hu/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/it/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ko/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/nl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pt_PT/
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/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/zh_Hant/
Translation: Zammad/Zammad (stable version)
2025-09-10 22:00:18 +00:00
Ben
daf1664de5 Fixes #5772 - Translations - Storage methods are not translated on exemples on storage parameters 2025-09-10 06:58:54 +01:00
Rolf Schmidt
e1551c07a1 Maintenance: Move session elements to own function for monkey patching.
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-09-08 16:59:45 +02:00
Dusan Vuckovic
ef4d833c04 Maintenance: Stabilize field typing in tests. 2025-09-08 11:46:20 +02:00
Mantas Masalskis
14056d81b6 Fixes #5756 - AI Agent: Result is sometimes not applied to the ticket 2025-09-05 16:42:14 +03:00
Benjamin Scharf
f5adf773b1 Fixes #4927 - Scheduler job refers to time in past in column "Scheduled for" 2025-09-04 07:23:10 +01:00
Florian Liebe
78771b5afa Maintenance: Update Zendesk cassettes. 2025-09-03 12:43:20 +02:00
Dusan Vuckovic
89317a96cb Maintenance: Stabilize ticket edit test. 2025-09-03 10:49:20 +01:00
Dusan Vuckovic
c8b441806c Fixes #5758 - Missing ui_ticket_create_notes setting on existing systems. 2025-09-02 12:33:27 +01:00
Ben
0430e4e6d8 Fixes #5751 - Login -> 2FA - Translation in French - bad escaping of quote characters 2025-08-29 07:22:39 +01:00
Florian Liebe
ccaca6bf8c Maintenance: Update OpenStreetMap related test. 2025-08-28 11:42:45 +02:00
Florian Liebe
6872fbe99b Fixes #5752 - Wrong database column type for checklists + checklist templates after migration to PostgreSQL. 2025-08-27 11:51:42 +02:00
Martin Gruner
a659a77fe2 Maintenance: Unpin Chrome version in CI 2025-08-22 15:23:34 +02:00
Rolf Schmidt
f728a3835d Fixes #5746 - Logout does not work because of nil error (OpenID Connect).
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-08-22 11:33:19 +02:00
Weblate
dad1996338 Maintenance: Update translated files and catalog 2025-08-21 10:27:14 +01:00
Weblate
d836fd8d64 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Nikita <nyakovlev@iko.tech>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: mathew-uems <mathew.chen@edgentauems.com.tw>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ru/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/zh_Hant/
Translation: Zammad/Zammad (stable version)
2025-08-21 09:25:06 +00:00
Martin Gruner
e20f03a6bb Fixes #5732 - Attachments cannot be uploaded to the knowledge base one after the other 2025-08-20 08:55:00 +02:00
Florian Liebe
89fca58a4e Fixes #5744 - Fetching children of a knowledge base category returns wrong data. 2025-08-20 08:44:03 +02:00
Weblate
5882b1220b Maintenance: Update translated files and catalog 2025-08-18 23:02:11 +01:00
Weblate
c751ce6772 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Anntoo <jdoomm@gmail.com>
Co-authored-by: Nikita <nyakovlev@iko.tech>
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/ru/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/uk/
Translation: Zammad/Zammad (stable version)
2025-08-18 22:00:04 +00:00
Florian Liebe
6b60e7b476 Maintenance: Update zammad-auth configuration. 2025-08-18 09:57:08 +02:00
Florian Liebe
ad0b1bd231 Maintenance: Update Rails to version 7.2.2.2. 2025-08-15 13:09:47 +02:00
Florian Liebe
e55bdaf93d Release Zammad 6.5.1. 🚀 2025-08-13 07:47:17 +02:00
Dusan Vuckovic
cce9a3941e Maintenance: Improve HTML output.
Co-authored-by: Mantas Masalskis <mm@zammad.com>
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
2025-08-12 14:28:53 +02:00
Mantas Masalskis
ba9454278d Maintenance: Improve KB global search 2025-08-12 14:28:53 +02:00
Weblate
a34afda537 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 (stable version)
2025-08-07 22:00:04 +00:00
Florian Liebe
39a8ea8a1b Maintenance: Drop form helpers spec. 2025-08-07 13:05:51 +02:00
Florian Liebe
0afb944485 Maintenance: Improve form helpers spec. 2025-08-07 09:15:11 +02:00
Weblate
01ded2ca0c Maintenance: Update translated files and catalog 2025-08-07 06:44:23 +01:00
Weblate
3bdea052f5 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: MBekspert <michal.bosak@ekspert.biz>
Co-authored-by: Martin Gruner <mg@zammad.com>
Co-authored-by: Mauricio Rampazo <mrampazo@outlook.com>
Co-authored-by: Murat Duman <mduman@metu.edu.tr>
Co-authored-by: Ralf Schmid <rsc@zammad.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/de/
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/pt_BR/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sr_Cyrl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/tr/
Translation: Zammad/Zammad (stable version)
2025-08-07 05:41:59 +00:00
Florian Liebe
d6c15a31e4 Maintenance: Update ruby-saml gem. 2025-08-04 07:36:59 +02:00
Dominik Klein
6fdcf0ce8a Fixes #5663 - OpenID Integration UID field does not work. 2025-08-01 15:46:42 +02:00
Rolf Schmidt
4fd737c20a Fixes #5719 - Search for organizations shows clone icon.
Co-authored-by: Mantas Masalskis <mm@zammad.com>
2025-07-31 14:13:51 +02:00
Benjamin Scharf
edd613feda Maintenance: Desktop view - Warn users that stumble upon the desktop view
Co-authored-by: Benjamin Scharf <bs@zammad.com>
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
Co-authored-by: Martin Gruner <mg@zammad.com>
2025-07-29 15:10:53 +02:00
Rolf Schmidt
be42afa177 Maintenance: Add table id to report preview table.
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-07-29 13:46:34 +02:00
Weblate
68954425fe 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: Fernando s Maciel <tecnobeach.itanhaem@gmail.com>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/fr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pt_BR/
Translation: Zammad/Zammad (stable version)
2025-07-26 19:00:02 +00:00
Weblate
cc7247b28b 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: MBekspert <michal.bosak@ekspert.biz>
Co-authored-by: fwmats <matsunaga@fairway-corp.co.jp>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/es/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ja/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pl/
Translation: Zammad/Zammad (stable version)
2025-07-23 17:59:02 +00:00
Florian Liebe
1895993661 Maintenance: Update nokogiri and thor gems. 2025-07-23 08:26:11 +02:00
Rolf Schmidt
29af61ae26 Maintenance: Split up article_create to make time accountings and attachments more patchable.
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-07-22 10:59:39 +02:00
Weblate
1618eb1423 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: JackYeah <jack11070@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/zh_Hant/
Translation: Zammad/Zammad (stable version)
2025-07-21 06:20:33 +00:00
Weblate
dace359f94 Maintenance: Update translated files and catalog 2025-07-17 23:02:19 +01:00
Weblate
5d7fd26976 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: Anntoo <jdoomm@gmail.com>
Co-authored-by: MBekspert <michal.bosak@ekspert.biz>
Co-authored-by: Martin Bonde <martin@maboni.dk>
Co-authored-by: Murat Duman <mduman@metu.edu.tr>
Co-authored-by: Nikita <nyakovlev@iko.tech>
Co-authored-by: Ruben <ruben@bibsyst.no>
Co-authored-by: Sebastian Diaz <sebdiazf@gmail.com>
Co-authored-by: Suat VARLIKLI <suatvarlikli89@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: chrand818 <can@telenabler.com>
Co-authored-by: sigurbjartur <github@sigurbjartur.com>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/da/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/es_MX/
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/nb_NO/
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/sv/
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-07-17 22:00:04 +00:00
Moritz Klasen
3e56b2a446 Fixes #5451 - Shortcut "shift + c" not closing ticket when previously set to waiting state 2025-07-17 10:29:13 +02:00
Rolf Schmidt
6878f0d22a Fixes #5713 - Data privacy user deletion foreign key error.
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-07-16 13:43:01 +01:00
Florian Liebe
3d2de40aaa Maintenance: Update Zendesk cassettes. 2025-07-10 12:31:53 +02:00
Mantas Masalskis
40e1de022c Fixes #5686 - Tickets that are displayed as a preview in the reporting... 2025-07-09 17:06:52 +03:00
Florian Liebe
916f756e59 Fixes #5668 - Content of an custom ticket object attribute set via trigger variable are not saved, if one of the used variable has an empty content.
Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2025-07-09 13:47:00 +02:00
Dusan Vuckovic
2f46ec7bd2 Fixes #5699 - nginx restart message contains apache hint. 2025-07-09 12:42:40 +01:00
Dusan Vuckovic
18e2dd5690 Fixes #5691 - When executing a macro via overview, the overview is re-rendered completely, causing the agent to lose its focus in overview. 2025-07-09 12:17:42 +01:00
Benjamin Scharf
34a6168a9d Fixes #5673 - When clicking on reply and clicking on forward of an Article... 2025-07-09 10:42:10 +02:00
Benjamin Scharf
036a893056 Fixes #5696: Overviews - On deletion of the 51th element it will show no entries 2025-07-09 07:56:24 +02:00
Rolf Schmidt
9eb758e473 Maintenance: Stabilize test spec/system/ticket/create_spec.rb:263.
Co-authored-by: Martin Gruner <mg@zammad.com>
2025-07-07 15:20:47 +02:00
Rolf Schmidt
c5c12defea Maintenance: Stabilize ticket create test. 2025-07-07 15:20:47 +02:00
Florian Liebe
53e015428b Fixes #5689 - Pressing the Enter key when editing a saved checklist template deletes checklist items. 2025-07-07 14:37:49 +02:00
Weblate
c85c50b7d4 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 (stable version)
2025-07-03 06:41:29 +00:00
Weblate
c5d682a5e7 Maintenance: Update translated files and catalog 2025-07-03 06:54:53 +01:00
Weblate
00018ddfbc Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Anntoo <jdoomm@gmail.com>
Co-authored-by: Anton Lukianchuk <jdoomm@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/uk/
Translation: Zammad/Zammad (stable version)
2025-07-02 18:07:15 +00:00
Mantas Masalskis
164fced717 Fixes #5690 - After deleting a Trigger, it stays till reloading 2025-07-02 18:28:36 +03:00
Mantas Masalskis
d4f9c417a6 Fixes #5661 - Article Sender Trigger Condition does not Show Values 2025-07-02 14:29:59 +03:00
Weblate
edbc9f8867 Maintenance: Update translated files and catalog 2025-07-02 10:40:50 +01:00
Weblate
42444ccd6d Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Anton Lukianchuk <jdoomm@gmail.com>
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
Co-authored-by: Martin Gruner <mg@zammad.com>
Co-authored-by: Murat Duman <mduman@metu.edu.tr>
Co-authored-by: Nikita <nyakovlev@iko.tech>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: engano <enoceda@puntotec.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/es/
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/tr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/uk/
Translation: Zammad/Zammad (stable version)
2025-07-02 09:37:21 +00:00
Rolf Schmidt
f7c6e7c336 Fixes #5687 - ticket search parameter with_total_count only works with full=true.
Co-authored-by: Mantas Masalskis <mm@zammad.com>
2025-07-02 10:37:31 +02:00
Dusan Vuckovic
d47e22c95a Maintenance: Improve check for an existing system configuration in services. 2025-07-01 14:38:48 +01:00
Martin Gruner
c7b49f455e Maintenance: switch ES latest tests to ES 8 to avoid test failures 2025-06-30 14:13:17 +02:00
Rolf Schmidt
836dca3a17 Follow up 9e8d0bcbbe - Fixes #5589 - Try other solution via css.
Co-authored-by: Dusan Vuckovic <dv@zammad.com>


(cherry picked from commit ace2dab31f)

2d41dc84 Follow up 9e8d0bcbbe - Fixes #5589 - Try other solution via css.
392fce49 use wait
3cc62d57 tidy
f5bd5349 add debug
2ca971f3 test
71e6dd4d test one
4522fcbf fix test
619c4676 add comment
a098c84b bring debug back
47c428fe test
e8e68690 test
688eab70 sd# Bitte geben Sie eine Commit-Beschreibung für Ihre Änderungen ein. Zeilen,
1ece4630 asdf
5ddf560c try other test style

Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2025-06-27 18:03:44 +02:00
Rolf Schmidt
1fba4606de Fixes #5589 - Display error of copied text in dark mode.
Co-authored-by: Dusan Vuckovic <dv@zammad.com>


(cherry picked from commit 21117b9df5)

21117b9d Fixes #5589 - Display error of copied text in dark mode.

Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2025-06-27 18:03:28 +02:00
Rolf Schmidt
6d3adfd9d5 Revert "Fixes #5589 - Display error of copied text in dark mode." 2025-06-27 11:29:27 +02:00
Rolf Schmidt
21117b9df5 Fixes #5589 - Display error of copied text in dark mode.
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
2025-06-27 11:24:26 +02:00
Mantas Masalskis
e349b2df9c Fixes #5634 - Malformed quote after the usage of the ticket article reply will full quote 2025-06-25 15:12:30 +03:00
Weblate
bf43fc3113 Maintenance: Update translated files and catalog 2025-06-23 21:02:46 +01:00
Weblate
3e8e122084 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Elias Grinias <elgrinias@gmail.com>
Co-authored-by: Murat Duman <mduman@metu.edu.tr>
Co-authored-by: Nikita <nyakovlev@iko.tech>
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/el/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ru/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/tr/
Translation: Zammad/Zammad (stable version)
2025-06-23 20:00:06 +00:00
Rolf Schmidt
f88d427904 Fixes #5667 - Ticket field named order leads to the issues when indexing in ES.
Co-authored-by: Mantas Masalskis <mm@zammad.com>
2025-06-23 10:49:05 +02:00
Martin Gruner
9a4644ec73 Maintenance: Simplify text modules test to make it pass on Firefox 139+
(cherry picked from commit cb92edf909)

8908b18e Maintenance: Simplify text modules test to make it pass on Firefox 139+
46d287c9 seems to work on both FF 137 and 139

Co-authored-by: Mantas Masalskis <mm@zammad.com>
2025-06-18 14:07:19 +02:00
Rolf Schmidt
2791cf8db3 Fixes #5659 - Tickets are not found via the search using the complete ticket hook. 2025-06-18 09:05:01 +02:00
Mantas Masalskis
05c943c2fc Fixes #5660 - Tags that are set via a scheduler are not found via the Zammad search 2025-06-16 16:38:14 +03:00
Weblate
dd6ae28787 Maintenance: Update translated files and catalog 2025-06-16 07:05:54 +01:00
Weblate
924302b58d 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 Gruner <mg@zammad.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/de/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/uk/
Translation: Zammad/Zammad (stable version)
2025-06-16 06:02:04 +00:00
Mantas Masalskis
06d0d09cb2 Fixes #5623 - Tickets which matches the report profile condition are not shown in the report itself 2025-06-12 20:01:38 +03:00
Weblate
4510102777 Maintenance: Update translated files and catalog 2025-06-11 06:44:12 +01:00
Weblate
4342101ea2 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: Casper Andersen <ndersorn@outlook.dk>
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
Co-authored-by: Leonerd <3ickleonerd@gmail.com>
Co-authored-by: LomaxThomas <thomas.hartvig@lomax.dk>
Co-authored-by: MBekspert <michal.bosak@ekspert.biz>
Co-authored-by: Martin Gruner <mg@zammad.com>
Co-authored-by: Murat Duman <mduman@metu.edu.tr>
Co-authored-by: Nikita <nyakovlev@iko.tech>
Co-authored-by: Random <random_r@users.noreply.translations.zammad.org>
Co-authored-by: Rok Poje <rok.poje@mintpos.si>
Co-authored-by: SUMONCHAI WONGPITAK <sumonchai@gmail.com>
Co-authored-by: Sumonchai Wongphithak <sumonchai@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/da/
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/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/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/
Translation: Zammad/Zammad (stable version)
2025-06-09 22:00:05 +00:00
Mantas Masalskis
931d25862e Fixes #5658 - Webhook returns no such method for time_unit. 2025-06-09 17:23:52 +03:00
Dusan Vuckovic
d4284afad1 Fixes #5646 - Password reset with mandatory 2FA results in a stuck recovery codes dialog. 2025-06-05 10:26:39 +01:00
Florian Liebe
85504067c3 Fixes #5632 - During object attribute deletion only relation inside conditions (e.g. overviews) are checked.
Co-authored-by: Tobias Schäfer <ts@zammad.com>
2025-06-03 14:58:01 +02:00
Florian Liebe
eaa0fd84df Fixes #5644 - 404 on setting default 2FA Device.
Co-authored-by: Tobias Schäfer <ts@zammad.com>
2025-06-03 13:37:59 +02:00
Florian Liebe
9787c9b737 Follow-up c2c4eb3 - Fixes #5609 - Renaming tags is not working.
Co-authored-by: Tobias Schäfer <ts@zammad.com>
2025-06-03 09:28:11 +02:00
Mantas Masalskis
9c7e10a349 Fixes #5642 - When creating a ticket article via API, wrong ticket permission is checked 2025-05-30 17:05:49 +03:00
Dusan Vuckovic
e9d43b3834 Fixes #5639 - Mobile HTML Email Content Horizontal Scrolling Issue - Content Cut Off. 2025-05-30 11:18:46 +01:00
Mantas Masalskis
565ce4d50a Fixes #5475 - User interface looks broken if user has no roles or permissions 2025-05-30 10:06:52 +03:00
Mantas Masalskis
5bfc5b0520 Fixes #5641 - Switched-to-user header visible after logging out 2025-05-29 11:13:17 +03:00
Weblate
6a9655d095 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: Murat Duman <mduman@metu.edu.tr>
Co-authored-by: SUMONCHAI WONGPITAK <sumonchai@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: horizonxh <horizonxh@163.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/th/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/tr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/zh_Hans/
Translation: Zammad/Zammad (stable version)
2025-05-28 05:13:31 +00:00
Mantas Masalskis
4fb2e75c4e Fixes #3532 - Ticket Article Plain throws 204 Empty Content or HTTP 500 2025-05-27 12:38:20 +03:00
Mantas Masalskis
c231040855 Fixes #5176 - Report-Profile non-functional with organization is current users organization 2025-05-26 19:42:34 +03:00
Weblate
eb746424a3 Maintenance: Update translated files and catalog 2025-05-24 12:02:49 +01:00
Weblate
a2f0d327c4 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: Murat Duman <mduman@metu.edu.tr>
Co-authored-by: Suat VARLIKLI <suatvarlikli89@gmail.com>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/de/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/tr/
Translation: Zammad/Zammad (stable version)
2025-05-24 11:00:02 +00:00
Martin Gruner
020e85a98c Fixes #5415 - Enhance install script description for apache2 users about required modules 2025-05-23 14:48:15 +02:00
Weblate
3ec7dad837 Maintenance: Update translated files and catalog 2025-05-21 10:31:45 +01:00
Weblate
5e26794b08 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: MBekspert <michal.bosak@ekspert.biz>
Co-authored-by: Murat Duman <mduman@metu.edu.tr>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: chrand818 <can@telenabler.com>
Co-authored-by: horizonxh <horizonxh@163.com>
Co-authored-by: sigurbjartur <github@sigurbjartur.com>
Co-authored-by: 周柏佑 <frank@sydt.com.tw>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/is/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pl/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sv/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/tr/
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-05-21 09:26:36 +00:00
Rolf Schmidt
dfc90c43ec Fixes #5626 - Ticket zoom crashes when file is too large.
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
2025-05-20 17:01:43 +01:00
Martin Gruner
84bec2b759 Maintenance: Fix docker CI job 2025-05-20 11:19:43 +02:00
Dominik Klein
19252d6ebf Maintenance: Add vi.waitFor and vi.waitUntil wrapper functions to have a global default timeout. 2025-05-19 07:42:19 +02:00
Weblate
e71db20743 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 (stable version)
2025-05-15 22:00:03 +00:00
Rolf Schmidt
e59be966de Fixes #5198 - Report Profile with selector "starts with one of" on text objects results in "unknown operator".
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-05-15 14:22:29 +01:00
Weblate
df5248ffb7 Maintenance: Update translated files and catalog 2025-05-15 10:01:58 +01:00
Weblate
ca7e972286 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: Weblate <noreply@weblate.org>
Co-authored-by: fwmats <matsunaga@fairway-corp.co.jp>
Co-authored-by: sigurbjartur <github@sigurbjartur.com>
Co-authored-by: 周柏佑 <frank@sydt.com.tw>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/is/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ja/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/zh_Hant/
Translation: Zammad/Zammad (stable version)
2025-05-15 08:58:46 +00:00
Tobias Schäfer
298f6701d3 Draft: Fixes #5609 - Renaming tags is not working
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-05-15 09:58:53 +02:00
Rolf Schmidt
fc15103515 Fixes #5618 - getting "undefined method `assets' for nil:NilClass".
Co-authored-by: Mantas Masalskis <mm@zammad.com>
2025-05-14 13:35:20 +02:00
Dusan Vuckovic
908dc7bea6 Fixes #5617 - When disabling two-factor authentication for one user, the... 2025-05-14 08:12:11 +01:00
Rolf Schmidt
51830cd462 Fixes #5613 - User merge fails if to merge user has Taskbars.
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-05-13 16:57:01 +02:00
Rolf Schmidt
b77c301ab8 Fixes #5612 - Unexpected installation wizard visible when "init" request fails.
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-05-13 14:07:35 +02:00
Florian Liebe
4d2f852a96 Fixes #5615 - OpenID Connect provider name not displayed on mobile. 2025-05-13 12:31:31 +02:00
Mantas Masalskis
534108fef7 Fixes #5606 - DataPrivacyTask fails, if user created or updated a ticket state 2025-05-13 13:04:47 +03:00
Weblate
ef2d568cfc Maintenance: Update translated files and catalog 2025-05-09 23:02:07 +01:00
Weblate
0f02fff972 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Dmjorge <duartemjorge@gmail.com>
Co-authored-by: Murat Duman <mduman@metu.edu.tr>
Co-authored-by: Nikita <nyakovlev@iko.tech>
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/pt_PT/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ru/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/tr/
Translation: Zammad/Zammad (stable version)
2025-05-09 22:00:02 +00:00
Florian Liebe
270c779bc0 Maintenance: Update rack to 2.2.14. 2025-05-09 07:22:37 +02:00
Dusan Vuckovic
ac52bf30f9 Fixes #5611 - Knowledge Base: Inserting animated images is unsupported again. 2025-05-08 17:13:54 +01:00
Florian Liebe
4cf012fdff Fixes #5604 - Login - Translation in French - bad escaping of quote characters.
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
2025-05-08 09:50:44 +02:00
Florian Liebe
1f7ec9fc8b Fixes #5605 - Integration > Exchange: dropdown field not limited in width. 2025-05-07 15:20:33 +02:00
Dusan Vuckovic
52ecbeb30d Fixes #5567 - M365 Graph: Sent email stored in authenticated user's 'Sent' items instead of shared mailbox. 2025-05-06 11:40:33 +01:00
Weblate
6ffe47ecdf Maintenance: Update translated files and catalog 2025-05-06 06:38:44 +01:00
Weblate
ad8f020b74 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: Murat Duman <mduman@metu.edu.tr>
Co-authored-by: Random <random_r@users.noreply.translations.zammad.org>
Co-authored-by: Victor Pahuus Petersen <dibbohh@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: asrrd6 <ruslan.r.d@gmail.com>
Co-authored-by: fabiuxxlinuxx <fabiux@gmail.com>
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/fr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/it/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/ru/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/tr/
Translation: Zammad/Zammad (stable version)
2025-05-06 05:36:24 +00:00
Dusan Vuckovic
4409c61516 Maintenance: Improve mobile autoredirect when system was not yet initialized. 2025-05-05 10:31:18 +01:00
Dusan Vuckovic
185b072a98 Fixes #5601 - Placeholder of search fields in the respective admin menus is partly in English if Zammad is set to German. 2025-05-02 09:48:19 +01:00
Rolf Schmidt
66588ec442 Maintenance: Make search columns for tickets more patchable. 2025-04-30 18:58:57 +02:00
Rolf Schmidt
783131e753 Fixes #5590 - Required value 'group_id' is missing during ticket creation via web.
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-04-30 12:23:24 +02:00
Rolf Schmidt
efaf5fa4c6 Fixes #5600 - undefined method `each for nil:NilClass on login.
Co-authored-by: Mantas Masalskis <mm@zammad.com>
2025-04-30 12:14:23 +02:00
Rolf Schmidt
c775dc8391 Maintenance: Bump net-imap to 0.5.8.
Co-authored-by: Martin Gruner <mg@zammad.com>
2025-04-30 10:39:49 +02:00
Florian Liebe
3cf99e0525 Fixes #5588 - 'Last close at' is not translated in sorting dialog for overviews. 2025-04-29 16:20:48 +02:00
Rolf Schmidt
98fa920970 Fixes #5597 - Missing selected groups for multi tree select relation in ticket zoom.
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-04-29 14:13:51 +02:00
Rolf Schmidt
9e1bcd8f70 Follow up c8ab4275 - Fixes #2297 - Also change store columns to type flattened to reduce impact on total fields. 2025-04-29 12:32:03 +02:00
Mantas Masalskis
3cea7a9a3e Fixes #5538 - Time Accounting report seems to be using incorrect timezone info 2025-04-28 17:11:47 +03:00
Rolf Schmidt
0f998168b2 Follow up 7b00c113e3 - Fixes #5571 - Add missing desktop view parts.
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
Co-authored-by: Dominik Klein <dk@zammad.com>
2025-04-25 15:08:42 +02:00
Martin Gruner
7cf3eef258 Fixes #5585 - Source installation via ftp.zammad.com not possible because of... 2025-04-24 14:15:41 +02:00
Rolf Schmidt
f371f7f989 Fixes #5571 - Time Accounting total rounds to 1 decimal point which is a...
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
2025-04-24 13:47:00 +02:00
Rolf Schmidt
41f5a4f8c5 Fixes #5576 - D Keyboard Shortcut works without appearance rights.
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
2025-04-24 12:32:33 +02:00
Rolf Schmidt
402cfaca65 Fixes #5575 - Search empty for tickets with broken utf-8 (emojis) in article attachments.
Co-authored-by: Mantas Masalskis <mm@zammad.com>
2025-04-24 10:10:14 +02:00
Mantas Masalskis
f1074c08c7 Fixes #5531 - Too many WhatsApp notifications about service window closes 2025-04-24 07:49:42 +03:00
Dusan Vuckovic
ecdeea893c Fixes #5573 - Endpoint URL in webhooks being cut off after 300 chars. 2025-04-23 16:03:41 +01:00
Martin Gruner
12f75e399d Maintenance: Apply security update for nokogiri gem 2025-04-23 09:43:45 +02:00
Weblate
ffb86c6605 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 (stable version)
2025-04-23 06:23:58 +00:00
Weblate
e1e0f17265 Maintenance: Update translated files and catalog 2025-04-22 12:51:58 +01:00
Weblate
6157436c7e 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: Dmytro <ramadan2003@ukr.net>
Co-authored-by: Martin Gruner <mg@zammad.com>
Co-authored-by: Random <random_r@users.noreply.translations.zammad.org>
Co-authored-by: Ricky Tigg <ricky.tigg@gmail.com>
Co-authored-by: Ville Perkkio <vilu@mail.suomi.net>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: daghanprojenet <daghan@projenet.com>
Co-authored-by: easyjoh <jh@easyplusplus.com>
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/fi/
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/tr/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/uk/
Translation: Zammad/Zammad (stable version)
2025-04-22 11:36:25 +00:00
Dusan Vuckovic
cc77c6318e Fixes #5564 - Microsoft 365 Graph Email channels do not tell which channel is being pulled during fetch. 2025-04-17 10:44:35 +02:00
Mantas Masalskis
8790d2ee3c Fixes #5062 - External Database field changes ticket without action 2025-04-16 18:59:24 +02:00
Dusan Vuckovic
d29f7c5596 Fixes #5562 - Having more characters in the maintenance field results in part of the characters escaping the field (mobile view). 2025-04-16 11:53:34 +02:00
Rolf Schmidt
2bb82a5af1 Fixes #5558 - Zammad 6.5 Elasticsearch issue with wildcards when using customer.organization_id:*. 2025-04-15 16:29:34 +02:00
Mantas Masalskis
0a84075a1b Fixes #4680 - Japanese emails importing incorrectly 2025-04-14 19:48:36 +02:00
Dusan Vuckovic
d1bc5b93ae Maintenance: Silence CSS syntax errors on build for now. 2025-04-14 16:46:10 +02:00
Rolf Schmidt
e88e828702 Fixes #5559 - Ticket search does not return tickets after the 10k element when searching with a query.
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
2025-04-14 10:48:00 +02:00
Rolf Schmidt
c2724a10d2 Maintenance: Stabilize ticket create test for taskbar tabs. 2025-04-11 17:54:49 +02:00
Rolf Schmidt
c56ee05105 Fixes #5556 - Core Workflow - Stop after match does disable the time accounting detection.
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
2025-04-11 14:24:25 +02:00
Rolf Schmidt
c8a525b650 Fixes #5529 - Admin Menu Search does not always clear the filter.
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-04-11 11:10:21 +02:00
Martin Gruner
32a5a0c277 Maintenance: Stabilize session invalid spec 2025-04-10 15:48:14 +02:00
Weblate
96334634d2 Maintenance: Update translated files and catalog 2025-04-10 12:31:41 +01:00
Weblate
66c9997c5a Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Dmytro <ramadan2003@ukr.net>
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/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/uk/
Translation: Zammad/Zammad (pre-release version 6.5)
Translation: Zammad/Zammad (stable version)
2025-04-10 11:29:11 +00:00
Rolf Schmidt
0c105407e9 Fixes #5557 - Login is crashing when no connection to geo.zammad.com possible and service is configured.
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
2025-04-10 12:27:28 +02:00
Martin Gruner
50d1409427 Fixes #5553 - docker-compose start service error 2025-04-10 07:49:48 +02:00
Florian Liebe
8c52acaa50 Maintenance: Stabilize login spec when using SAML. 2025-04-09 10:31:04 +02:00
Benjamin Scharf
b11dbb338a Fixes #5547 - UI freeze when disabling checklists with not-found taskbar item
Co-authored-by: Benjamin Scharf <bs@zammad.com>
Co-authored-by: Rolf Schmidt <rs@zammad.com>
2025-04-09 09:24:56 +02:00
Dominik Klein
6efae0b9ba Maintenance: Add the possibility to run the performance test steps without exit on failure. 2025-04-08 09:49:36 +02:00
Rolf Schmidt
32465c1900 Maintenance: Ignore search index entries where database entries do not exist in search endpoint.
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
2025-04-07 17:19:49 +02:00
Florian Liebe
46bd8f106f Fixes #5554 - Custom payload for Microsoft Teams uses old/invalid template. 2025-04-07 15:48:16 +02:00
Florian Liebe
c038fa45b0 Fixes #5548 - Ticket article creation is using wrong ticket policy in GraphQL context.
Co-authored-by: Dominik Klein <dk@zammad.com>
2025-04-07 08:45:14 +02:00
Florian Liebe
42c2148fa1 Fixes #5532 - Error message during article creation is not clear enough (usage of mail security).
Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2025-04-04 22:47:41 +02:00
Florian Liebe
d6076e2c44 Fixes #5543 - X-Zammad-Ticket-Tags headers do not work for trusted channels.
Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2025-04-04 22:16:57 +02:00
Rolf Schmidt
0a247efa04 Fixes #5541 - The use of X-On-Behalf-Of in a REST call leads to a 500 error message.
Co-authored-by: Mantas Masalskis <mm@zammad.com>
2025-04-04 14:42:17 +02:00
Rolf Schmidt
f8994d6094 Follow up d2ca84a666 - Fixes #5504 - Make sure init data is only used once in ticket zoom. 2025-04-04 10:36:33 +02:00
Rolf Schmidt
6604b72eae Fixes #5504 - Performance: Preload taskbars before login.
Co-authored-by: Mantas Masalskis <mm@zammad.com>
2025-04-04 10:36:33 +02:00
Mantas Masalskis
61b4a196bf Fixes #5544 - Upgrade to Zammad 6.5 is not possible if a merged status is missing 2025-04-03 11:06:10 +02:00
Rolf Schmidt
adab1853e8 Maintenance: Switch tests to newer bitnami openldap version.
Co-authored-by: Martin Gruner <mg@zammad.com>
2025-04-02 14:04:02 +02:00
Martin Gruner
b616f6aa0a Maintenance: Apply security fix for omniauth-saml gem 2025-04-02 11:30:03 +02:00
Florian Liebe
568ebbedd1 Release Zammad 6.5.0. 🚀 2025-04-02 08:12:02 +02:00
Martin Edenhofer
c81b1eef4f Applyed workaround for #5541 - The use of X-On-Behalf-Of in a REST call leads to a 500 error message
(cherry picked from commit 777f463d7f)

777f463d Applyed workaround for #5541 - The use of X-On-Behalf-Of in a REST call leads...

Co-authored-by: Martin Edenhofer <me@edenhofer.de>
2025-04-02 04:53:55 +02:00
Weblate
1c09be9296 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Random <random_r@users.noreply.translations.zammad.org>
Co-authored-by: sbaecker <baecker@uni-koblenz.de>
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/de/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/it/
Translation: Zammad/Zammad (pre-release version 6.5)
2025-04-01 05:41:06 +00:00
Weblate
a911ea6a28 Maintenance: Update translated files and catalog 2025-03-31 06:52:21 +01:00
Weblate
0f6ba1064a Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Decio E. Silva <decio@verinatec.com.br>
Co-authored-by: Dmytro <ramadan2003@ukr.net>
Co-authored-by: Dusan Vuckovic <dv@zammad.com>
Co-authored-by: Weblate <noreply@weblate.org>
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/is/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/pt_BR/
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/uk/
Translation: Zammad/Zammad (pre-release version 6.5)
2025-03-31 05:47:22 +00:00
Martin Gruner
6831317507 Maintenance: Switch to Ruby 3.2.8 2025-03-27 14:39:18 +01:00
Weblate
b835c523a1 Maintenance: Update translated files and catalog 2025-03-27 12:23:37 +00:00
Weblate
9a22f3b275 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

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 6.5)
2025-03-27 12:19:19 +00:00
Mantas Masalskis
b1d014adb5 Maintenance: Improve Out-of-office test spanning DST switch 2025-03-25 14:45:06 +01:00
Rolf Schmidt
1381cc4e8b Maintenance: Ignore gitlab revert branches.
Co-authored-by: Martin Gruner <mg@zammad.com>


(cherry picked from commit 0659978995)

2212917f Maintenance: Ignore gitlab revert branches.

Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2025-03-24 09:07:32 +01:00
Martin Gruner
7501080071 Maintenance: apply security update for nokogiri 2025-03-24 07:38:06 +01:00
Mantas Masalskis
14b274a351 Maintenance: Improve stability of capybara tests with browser time travels 2025-03-21 18:35:18 +01:00
Rolf Schmidt
4431b58ea3 Revert "Maintenance: Remove breaking changes for #5495, will move 6.6."
This reverts commit 939212703c
2025-03-21 14:41:27 +01:00
Martin Gruner
2fbe854ef9 Maintenance: stabilize packager.io tests 2025-03-21 10:27:56 +01:00
Rolf Schmidt
939212703c Maintenance: Remove breaking changes for #5495, will move 6.6. 2025-03-21 09:26:57 +01:00
Mantas Masalskis
697f3c5eb5 Fixes #5525 - Can't use Channel::Driver::Imap: #<ArgumentError: unknown... 2025-03-21 07:34:51 +01:00
Mantas Masalskis
62459de9fc Fixes #5523 - Email replies are still sent if channel is deactivated 2025-03-20 21:57:38 +01:00
Mantas Masalskis
4cf023fcb0 Maintenance: Improve pre-created email addresses and channels in test environment 2025-03-20 21:11:55 +01:00
Martin Gruner
0409a03cf3 Maintenance: Add caching for corepack in CI 2025-03-20 19:50:27 +01:00
Mantas Masalskis
4c1b04f844 Maintenance: Improve Knowledge base answers API 2025-03-20 18:44:32 +01:00
Dusan Vuckovic
eae5fbf42c Fixes #5524 - Payload gets lost when a pre-defined webhook is cloned. 2025-03-20 16:03:52 +01:00
Martin Gruner
8fb3e08692 Maintenance: Stablilize browser test jobs by disabling external services 2025-03-20 13:30:21 +01:00
Florian Liebe
87b40c59d9 Maintenance: Update Microsoft Teams webhook spec. 2025-03-20 11:47:39 +01:00
Rolf Schmidt
4e3fd8859b Maintenance: Add env for capybara host.
(cherry picked from commit 669df22c69)

669df22c Maintenance: Add env for capybara host.

Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2025-03-20 11:04:43 +01:00
Dominik Klein
3157469414 Maintenance: Fixed typos in email driver files. 2025-03-19 21:48:56 +01:00
Mantas Masalskis
df7da4ac78 Fixes #5518 - Password reset mails not sent with active import_mode 2025-03-19 15:39:38 +02:00
Dusan Vuckovic
e377c56cee Fixes #5519 - Mobile View: Highlighting/border of activated profile menu is a square instead of a circle. 2025-03-18 14:00:19 +01:00
Rolf Schmidt
593469e050 Revert "Performance: Cache attribute records for object manager attributes handling."
(cherry picked from commit 9fa89b3d42)

1e015f75 Revert "Performance: Cache attribute records for object manager attributes handling."

Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2025-03-18 11:16:10 +01:00
Martin Gruner
305ed40a50 Maintenance: Add breaking changes file from develop 2025-03-18 07:33:57 +01:00
Mantas Masalskis
b413157394 Fixes #5520 - Search pagination and sorting display is wrong when coming from another taskbar 2025-03-17 15:13:53 +01:00
Dusan Vuckovic
712dd8affb Fixes #5516 - Removing admin permission from a role makes Settings > System screen empty. 2025-03-17 13:17:21 +01:00
Martin Gruner
01ac049327 Follow-up fc01cb5ec9 - Maintenance: Optimize... 2025-03-17 11:08:50 +01:00
Weblate
d5fbb8469c Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Random <random_r@users.noreply.translations.zammad.org>
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/it/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/sv/
Translation: Zammad/Zammad (pre-release version 6.5)
2025-03-16 22:00:05 +00:00
Martin Gruner
18d25cb535 Maintenance: Optimize Chrome settings for CI usage 2025-03-16 18:53:02 +01:00
Mantas Masalskis
85621b75ac Fixes #5515 - Ticket merge dialog shows broken pagination 2025-03-14 19:14:46 +01:00
Rolf Schmidt
e1c3f67dfd Fixes #5240 - Incorrect very old log message for recursive trigger not executed.
(cherry picked from commit 13bf68792b)

bfd90212 Fixes #5240 - Incorrect log message for recursive trigger not executed; no...
cdebc802 fix wrong return

Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2025-03-14 13:55:14 +01:00
Rolf Schmidt
d28538d74a Performance: Improve rendering for relation tree selects with >500 objects. 2025-03-14 09:31:28 +01:00
Rolf Schmidt
2d015252eb Performance: Cache attribute records for object manager attributes handling. 2025-03-14 09:31:16 +01:00
Rolf Schmidt
278d847f73 Maintenance: Make search params for relation list more patchable.
(cherry picked from commit 66d3b3f76f)

0c89c277 Maintenance: Make search params for relation list more patchable.
df1b6642 fix

Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2025-03-14 09:21:46 +01:00
Martin Gruner
03ed62e92e Maintenance: Apply security updates for json and ruby-saml gems 2025-03-14 06:53:54 +01:00
Dominik Klein
6f90af12b0 Fixes #5514 - Migration for updating SAML help text is failing in some situations. 2025-03-13 12:00:58 +01:00
Martin Gruner
4e774a2890 Maintenance: Apply security update for graphql gem 2025-03-13 06:55:34 +01:00
Martin Gruner
3d93dedb02 Fallback to /proc/meminfo when lshw is unavailable 2025-03-12 13:36:57 +01:00
Mantas Masalskis
5b3504e854 Maintenance: Improve Ticket Shared Draft policy 2025-03-12 13:12:13 +01:00
Martin Gruner
198abe9293 Drop unused FTP CI service container 2025-03-12 12:05:31 +01:00
Mantas Masalskis
81faa6f165 Maintenance: Add Rubocop cop to ensure time zones in RSpec are set correctly 2025-03-12 11:13:05 +01:00
Martin Gruner
347a03641f Maintenance: Add thread name information to make thread dumps more useful 2025-03-12 09:34:10 +01:00
Martin Gruner
f41c682452 Maintenance: apply security update for rack gem 2025-03-12 07:52:27 +01:00
Martin Gruner
7a2569d7cf Fixes #5513 - Scheduler session nodes dying. 2025-03-11 12:14:23 +01:00
Rolf Schmidt
6c734230d6 Performance: Speed up set_fixed_to calls for bigger result sets.
Co-authored-by: Dominik Klein <dk@zammad.com>


(cherry picked from commit 28d8ec0ce2)

7bf68e87 Performance: Speed up set_fixed_to calls for bigger result sets.

Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2025-03-11 10:27:21 +01:00
Rolf Schmidt
7e3b6f678a Fixes #5511 - Missing execution of core workflows when multiple create screens are opened on refresh.
(cherry picked from commit 863b417934)

5612df69 Fixes #5511 - Missing execution of core workflows when multiple create screens...
eada693e try loop instead
68bff62a cleanup loop

Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2025-03-07 16:55:49 +01:00
Martin Gruner
f59b0a0b32 Fixes #5509 - Web concurrency setting inconsistently used/reported 2025-03-07 12:55:30 +01:00
Martin Gruner
9ff96f55df Maintenance: Include new session jobs env var in system report 2025-03-07 11:44:37 +01:00
Weblate
a0c0e64113 Maintenance: Update translated files and catalog 2025-03-07 06:07:51 +00:00
Weblate
bf5ef50af2 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: JPB <JPB@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/nl/
Translation: Zammad/Zammad (pre-release version 6.5)
2025-03-06 22:00:08 +00:00
Mantas Masalskis
d37fc4eed4 Fixes #5505 - Tickets are sorted wrong in search 2025-03-06 16:38:56 +01:00
Florian Liebe
e1fdf81145 Fixes #5171 - Zammad sets an invalid Content-Type header for files with spaces in the filename.
Co-authored-by: Tobias Schäfer <ts@zammad.com>
2025-03-06 15:35:48 +01:00
Rolf Schmidt
18f82aef55 Maintenance: Make decision about self notification more patchable.
Co-authored-by: Florian Liebe <fl@zammad.com>


(cherry picked from commit d0884f47c9)

dfe330e5 Maintenance: Make decision about self notification more patchable.
88b3f874 fix missing param

Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2025-03-06 11:12:10 +01:00
Weblate
040d0b75a5 Maintenance: Update translated files and catalog 2025-03-06 07:34:09 +00:00
Weblate
8fdfddc6bf 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: Leif-Jöran Olsson <info@friprogramvarusyndikatet.se>
Co-authored-by: Murat Duman <mduman@metu.edu.tr>
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/it/
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/tr/
Translation: Zammad/Zammad (pre-release version 6.5)
2025-03-06 07:21:36 +00:00
Martin Gruner
448b7e5902 Maintenance: Adapt docker test invocation 2025-03-06 08:19:17 +01:00
Martin Gruner
e1c1430f4a Maintenance: Apply security fix for rack gem 2025-03-06 07:11:49 +01:00
Tobias Schäfer
7342b7877a Fixes #4858 - Calendar non functional with activated 2fa authentication
Co-authored-by: Florian Liebe <fl@zammad.com>
2025-03-04 12:52:31 +01:00
Martin Gruner
a1dab8a8bb Maintenance: Improve github docker CI action 2025-03-04 10:33:55 +01:00
Rolf Schmidt
bb84c49e68 Follow up be06f0c - Fixes #5495 - Add global assets for ticket create screen.
Co-authored-by: Florian Liebe <fl@zammad.com>



(cherry picked from commit 269f97760d)

ab691973 fix requests for template and drafts.
fee9cb77 undo copy paste bug

Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2025-03-03 20:45:23 +01:00
Rolf Schmidt
fde0613fcd Follow up be06f0c3881b3bfb447d487f5425a5cb598aa675 - Fixes #5495 - Remove obsolete requests for checklist templates.
Co-authored-by: Florian Liebe <fl@zammad.com>


(cherry picked from commit ac4aeb04c9)

912d5f0b Follow up be06f0c3881b3bfb447d487f5425a5cb598aa675 - Fixes #5495 - Remove...
204bc830 add render

Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2025-03-03 20:45:08 +01:00
Rolf Schmidt
cb777e7cb7 Maintenance: Update cgi gem to 0.4.2 and uri to 1.0.3.
(cherry picked from commit dfc57d4797)

556411c0 Maintenance: Update cgi to 0.4.2.
e8db4279 Update uri gem.

Co-authored-by: Rolf Schmidt <rolf.schmidt@zammad.com>
2025-03-03 19:55:37 +01:00
Mantas Masalskis
1062a9d365 Fixes #5499 - Drag´n´Drop of one attachment in the KnowledgeBase articles results in multiple copies 2025-03-03 15:31:56 +01:00
Mantas Masalskis
cf6d8b72c5 Maintenance: Stabilise custom object date validator spec 2025-03-03 12:52:39 +01:00
Weblate
36e3accbda Maintenance: Update translated files and catalog 2025-03-03 05:56:38 +00:00
Weblate
5847453164 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Christian Gravgaard <cg@bizperformer.com>
Co-authored-by: Jeroen Baten <jbaten@i2rs.nl>
Co-authored-by: Mantas Masalskis <mantas@idev.lt>
Co-authored-by: Murat Duman <mduman@metu.edu.tr>
Co-authored-by: Nikita <nyakovlev@iko.tech>
Co-authored-by: Ralf Schmid <rsc@zammad.com>
Co-authored-by: Rok Poje <rok.poje@mintpos.si>
Co-authored-by: Solenne Lefevre <solenne.lefevre@data-bene.io>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: fabiuxxlinuxx <fabiux@gmail.com>
Co-authored-by: sashkashurik <sashkashurik@gmail.com>
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/de/
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/it/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/lt/
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/tr/
Translation: Zammad/Zammad (pre-release version 6.5)
2025-03-03 05:53:26 +00:00
Mantas Masalskis
8d4b3694e5 Fixes #5246 - Group selection not scrollable in bulk action with lot of groups 2025-02-28 15:17:27 +01:00
Rolf Schmidt
527c0bbf6c Follow up be06f0c3881b3bfb447d487f5425a5cb598aa675 - Fixes #5495 - Adjust... 2025-02-28 12:09:03 +01:00
Weblate
fb300d117d Maintenance: Update translated files and catalog 2025-02-28 05:21:34 +00:00
Weblate
ce06e08ee6 Maintenance: Translations update from translations.zammad.org.
Special thanks to the amazing translation team. You rock! 💪

Co-authored-by: Mantas Masalskis <mantas@idev.lt>
Co-authored-by: Random <random_r@users.noreply.translations.zammad.org>
Co-authored-by: Rob <robertborge@outlook.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/lt/
Translate-URL: https://translations.zammad.org/projects/zammad/zammad-stable/nb_NO/
Translation: Zammad/Zammad (pre-release version 6.5)
2025-02-28 05:19:01 +00:00
Dusan Vuckovic
bb16fd5293 Maintenance: Update pnpm to v10 2025-02-27 19:09:32 +01:00
Dusan Vuckovic
29b69d1ea5 Fixes #5482 - Email Archive mode: Warn admins if they choose cut-off-date in the future. 2025-02-27 16:49:01 +00:00
Dusan Vuckovic
eb1eaf3f0a Follow up 340d9c10 - Fixes #5470 - Unify destination group setting and include e-mail-address in channel setup. 2025-02-27 15:30:07 +00:00
Florian Liebe
c1979c5ab7 Maintenance: Remove link to community thread from the M365 IMAP channel. 2025-02-27 14:27:30 +01:00
Martin Gruner
67d0f843af Maintenance: Fix failing docker builds 2025-02-27 11:28:30 +01:00
Martin Gruner
c21ad1b1e2 Maintenance: Stabilize future/past validator test 2025-02-27 08:23:51 +01:00
Dusan Vuckovic
8902d10c31 Fixes #4355 - Certain values in product_name will cause issues with sending agent notifications. 2025-02-26 17:33:31 +01:00
Martin Gruner
0348f6dd6d Maintenance: Improve docker CI configuration 2025-02-26 07:22:28 +01:00
Martin Gruner
10430cd1ce Maintenance: Improve configuration of packager.io CI jobs 2025-02-26 07:07:16 +01:00
Martin Gruner
a777172334 Maintenance: Improve configuration of packager.io CI jobs 2025-02-26 07:03:55 +01:00
Martin Gruner
8e7fea9624 Maintenance: Improve handling of webhook redirects 2025-02-25 09:51:33 +01:00
6996 changed files with 102469 additions and 101546 deletions

View File

@@ -1,6 +1,9 @@
{
"private": true,
"type": "module",
"pnpm": {
"neverBuiltDependencies": []
},
"devDependencies": {
"@frsource/cypress-plugin-visual-regression-diff": "^3.3.10",
"@testing-library/cypress": "^10.0.3",

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2026 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-2025 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/
import './prepare.js'

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2026 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-2025 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2026 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-2025 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/
import { merge } from 'lodash-es'
import { initializeAppName } from '#shared/composables/useAppName.ts'

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,7 +1,7 @@
---
to: "<%= withTypeFile ? h.getPath('genericComponent', {directoryScope, suffix: `${h.usePrefix(componentName, 'generic')}/types.ts`}) : null %>"
---
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/
export interface Dummy {
// Add your interface here

View File

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

View File

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

View File

@@ -2,6 +2,9 @@
"private": true,
"version": "1.0.0",
"description": "DX packages",
"pnpm": {
"neverBuiltDependencies": []
},
"dependencies": {
"hygen": "^6.2.11"
}

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,63 @@
# Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/
module RuboCop
module Cop
module Zammad
# This spec ensures that time zones in system specs are set at the top level only.
# The problem is if time zone changes in the middle of the spec, browser does not pick it up.
# This leads to confusing issues when whole file vs specific portion are executed.
#
# Non-system tests are ignored. Timezone in pure RSPec tests can be set at any moment.
#
# @example
# # bad
# RSpec.describe 'Test', type: :system do
# it 'is fine', time_zone: 'Europe/London' do
# example
# end
# end
#
# # good
# RSpec.describe 'Test', type: :system, time_zone: 'Europe/London' do
# it 'is fine' do
# example
# end
# end
class EnsuresTimeZoneAtSpecTopLevel < Base
def_node_matcher :is_rspec_block_with_time_zone?, <<-PATTERN
$(send _ {:describe :context :it :shared_examples} (_ ...) (hash <(pair (sym :time_zone) (str...))...>))
PATTERN
def_node_matcher :is_system_type?, <<-PATTERN
$(block (send (const _ :RSpec) :describe (_ ...) (hash <(pair (sym :type) (sym :system))...>)...)...)
PATTERN
def_node_matcher :is_rspec_top_level_block?, <<-PATTERN
$(send (const _ :RSpec) :describe...)
PATTERN
MSG = 'RSpec system tests (aka Capybara) should set custom time zones at top level only'.freeze
def on_send(node)
return if !is_rspec_block_with_time_zone?(node)
return if is_rspec_top_level_block?(node)
return if !in_system_spec?(node)
add_offense(node)
end
def in_system_spec?(node)
top_parent = node.parent
loop do
break if !top_parent
return true if is_system_type?(top_parent)
top_parent = top_parent.parent
end
false
end
end
end
end
end

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -492,3 +492,8 @@ Zammad/ExistsDbStrategy:
- "spec/**/*.rb"
Exclude:
- "spec/support/capybara/*.rb"
Zammad/EnsuresTimeZoneAtSpecTopLevel:
Enabled: true
Include:
- 'spec/system/**/*.rb'

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/
require_relative 'cop/zammad/active_record_reorder'
require_relative 'cop/zammad/correct_migration_timestamp'
@@ -21,3 +21,4 @@ require_relative 'cop/zammad/timezone_default'
require_relative 'cop/zammad/to_forbid_over_not_to_permit'
require_relative 'cop/zammad/trigger_from_commit_hooks'
require_relative 'cop/zammad/update_copyright'
require_relative 'cop/zammad/ensures_time_zone_at_spec_top_level'

View File

@@ -224,6 +224,7 @@ Metrics/BlockLength:
- 'lib/sessions.rb'
- 'lib/sessions/backend/ticket_overview_list.rb'
- 'lib/sessions/client.rb'
- 'lib/tasks/cache/measure_io_performance.rake'
- 'lib/tasks/zammad/search_index_es.rake'
- 'lib/transaction_dispatcher.rb'
- 'lib/twitter_sync.rb'

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -16,11 +16,15 @@
"dependencies": {
"requireindex": "^1.2.0"
},
"pnpm": {
"neverBuiltDependencies": []
},
"devDependencies": {
"eslint": "^8.57.1",
"eslint-plugin-eslint-plugin": "^5.5.1",
"eslint-plugin-n": "^14.0.0",
"mocha": "^11.1.0"
"mocha": "^11.1.0",
"vue-eslint-parser": "^9.4.3"
},
"engines": {
"node": "12.x || 14.x || >= 16"

View File

@@ -24,6 +24,9 @@ importers:
mocha:
specifier: ^11.1.0
version: 11.1.0
vue-eslint-parser:
specifier: ^9.4.3
version: 9.4.3(eslint@8.57.1)
packages:
@@ -460,6 +463,9 @@ packages:
lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
lodash@4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
log-symbols@4.1.0:
resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
engines: {node: '>=10'}
@@ -602,6 +608,11 @@ packages:
resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
hasBin: true
semver@7.7.1:
resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==}
engines: {node: '>=10'}
hasBin: true
serialize-javascript@6.0.2:
resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
@@ -667,6 +678,12 @@ packages:
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
vue-eslint-parser@9.4.3:
resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==}
engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '>=6.0.0'
which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
@@ -1146,6 +1163,8 @@ snapshots:
lodash.merge@4.6.2: {}
lodash@4.17.21: {}
log-symbols@4.1.0:
dependencies:
chalk: 4.1.2
@@ -1282,6 +1301,8 @@ snapshots:
semver@6.3.0: {}
semver@7.7.1: {}
serialize-javascript@6.0.2:
dependencies:
randombytes: 2.1.0
@@ -1342,6 +1363,19 @@ snapshots:
dependencies:
punycode: 2.1.1
vue-eslint-parser@9.4.3(eslint@8.57.1):
dependencies:
debug: 4.3.5(supports-color@8.1.1)
eslint: 8.57.1
eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3
espree: 9.6.1
esquery: 1.4.2
lodash: 4.17.21
semver: 7.7.1
transitivePeerDependencies:
- supports-color
which@2.0.2:
dependencies:
isexe: 2.0.0

View File

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

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2026 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-2025 Zammad Foundation, https://zammad-foundation.org/
// Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/
// eslint-disable-next-line @typescript-eslint/no-require-imports
const fs = require('fs')

View File

@@ -44,6 +44,15 @@ jobs:
run: |
cd zammad-docker-compose
docker load --input /tmp/zammad-local.tar
docker compose -f docker-compose.yml -f docker-compose.override-local.yml up --detach
docker compose cp .github/auto_wizard.json zammad-railsserver:/opt/zammad/tmp
.github/tests.sh
cat - <<ENV_FILE >> .env
IMAGE_REPO=zammad-local
VERSION=latest
ENV_FILE
.github/tests/setup/default.sh
.github/tests/default.sh
docker compose ps
# Ensure we are running with the correct image
docker compose ps | grep zammad-local:latest

4
.gitignore vendored
View File

@@ -77,6 +77,10 @@
# Third-Party ------------------------------------------------------------------
# env
/.env
/.envrc
# macOS
.DS_Store

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env ruby
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/
require File.expand_path('../config/environment', __dir__)
@@ -21,7 +21,7 @@ class CheckPostgresArrayColumns
def self.check_columns_type
puts ' (type == :string):'
smime_certificates.concat(pgp_keys).concat(public_links).concat(object_manager_attributes).each do |item|
table_information.each do |item|
print " #{item[:table]}.#{item[:column]} ... "
type = column(item[:table], item[:column]).type
@@ -39,7 +39,7 @@ class CheckPostgresArrayColumns
def self.check_columns_array
puts ' (array == true):'
smime_certificates.concat(pgp_keys).concat(public_links).concat(object_manager_attributes).each do |item|
table_information.each do |item|
print " #{item[:table]}.#{item[:column]} ... "
array = column(item[:table], item[:column]).array
@@ -72,6 +72,18 @@ class CheckPostgresArrayColumns
[{ table: PublicLink.table_name, column: 'screen' }]
end
def self.checklists
[{ table: Checklist.table_name, column: 'sorted_item_ids' }]
end
def self.checklist_templates
[{ table: ChecklistTemplate.table_name, column: 'sorted_item_ids' }]
end
def self.table_information
smime_certificates + pgp_keys + public_links + checklists + checklist_templates + object_manager_attributes
end
def self.column(table, column)
ActiveRecord::Base.connection.columns(table.to_sym).find { |c| c.name == column }
end

View File

@@ -14,6 +14,7 @@
files:
- pnpm-lock.yaml
paths:
- tmp/cache/corepack
- tmp/cache/pnpm-store
- tmp/cache/cypress

View File

@@ -1,5 +1,5 @@
default:
image: $CI_REGISTRY/docker/zammad-ci:3.2.7
image: $CI_REGISTRY/docker/zammad-ci:3.2.8
tags:
- docker

View File

@@ -38,18 +38,11 @@
IDOIT_API_ENDPOINT: 'http://ci-service-idoit:80'
IDOIT_API_TOKEN: 'admin'
.variables_ftp:
variables:
FTP_URL: 'ftp://ci-service-ftp'
.variables_auth:
variables:
KEYCLOAK_BASE_URL: 'http://ci-service-auth:8080'
KEYCLOAK_CREATE_ADMIN_USER: 'true'
KEYCLOAK_ADMIN_USER: 'admin'
KEYCLOAK_ADMIN_PASSWORD: 'admin'
KEYCLOAK_DATABASE_VENDOR: 'dev-file'
KEYCLOAK_EXTRA_ARGS: '--import-realm'
KC_BOOTSTRAP_ADMIN_USERNAME: 'admin'
KC_BOOTSTRAP_ADMIN_PASSWORD: 'admin'
.variables_s3:
variables:
@@ -112,10 +105,6 @@
name: $CI_REGISTRY/docker/zammad-idoit:stable
alias: ci-service-idoit
ftp:
name: $CI_REGISTRY/docker/zammad-ftp:stable
alias: ci-service-ftp
ldap:
name: $CI_REGISTRY/docker/zammad-ldap:stable
alias: ci-service-ldap

View File

@@ -1,6 +1,8 @@
# Global variables added to the ENV of each job and service container.
variables:
FF_NETWORK_PER_BUILD: 1 # https://docs.gitlab.com/runner/configuration/feature-flags.html
# For corepack download caching.
COREPACK_HOME: ${CI_PROJECT_DIR}/tmp/cache/corepack
# for faster translation loading
Z_LOCALES: 'en-us:de-de'
RAILS_ENV: 'test'

View File

@@ -9,6 +9,6 @@ workflow:
- if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS && $CI_PIPELINE_SOURCE == "push"
when: never
# Don't create branch pipelines for pushes to private branches (as there will also be a MR for them).
- if: $CI_COMMIT_BRANCH =~ /^(private|cherry-pick-|renovate|dependabot)/ && $CI_PIPELINE_SOURCE == "push"
- if: $CI_COMMIT_BRANCH =~ /^(private|cherry-pick-|revert-|renovate|dependabot)/ && $CI_PIPELINE_SOURCE == "push"
when: never
- when: always
- when: always

View File

@@ -62,9 +62,6 @@
- echo "Rubocop check…"
- bundle exec .dev/rubocop/validate_todos.rb
- bundle exec rubocop --parallel
- echo "bundler-audit security check…"
- 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…"
@@ -75,6 +72,20 @@
- echo "Finally, ensure cleanup.sh passes…"
- script/build/cleanup.sh
# Unsupported stable branches do not receive dependency updates any more,
# so known gem vulnerabilities must not block the rest of the pipeline.
'lint: bundle audit':
extends:
- .template_lint
allow_failure: true
before_script:
- !reference [.scripts, source_rvm]
after_script: []
script:
- echo "bundler-audit security check…"
- gem exec bundle-audit update
- gem exec bundle-audit
'lint: coffee & css':
extends:
- .template_lint

View File

@@ -20,7 +20,7 @@
stage: pre
cache: []
rules:
- if: $CI_COMMIT_REF_NAME =~ /^(private|cherry-pick-|renovate|dependabot)/
- if: $CI_COMMIT_REF_NAME =~ /^(private|cherry-pick-|revert-|renovate|dependabot)/
when: never
- when: always
before_script:
@@ -83,8 +83,7 @@
- git status
- git config user.email "noreply@weblate.org"
- git config user.name "Weblate"
# TODO drop usage of dedicated access token when CI_JOB_TOKEN support for commit pushing was added to weblate
# https://docs.gitlab.com/ee/ci/jobs/ci_job_token.html#git-push-to-your-project-repository
# Pushing via CI_JOB_TOKEN does not trigger another pipeline, so use a dedicated token.
- git remote add gitlab_origin https://oauth2:${WEBLATE_ACCESS_TOKEN}@${CI_SERVER_FQDN}/${CI_PROJECT_PATH}.git
- git add .
- git status --porcelain | grep "^[MA]" || exit 0 # check if files were added/changed

View File

@@ -25,7 +25,8 @@ api_client:php:
- echo -e "\\e[0Ksection_start:`date +%s`:zammad_ci_test_start[collapsed=true]\\r\\e[0Kbundle exec rake zammad:ci:test:start"
- RAILS_ENV=test bundle exec rake zammad:ci:test:start zammad:setup:auto_wizard
- echo -e "\\e[0Ksection_end:`date +%s`:zammad_ci_test_start\\r\\e[0K"
- git clone https://github.com/zammad/zammad-api-client-php.git
# Version 3 of the client needs PHP 8.3, the Ruby 3.2.8 CI image only has PHP 8.2.
- git clone --branch 2.3.3 --depth 1 https://github.com/zammad/zammad-api-client-php.git
- php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
- php composer-setup.php --install-dir=/usr/local/bin
- ln -s /usr/local/bin/composer.phar /usr/local/bin/composer
@@ -44,6 +45,7 @@ api_client:ruby:
- echo -e "\\e[0Ksection_end:`date +%s`:zammad_ci_test_start\\r\\e[0K"
- git clone https://github.com/zammad/zammad-api-client-ruby.git
- cd zammad-api-client-ruby
- export BUNDLE_PATH="$CI_PROJECT_DIR/.cache/bundle"
- bundle update --bundler
- bundle install -j $(nproc)
- bundle exec rspec

View File

@@ -3,7 +3,7 @@ docker:
stage: test
interruptible: false
rules:
- if: $CI_COMMIT_REF_NAME =~ /^private/
- if: $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_COMMIT_REF_NAME =~ /^private/
when: manual
allow_failure: true
- when: on_success
@@ -11,10 +11,12 @@ docker:
cache: []
variables:
ZAMMAD_IMAGE_TAG: "ci-${CI_JOB_ID}-${CI_COMMIT_SHORT_SHA}"
ZAMMAD_IMAGE_REPO: "zammad-local"
ZAMMAD_IMAGE_REPO: "$CI_REGISTRY/zammad/zammad"
ZAMMAD_IMAGE: "${ZAMMAD_IMAGE_REPO}:${ZAMMAD_IMAGE_TAG}"
before_script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker build -t $ZAMMAD_IMAGE .
- docker push $ZAMMAD_IMAGE
script: |
git clone --depth=1 https://github.com/zammad/zammad-docker-compose.git
cd zammad-docker-compose
@@ -33,10 +35,12 @@ docker:
ports: !reset []
COMPOSE_OVERRIDE_FILE
docker compose up --quiet-pull --detach
docker compose cp .github/auto_wizard.json zammad-railsserver:/opt/zammad/tmp
DISABLE_EXTERNAL_TESTS=1 .github/tests.sh
.github/tests/setup/default.sh
DISABLE_EXTERNAL_TESTS=1 .github/tests/default.sh
docker compose ps
# Ensure we are running with the correct image
docker compose ps | grep ${ZAMMAD_IMAGE}
after_script:
- cd zammad-docker-compose
- docker compose down --timeout 0 --volumes

View File

@@ -8,7 +8,7 @@
- !reference [.scripts, pnpm_install_eslint_plugin_zammad]
script:
# Only run one worker to avoid load peaks affecting other jobs.
- pnpm test -- --min-workers=1 --max-workers=1 --shard $VITEST_SHARD
- pnpm test --min-workers=1 --max-workers=1 --shard $VITEST_SHARD
# Stop here, except on the first shard.
- "[[ $VITEST_SHARD = 1/* ]] || exit 0"
- echo "Also test eslint-plugin-zammad…"

View File

@@ -24,4 +24,4 @@ rspec:es:latest:
extends:
- .template_integration_es
variables:
ELASTICSEARCH_TAG: 'latest'
ELASTICSEARCH_TAG: '8'

View File

@@ -15,7 +15,7 @@
- !reference [.scripts, zammad_db_init]
# Then, switch to the current commit, migrate to it and run a few selected tests.
- git checkout $CI_COMMIT_SHA
- rvm use 3.2.7
- rvm use 3.2.8
- !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

View File

@@ -2,8 +2,11 @@
image: docker
stage: test
interruptible: false
allow_failure: true
retry: 2
rules:
- if: $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web"
# These jobs can only run for a) published paths and b) when triggered after the packager.io build is complete.
- if: ($CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web") && $CI_COMMIT_REF_NAME =~ /^(stable|develop)/
services: []
cache: []
before_script: []

View File

@@ -2,10 +2,12 @@ performance:
stage: test
rules:
- if: $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web"
allow_failure: true
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
changes:
- .gitlab/ci/test/performance.yml
- .gitlab/performance/**/*
allow_failure: true
# Make sure this gets executed exclusively on a runner.
tags: ['no_concurrency']
services:
@@ -28,10 +30,10 @@ performance:
script:
- bundle exec rails r tmp/performance/fill_db.rb
# Run performance tests for stable.
- bundle exec rails r tmp/performance/run_tests.rb
- bundle exec rails r tmp/performance/run_tests.rb || true
# Then, switch to the current commit, migrate to it and run a few selected tests.
- git checkout $CI_COMMIT_SHA
- rvm use 3.2.7
- rvm use 3.2.8
- !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

View File

@@ -21,7 +21,6 @@ rspec:integration:
- .job_rules_integration
- .variables_proxy
- .variables_mattermost
- .variables_ftp
- .variables_s3
allow_failure: true
services:
@@ -31,7 +30,6 @@ rspec:integration:
- !reference [.services, redis]
- !reference [.services, memcached]
- !reference [.services, proxy]
- !reference [.services, ftp]
- !reference [.services, mattermost]
- !reference [.services, ldap]
- !reference [.services, s3]

View File

@@ -0,0 +1,28 @@
.template_supabase:
stage: test
tags:
- push-to-ftp # use only allow-listed ci runners
services:
- !reference [.services, postgresql]
variables:
ZAMMAD_SAFE_MODE: 1
supabase:translation_stats:
extends:
- .template_supabase
rules:
- if: $CI_PIPELINE_SOURCE == "schedule" && $CI_COMMIT_REF_NAME =~ /^(develop|stable)$/
when: always
- when: never
script:
- bundle exec rails runner .gitlab/supabase/translation_stats.rb
supabase:github_stats:
extends:
- .template_supabase
rules:
- if: $CI_PIPELINE_SOURCE == "schedule" && $CI_COMMIT_REF_NAME == "develop"
when: always
- when: never
script:
- bundle exec rails runner .gitlab/supabase/github_stats.rb

View File

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

View File

@@ -4,7 +4,7 @@ set -eu
cd "$(dirname $0)"
docker compose down --timeout 0 --volumes
docker compose down --timeout 0 --volumes || true # Ignore "prune operation is already running" errors.
DELETE_IMAGES=$(docker image ls "zammad-packagerio-ci-${CI_JOB_ID}" -q)
if [ -n "$DELETE_IMAGES" ]

View File

@@ -21,6 +21,6 @@ do
docker compose down --timeout 0
docker compose up -d
docker compose exec zammad bash "/scenarios/${SCENARIO}/${DISTRIBUTION}.sh"
docker compose down --timeout 0
docker compose down --timeout 0 --volumes || true # Ignore "prune operation is already running" errors.
done
./cleanup.sh

View File

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

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env ruby
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/
require 'rails'
@@ -38,7 +38,7 @@ def run_test_scenarios(results:)
Ticket::Overviews.all(current_user: agent)
end
max_overview_list_time = 20
max_overview_list_time = version_oldstable? ? 46 : 34
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

View File

@@ -0,0 +1,56 @@
#!/usr/bin/env ruby
# Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/
require_relative 'supabase'
BASE_URI = 'https://api.github.com/search/issues?q=repo:zammad/zammad+'.freeze
def get_total_count(query)
if ENV['GITHUB_APITOKEN'].blank?
raise 'The required environment variable GITHUB_APITOKEN is not set. Exiting.'
end
headers = {
'Authorization' => "Bearer #{ENV['GITHUB_APITOKEN']}",
}
res = Net::HTTP.get_response(URI("#{BASE_URI}#{query}"), headers)
return JSON.parse(res.body)['total_count'] if res.is_a?(Net::HTTPSuccess)
raise "GitHub request failed: #{res.code} #{res.message} #{res.body}"
end
def github_stats
{
issue_count_all: get_total_count('is:issue'),
issue_count_open: get_total_count('is:issue state:open'),
issue_count_closed: get_total_count('is:issue state:closed'),
bug_count_all: get_total_count('is:issue type:bug'),
bug_count_open: get_total_count('is:issue state:open type:bug'),
bug_count_closed: get_total_count('is:issue state:closed type:bug'),
story_count_all: get_total_count('is:issue type:story'),
story_count_open: get_total_count('is:issue state:open type:story'),
story_count_closed: get_total_count('is:issue state:closed type:story'),
epic_count_all: get_total_count('is:issue type:epic'),
epic_count_open: get_total_count('is:issue state:open type:epic'),
epic_count_closed: get_total_count('is:issue state:closed type:epic'),
pr_count_all: get_total_count('is:pr'),
pr_count_open: get_total_count('is:pr state:open'),
pr_count_closed: get_total_count('is:pr state:closed'),
test_data: ENV['SUPABASE_TEST'].present? || false,
}
end
def run
puts 'Collecting GitHub stats…'
payload = github_stats
puts JSON.pretty_generate(payload)
puts 'Done.'
puts 'Submitting to supabase…'
Supabase.submit('zammad_github_stats', payload)
puts 'Done.'
end
run

46
.gitlab/supabase/supabase.rb Executable file
View File

@@ -0,0 +1,46 @@
#!/usr/bin/env ruby
# Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/
module Supabase
REQUIRED_ENV_VARS = %w[SUPABASE_HOSTNAME SUPABASE_ANON_API_KEY SUPABASE_USERNAME SUPABASE_PASSWORD].freeze
def self.token
REQUIRED_ENV_VARS.select { ENV[_1].blank? }.each do |env_var| # rubocop:disable Lint/UnreachableLoop
raise "The required environment variable #{env_var} is not set. Exiting."
end
@token ||= login
end
def self.login
uri = URI.parse("https://#{ENV['SUPABASE_HOSTNAME']}/auth/v1/token?grant_type=password")
headers = {
'Content-Type' => 'application/json',
'apikey' => ENV['SUPABASE_ANON_API_KEY'],
}
payload = {
'email' => ENV['SUPABASE_USERNAME'],
'password' => ENV['SUPABASE_PASSWORD'],
}
res = Net::HTTP.post(uri, payload.to_json, headers)
return JSON.parse(res.body)['access_token'] if res.is_a?(Net::HTTPSuccess)
raise "Supabase login failed: #{res.code} #{res.message} #{res.body}"
end
def self.submit(table_name, payload)
uri = URI.parse("https://#{ENV['SUPABASE_HOSTNAME']}/rest/v1/#{table_name}")
headers = {
'Content-Type' => 'application/json',
'Authorization' => "Bearer #{token}",
'apikey' => ENV['SUPABASE_ANON_API_KEY'],
}
res = Net::HTTP.post(uri, payload.to_json, headers)
return if res.is_a?(Net::HTTPSuccess)
raise "Supabase request failed: #{res.code} #{res.message} #{res.body}"
end
end

View File

@@ -0,0 +1,47 @@
#!/usr/bin/env ruby
# Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/
require_relative 'supabase'
def translation_stats
require 'poparser'
# Load YAML directly to avoid db seeding. We want the stats from the code files.
locales = YAML.load_file(Rails.root.join('config', 'locales.yml')).select do |locale|
locale['active'] && %w[en-us sr-latn-rs].exclude?(locale['locale'])
end
locales.map do |locale|
file = Rails.root.join("i18n/zammad.#{locale['locale']}.po")
po_entries = PoParser.parse_file(file).entries
translated_count = po_entries.count(&:translated?)
{
locale: locale['locale'],
locale_name: locale['name'],
branch: ENV['CI_COMMIT_REF_NAME'],
version: ENV['CI_COMMIT_REF_NAME'] == 'develop' ? '' : Version.get,
strings: po_entries.count,
strings_translated: translated_count,
translation_completion_percent: (translated_count * 100.0 / po_entries.count).to_i,
test_data: ENV['SUPABASE_TEST'].present? || false,
}
end
end
def run
if ENV['CI_COMMIT_REF_NAME'].blank?
puts 'The required environment variable CI_COMMIT_REF_NAME is not set. Exiting.'
exit 1
end
puts "Collecting translation stats for branch #{ENV['CI_COMMIT_REF_NAME']}…"
payload = translation_stats
puts 'Done.'
puts 'Submitting to supabase…'
pp payload
Supabase.submit('zammad_translation_stats', payload)
puts 'Done.'
end
run

View File

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

1
.npmrc
View File

@@ -1 +1,2 @@
node-linker=${PNPM_NODE_LINKER:-isolated}
strict-dep-builds=true

View File

@@ -121,10 +121,10 @@ targets:
# 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
# (would require a paid SLES account and credential management on packager.io).
- https://ftp.lysator.liu.se/pub/opensuse/ports/aarch64/distribution/leap/15.4/repo/oss/x86_64/imlib2-1.4.10-1.28.x86_64.rpm
- https://ftp.lysator.liu.se/pub/opensuse/ports/aarch64/distribution/leap/15.4/repo/oss/x86_64/imlib2-devel-1.4.10-1.28.x86_64.rpm
- https://ftp.lysator.liu.se/pub/opensuse/ports/aarch64/distribution/leap/15.4/repo/oss/x86_64/imlib2-filters-1.4.10-1.28.x86_64.rpm
- https://ftp.lysator.liu.se/pub/opensuse/ports/aarch64/distribution/leap/15.4/repo/oss/x86_64/libImlib2-1-1.4.10-1.28.x86_64.rpm
- https://rpmfind.net/linux/opensuse/distribution/leap/15.6/repo/oss/x86_64/imlib2-1.4.10-1.28.x86_64.rpm
- https://rpmfind.net/linux/opensuse/distribution/leap/15.6/repo/oss/x86_64/imlib2-devel-1.4.10-1.28.x86_64.rpm
- https://rpmfind.net/linux/opensuse/distribution/leap/15.6/repo/oss/x86_64/imlib2-filters-1.4.10-1.28.x86_64.rpm
- https://rpmfind.net/linux/opensuse/distribution/leap/15.6/repo/oss/x86_64/libImlib2-1-1.4.10-1.28.x86_64.rpm
- shared-mime-info
- libmariadb-devel
before:

View File

@@ -1 +1 @@
3.2.7
3.2.8

224
BREAKING_CHANGES.md Normal file
View File

@@ -0,0 +1,224 @@
# Breaking Changes
## 6.5.2
The following breaking changes occurred due to a security fix.
### PGPController parameter name changes
The field `key` of the "key add" endpoint was renamed to `private_key`.
### SMIMEController parameter name changes
- The field `data` of the "certificate add" endpoint was renamed to `certificate`.
- The field `data` of the "private key add" endpoint was renamed to `private_key`.
### HttpLogsController access control
Logging subsystem (`HttpLog`) API access control is now more fine grained.
In the past, any `admin.*` permission was sufficient to access this data.
Now, only the relevant parts can be accessed (e.g. `admin.webhook`)
## 6.5
### Textarea object manager attribute values
When used as [template variables](https://admin-docs.zammad.org/en/latest/misc/variables.html), the `textarea` object manager attributes are now replaced with an HTML representation of their value. This is a consequence of a bugfix for [#5330](https://github.com/zammad/zammad/issues/5330), which expects newline characters are respected for these attributes in all contexts, including the rich text article body. The administrators are advised to check for usage of such variables in their objects (e.g. triggers, text modules, etc), by making sure the new value type will not break their existing workflows.
### Changes to search API endpoints
All search endpoints (`/:object/search`) have been revised, extended and unified. This will also result in breaking changes in the existing endpoints. Be prepared that the structure in the responses may change (have a look at the [API documentation](https://docs.zammad.org/en/latest/api/intro.html) where you can find updated examples).
The **standard search** (e.g. `/ticket/search`) returned a hash for some objects, such as the ticket. This will no longer be the case.
The structure for the **expanded search** (e.g. `/ticket/search?expand=true`) remains the same.
The structure of the **full search** (e.g. `/ticket/search?full=true`) remains the same, but is supplemented by a `total_count`, which counts all results.
Some objects used an object-related hash key, such as `ticket_ids`. This is now always `record_ids`.
The **count search** (e.g. `/ticket/search?only_total_count=true`) is a new feature.
### API performance optimization of asset return data
Most API endpoints have some parameter called full=true which returns the data with all related assets. [In order to improve the front end performance](https://github.com/zammad/zammad/issues/5495), we decided to reduce certain assets which are populated on the login. Normally this parameter is mainly used to show additional data to our legacy app. We have some static data which rarely changes and are currently added on every object like:
- Ticket Priority
- Ticket State
- Ticket Group
- Role
This information will not be added in the future any more when requesting a user or a ticket. If you have an external script which is for example requesting tickets with assets and using the group name or some role information out of the assets, you need to adjust your code to do either:
1. Do a separate request to the object specific endpoint e.g. `/api/v1/groups`
2. Get the global assets before requesting the ticket e.g. `/api/v1/signshow`
### Limit to one `merged` state
It will not be possible to have more than one state of the `merged` type. Additional states will be changed to the `closed` type automatically with that update. If you want to prevent that, make sure to only have one state of the type `merged` before you make an update to the **next release**.
### `APP_RESTART_CMD` and Zammad self-shutdown
Zammad will now cause a self-shutdown of all running processes after certain configuration changes by default. It is the responsibility of the controlling process manager (e.g. Docker, Kubernetes, systemd) to bring them up again by way of a proper restart policy. This is the default for vanilla Docker, Kubernetes or Package deployments of Zammad.
The previous environment variable `APP_RESTART_CMD` is not supported any more.
For systems where this behaviour is not wanted, it can be disabled by setting the Zammad Setting `auto_shutdown` to `false`.
### `ZAMMAD_SESSION_JOBS_CONCURRENT` was renamed to `ZAMMAD_PROCESS_SESSIONS_JOBS_WORKERS`
The background worker shutdown handling [was improved](https://github.com/zammad/zammad/commit/b5141f6670920bd960ab4269dc80b1d09d7c8eb6)
to be more graceful and allow processes to finish first.
Together with this change, the session jobs logic that computes the ticket overviews was moved to be
a first-class background service. Therefore the name of its configuration variable changed
from `ZAMMAD_SESSION_JOBS_CONCURRENT` to `ZAMMAD_PROCESS_SESSIONS_JOBS_WORKERS`. The old one will continue
to work for now, but emit a deprecation warning.
### nginx configuration update
Please update your nginx configuration file to insert the line `proxy_set_header Host $http_host;` to the `location /ws` and `location /cable` sections like in the example below:
```diff
@@ -38,10 +38,11 @@ server {
# legacy web socket server
location /ws {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
+ proxy_set_header Host $http_host;
proxy_set_header CLIENT_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 86400;
proxy_pass http://zammad-websocket;
@@ -50,10 +51,11 @@ server {
# action cable
location /cable {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
+ proxy_set_header Host $http_host;
proxy_set_header CLIENT_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 86400;
proxy_pass http://zammad-railsserver;
```
## 6.4
### JavaScript Package Manager Change
This version changes the JavaScript toolchains to be based on pnpm rather than yarn. This is only relevant for source installations, where you need to provide a recent version of pnpm in order to run the assets:precompile command.
### Changed CSV-format for user/organization import/export
We slightly changed the format of the CSV-files you use for importing/exporting users and organizations. If you somehow do that in an automated process via our REST-API, you will need to review that process before updating to Zammad 6.4. Check the details in our documentation.
## 6.3
### Knowledge base granular permissions setup changed
Zammad allows configuration of a granular permission structure for knowledge base access. Previous Zammad versions allowed to misconfigure this in cases of allowing agents editor access to only some, but not all categories: it was possible to grant editor access at a higher level in the category tree, and then restricting access to reader or none for sub-categories. This was not effective due to permission inheritance.
Such a misconfiguration is no longer possible in Zammad 6.3. Administrators with existing knowledge base granular permission structures should review their configuration to ensure that at top-level only reader access is granted, and editor access only for the relevant sub-categories.
### Permissions for Ticket State and Priority REST-API
With this release, we will introduce new permissions for the ticket state and priority management. It will no longer be possible to access the corresponding REST-API with "admin.object" permission. Existing roles and/or access tokens that are used for these specific REST-API endpoints need to be updated to include the new permissions ("admin.ticket_state" and "admin.ticket_priority").
## 6.2
### Default SSL Verification in UserAgent
The default SSL behaviour of the *UserAgent* class in Zammad was changed. Previously, it would not perform SSL verification unless explicitly requested. Now, it will perform SSL verification unless explicitly rejected.
This may cause issues on systems with custom addons using the *UserAgent* to access other systems via *https*, if these systems have self-signed certificates. In such cases, these certificates or the CA certificates used for their generation should be uploaded via the new *SSL Certificates* management screen of Zammad. Alternatively, custom code can be adjusted to pass *verify_ssl: false* to *UserAgent* calls to restore the old behaviour.
### Oversized Email Handling
The handling of emails larger than the size limit changed. Previously, Zammad would send a reply and save the emails locally in *var/spool/oversized_email* (if the setting *postmaster_send_reject_if_mail_too_large* is *true*). No ticket is created in this case.
The new behaviour is that Zammad sends the reply like before, but no longer creates files for these emails locally - they are discarded.
### Reserved Delimiter in Group Name
The double colon (`::`) is now a reserved delimiter in the group name, in order to facilitate nested structure for complex hierarchies. Previously, it was possible to freely use this set of characters as part of the group name, but now it is forbidden.
On existing systems, the group names that contain the now reserved delimiter will be renamed, with sets of double colons being replaced by a dash (`-`) during the migration process.
Additionally, existing custom group object attributes named *name_last* and *parent_id* will be renamed too, by adding an underscore in front (*_name_last* and *_parent_id*). This is due to these attributes now being part of the group model, requiring dedicated table columns under the reserved names.
### Disallowed URL Values in User's Name Attributes
Text values that resemble valid URI addresses are now disallowed for user's first and last name attributes. Previously, it was possible to save any text in these attributes. The administrators should take a note of this change since it can have an impact on existing user data.
No migration will be run for existing users on update to Zammad 6.2. In case there are user records that contain URLs in their name attributes, they will be sanitized during subsequent updates. No manual action from administrator will be required, as the URI scheme or protocol will be automatically stripped from offending values.
## 6.1
### New Organization Attribute `vip`
Zammad 6.1 creates a new `vip` attribute for organizations. For systems with previously created `vip` attributes, there is special caution needed. In case of `boolean` attributes, Zammad will adjust them to the new settings and keep using them. For attributes of other types, Zammad will rename the existing attribute to `_vip` and add a new `vip` boolean attribute. This may cause issues if the previous attribute was used in other parts of the system, e.g. Triggers. In such cases, the relevant configurations must be reviewed and adjusted.
### Support for the Unicorn Web Server is removed
It seems that the Unicorn Web Server is no longer really used with Zammad. Therefore, we have decided to remove it with Zammad 6.1 after it was deprecated in Zammad 6.0.
## 6.0
### nginx configuration update
When updating to Zammad 6.0 from a previous version, the system administrator needs to add some content to the configuration of the reverse proxy.
Example for Apache:
```apache
ProxyPass /cable ws://127.0.0.1:3000/cable
```
Example for nginx:
```nginx
location /cable {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header CLIENT_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 86400;
proxy_pass http://zammad-railsserver;
}
```
This is required to enable the new Rails Action Cable based realtime communication. You can find more details about this change at [this github commit](https://github.com/zammad/zammad/commit/d873b2a04bd172b90573170bc2d1d4ee75a47f02).
### Mandatory Redis Dependency
Starting with Zammad version 6.0, Redis is required to run Zammad. For package-based installations, the new dependency is automatically installed in the system during the update.
Note: Hosted customers do not need to take any further action regarding this change!
### Health Check API Changes
Starting with Zammad 6.0, the "health check" monitoring API at `/api/v1/monitoring/health_check` will no longer echo the used authentication token in the response payload.
### Excel Export Format Change
Starting with Zammad version 6.0, all Excel exports will be exported exclusively in xlsx format. The original xls format will no longer be supported.
### Storage location of unprocessable/oversized emails
Zammad stores emails that were unprocessable or rejected due to size constraints in the file system. The location of such emails changed from `tmp/unprocessable_mail` and `tmp/oversized_mail` to `var/spool/unprocessable_mail` and `var/spool/oversized_mail` within the `/opt/zammad` directory. Existing emails are automatically moved to the new location.
### Naming change in Token model and EmailAddress model
The `token` model is used to store access tokens and had field names which may have caused confusion for developers using them. Therefore, the field previously called `name:` now has the correct identifier `token:` (as it stores the actual token value), and the field previously called `label:` is now called `name:` for better consistency with other models. The `EmailAddress` model is used to information about email addresses Zammad receives mail for. For consistency reasons, its `realname:` field is now called `name:`.
This means that the attribute via the REST API also changes: from token or realname to "name".
### Docker image zammad-docker was archived
The repository [zammad-docker](https://github.com/zammad/zammad-docker) was intended for testing / development purposes only. This repository was archived and will receive no further updates. Please use [zammad-docker-compose](https://github.com/zammad/zammad-docker-compose) instead.

View File

@@ -1,7 +1,7 @@
# Change Log for Zammad 6.5.x
# Change Log for Zammad 6.5.4
- [Release notes](https://zammad.com/en/releases/6-5-x)
- [Release notes](https://zammad.com/en/releases/6-5-4)
- [Implemented enhancements](https://github.com/zammad/zammad/issues?q=is%3Aclosed+milestone%3A6.5+(-type%3ABug+AND+-label%3Abug))
- [Closed bugs](https://github.com/zammad/zammad/issues?q=is%3Aclosed+milestone%3A6.5+(type%3ABug+OR+label%3Abug))
- [Full commit log](https://github.com/zammad/zammad/compare/6.4.1...6.5.x)
- [File tree](https://github.com/zammad/zammad/tree/6.5.x)
- [Full commit log](https://github.com/zammad/zammad/compare/6.5.3...6.5.4)
- [File tree](https://github.com/zammad/zammad/tree/6.5.4)

View File

@@ -1,9 +1,9 @@
FROM node:20-bookworm-slim AS node
RUN npm -g install pnpm
RUN npm -g install corepack && corepack enable pnpm
RUN rm /usr/local/bin/yarn /usr/local/bin/yarnpkg
FROM ruby:3.2.7-slim-bookworm AS builder
FROM ruby:3.2.8-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.7-slim-bookworm
FROM ruby:3.2.8-slim-bookworm
ARG DEBIAN_FRONTEND=noninteractive
ARG ZAMMAD_USER=zammad
ENV RAILS_ENV=production

View File

@@ -1,10 +1,10 @@
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/
source 'https://rubygems.org'
# core - base
ruby '3.2.7'
gem 'rails', '~> 7.2.0'
ruby '3.2.8'
gem 'rails', '~> 7.2.3.1'
# core - rails additions
gem 'activerecord-import'

View File

@@ -24,58 +24,60 @@ GEM
simple_po_parser (~> 1.1.6)
aasm (5.5.0)
concurrent-ruby (~> 1.0)
actioncable (7.2.2.1)
actionpack (= 7.2.2.1)
activesupport (= 7.2.2.1)
actioncable (7.2.3.1)
actionpack (= 7.2.3.1)
activesupport (= 7.2.3.1)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
zeitwerk (~> 2.6)
actionmailbox (7.2.2.1)
actionpack (= 7.2.2.1)
activejob (= 7.2.2.1)
activerecord (= 7.2.2.1)
activestorage (= 7.2.2.1)
activesupport (= 7.2.2.1)
actionmailbox (7.2.3.1)
actionpack (= 7.2.3.1)
activejob (= 7.2.3.1)
activerecord (= 7.2.3.1)
activestorage (= 7.2.3.1)
activesupport (= 7.2.3.1)
mail (>= 2.8.0)
actionmailer (7.2.2.1)
actionpack (= 7.2.2.1)
actionview (= 7.2.2.1)
activejob (= 7.2.2.1)
activesupport (= 7.2.2.1)
actionmailer (7.2.3.1)
actionpack (= 7.2.3.1)
actionview (= 7.2.3.1)
activejob (= 7.2.3.1)
activesupport (= 7.2.3.1)
mail (>= 2.8.0)
rails-dom-testing (~> 2.2)
actionpack (7.2.2.1)
actionview (= 7.2.2.1)
activesupport (= 7.2.2.1)
actionpack (7.2.3.1)
actionview (= 7.2.3.1)
activesupport (= 7.2.3.1)
cgi
nokogiri (>= 1.8.5)
racc
rack (>= 2.2.4, < 3.2)
rack (>= 2.2.4, < 3.3)
rack-session (>= 1.0.1)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
useragent (~> 0.16)
actiontext (7.2.2.1)
actionpack (= 7.2.2.1)
activerecord (= 7.2.2.1)
activestorage (= 7.2.2.1)
activesupport (= 7.2.2.1)
actiontext (7.2.3.1)
actionpack (= 7.2.3.1)
activerecord (= 7.2.3.1)
activestorage (= 7.2.3.1)
activesupport (= 7.2.3.1)
globalid (>= 0.6.0)
nokogiri (>= 1.8.5)
actionview (7.2.2.1)
activesupport (= 7.2.2.1)
actionview (7.2.3.1)
activesupport (= 7.2.3.1)
builder (~> 3.1)
cgi
erubi (~> 1.11)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
activejob (7.2.2.1)
activesupport (= 7.2.2.1)
activejob (7.2.3.1)
activesupport (= 7.2.3.1)
globalid (>= 0.3.6)
activemodel (7.2.2.1)
activesupport (= 7.2.2.1)
activerecord (7.2.2.1)
activemodel (= 7.2.2.1)
activesupport (= 7.2.2.1)
activemodel (7.2.3.1)
activesupport (= 7.2.3.1)
activerecord (7.2.3.1)
activemodel (= 7.2.3.1)
activesupport (= 7.2.3.1)
timeout (>= 0.4.0)
activerecord-import (2.1.0)
activerecord (>= 4.2)
@@ -86,13 +88,13 @@ GEM
multi_json (~> 1.11, >= 1.11.2)
rack (>= 2.0.8, < 4)
railties (>= 6.1)
activestorage (7.2.2.1)
actionpack (= 7.2.2.1)
activejob (= 7.2.2.1)
activerecord (= 7.2.2.1)
activesupport (= 7.2.2.1)
activestorage (7.2.3.1)
actionpack (= 7.2.3.1)
activejob (= 7.2.3.1)
activerecord (= 7.2.3.1)
activesupport (= 7.2.3.1)
marcel (~> 1.0)
activesupport (7.2.2.1)
activesupport (7.2.3.1)
base64
benchmark (>= 0.3)
bigdecimal
@@ -101,7 +103,7 @@ GEM
drb
i18n (>= 1.6, < 2)
logger (>= 1.4.2)
minitest (>= 5.1)
minitest (>= 5.1, < 6)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
acts_as_list (1.2.4)
@@ -118,26 +120,28 @@ GEM
attr_required (1.0.2)
autoprefixer-rails (10.4.19.0)
execjs (~> 2)
aws-eventstream (1.3.1)
aws-partitions (1.1052.0)
aws-sdk-core (3.219.0)
aws-eventstream (1.4.0)
aws-partitions (1.1197.0)
aws-sdk-core (3.240.0)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sigv4 (~> 1.9)
base64
bigdecimal
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.99.0)
aws-sdk-core (~> 3, >= 3.216.0)
logger
aws-sdk-kms (1.118.0)
aws-sdk-core (~> 3, >= 3.239.1)
aws-sigv4 (~> 1.5)
aws-sdk-s3 (1.182.0)
aws-sdk-core (~> 3, >= 3.216.0)
aws-sdk-s3 (1.208.0)
aws-sdk-core (~> 3, >= 3.234.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.5)
aws-sigv4 (1.11.0)
aws-sigv4 (1.12.1)
aws-eventstream (~> 1, >= 1.0.2)
base64 (0.2.0)
benchmark (0.4.0)
bigdecimal (3.1.9)
base64 (0.3.0)
benchmark (0.4.1)
bigdecimal (3.3.1)
bindata (2.5.0)
binding_of_caller (1.0.1)
debug_inspector (>= 1.2.0)
@@ -164,7 +168,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)
@@ -183,7 +187,7 @@ GEM
execjs
coffee-script-source (1.12.2)
concurrent-ruby (1.3.5)
connection_pool (2.5.0)
connection_pool (2.5.3)
cose (1.3.1)
cbor (~> 0.5.9)
openssl-signature_algorithm (~> 1.0)
@@ -191,7 +195,7 @@ GEM
bigdecimal
rexml
crass (1.0.6)
csv (3.3.2)
csv (3.3.5)
daemons (1.4.1)
dalli (3.2.8)
date (3.4.1)
@@ -208,7 +212,7 @@ GEM
domain_name (0.6.20240107)
doorkeeper (5.8.1)
railties (>= 5)
drb (2.2.1)
drb (2.2.3)
dry-cli (1.2.0)
dry-core (1.1.0)
concurrent-ruby (~> 1.0)
@@ -256,7 +260,7 @@ GEM
railties (>= 5.0.0)
faker (3.5.1)
i18n (>= 1.8.11, < 2)
faraday (2.12.2)
faraday (2.14.1)
faraday-net_http (>= 2.0, < 3.5)
json
logger
@@ -267,8 +271,8 @@ GEM
hashie
faraday-multipart (1.1.0)
multipart-post (~> 2.0)
faraday-net_http (3.4.0)
net-http (>= 0.5.0)
faraday-net_http (3.4.2)
net-http (~> 0.5)
ffi (1.17.1)
ffi-compiler (1.3.2)
ffi (>= 1.15.5)
@@ -276,9 +280,9 @@ GEM
fiber-storage (1.0.0)
gli (2.22.2)
ostruct
globalid (1.2.1)
globalid (1.3.0)
activesupport (>= 6.1)
graphql (2.4.10)
graphql (2.4.13)
base64
fiber-storage
logger
@@ -288,7 +292,8 @@ GEM
graphql-fragment_cache (1.22.0)
graphql (>= 2.1.4)
hashdiff (1.1.2)
hashie (5.0.0)
hashie (5.1.0)
logger
hiredis (0.6.3)
htmlentities (4.3.4)
http (4.4.1)
@@ -302,14 +307,17 @@ GEM
http-parser (1.2.3)
ffi-compiler (>= 1.0, < 2.0)
http_parser.rb (0.6.0)
httparty (0.21.0)
httparty (0.24.2)
csv
mini_mime (>= 1.0.0)
multi_xml (>= 0.5.2)
httpclient (2.8.3)
i18n (1.14.7)
concurrent-ruby (~> 1.0)
icalendar (2.10.3)
icalendar (2.12.2)
base64
ice_cube (~> 0.16)
logger
ostruct
icalendar-recurrence (1.2.0)
icalendar (~> 2.0)
@@ -320,13 +328,13 @@ GEM
inflection (1.0.0)
iniparse (1.5.0)
interception (0.5)
io-console (0.8.0)
irb (1.15.1)
io-console (0.8.1)
irb (1.15.2)
pp (>= 0.6.0)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
jmespath (1.6.2)
json (2.10.1)
json (2.19.3)
json-jwt (1.16.7)
activesupport (>= 4.2)
aes_key_wrap
@@ -349,11 +357,11 @@ GEM
rb-inotify (~> 0.9, >= 0.9.10)
little-plugger (1.1.4)
localhost (1.3.1)
logger (1.6.6)
logger (1.7.0)
logging (2.4.0)
little-plugger (~> 1.1)
multi_json (~> 1.14)
loofah (2.24.0)
loofah (2.24.1)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
macaddr (1.7.2)
@@ -363,7 +371,7 @@ GEM
net-imap
net-pop
net-smtp
marcel (1.0.4)
marcel (1.1.0)
matrix (0.4.2)
memoizable (0.4.2)
thread_safe (~> 0.3, >= 0.3.1)
@@ -375,20 +383,20 @@ GEM
mime-types-data (~> 3.2015)
mime-types-data (3.2025.0107)
mini_mime (1.1.5)
mini_portile2 (2.8.8)
minitest (5.25.4)
mini_portile2 (2.8.9)
minitest (5.25.5)
msgpack (1.7.5)
multi_json (1.15.0)
multi_xml (0.7.1)
bigdecimal (~> 3.1)
multi_xml (0.8.1)
bigdecimal (>= 3.1, < 5)
multipart-post (2.4.1)
mutex_m (0.3.0)
mysql2 (0.5.6)
naught (1.1.0)
nestful (1.1.4)
net-http (0.6.0)
uri
net-imap (0.5.6)
net-http (0.9.1)
uri (>= 0.11.1)
net-imap (0.5.9)
date
net-protocol
net-ldap (0.19.0)
@@ -400,7 +408,7 @@ GEM
net-protocol
nio4r (2.7.4)
nkf (0.2.0)
nokogiri (1.18.3)
nokogiri (1.19.1)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
nori (2.7.1)
@@ -418,7 +426,7 @@ GEM
rack (>= 1.2, < 4)
snaky_hash (~> 2.0)
version_gem (~> 1.1)
omniauth (2.1.2)
omniauth (2.1.3)
hashie (>= 3.4.6)
rack (>= 2.2.3)
rack-protection
@@ -451,9 +459,9 @@ GEM
omniauth-rails_csrf_protection (1.0.2)
actionpack (>= 4.2)
omniauth (~> 2.0)
omniauth-saml (2.2.1)
omniauth-saml (2.2.3)
omniauth (~> 2.1)
ruby-saml (~> 1.17)
ruby-saml (~> 1.18)
omniauth-twitter (1.4.0)
omniauth-oauth (~> 1.1)
rack
@@ -476,7 +484,7 @@ GEM
openssl (3.3.0)
openssl-signature_algorithm (1.3.0)
openssl (> 2.0)
ostruct (0.6.1)
ostruct (0.6.3)
overcommit (0.67.0)
childprocess (>= 0.6.3, < 6)
iniparse (~> 1.4)
@@ -513,7 +521,7 @@ GEM
pry (~> 0.13)
pry-theme (1.3.1)
coderay (~> 1.1)
psych (5.2.3)
psych (5.2.6)
date
stringio
public_suffix (6.0.1)
@@ -527,7 +535,7 @@ GEM
rspec-mocks (~> 3.12)
rspec-support (~> 3.12)
racc (1.8.1)
rack (2.2.11)
rack (2.2.22)
rack-attack (6.7.0)
rack (>= 1.0, < 4)
rack-oauth2 (2.2.1)
@@ -549,20 +557,20 @@ GEM
rackup (1.0.1)
rack (< 3)
webrick
rails (7.2.2.1)
actioncable (= 7.2.2.1)
actionmailbox (= 7.2.2.1)
actionmailer (= 7.2.2.1)
actionpack (= 7.2.2.1)
actiontext (= 7.2.2.1)
actionview (= 7.2.2.1)
activejob (= 7.2.2.1)
activemodel (= 7.2.2.1)
activerecord (= 7.2.2.1)
activestorage (= 7.2.2.1)
activesupport (= 7.2.2.1)
rails (7.2.3.1)
actioncable (= 7.2.3.1)
actionmailbox (= 7.2.3.1)
actionmailer (= 7.2.3.1)
actionpack (= 7.2.3.1)
actiontext (= 7.2.3.1)
actionview (= 7.2.3.1)
activejob (= 7.2.3.1)
activemodel (= 7.2.3.1)
activerecord (= 7.2.3.1)
activestorage (= 7.2.3.1)
activesupport (= 7.2.3.1)
bundler (>= 1.15.0)
railties (= 7.2.2.1)
railties (= 7.2.3.1)
rails-controller-testing (1.0.5)
actionpack (>= 5.0.1.rc1)
actionview (>= 5.0.1.rc1)
@@ -574,13 +582,15 @@ GEM
rails-html-sanitizer (1.6.2)
loofah (~> 2.21)
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.2.2.1)
actionpack (= 7.2.2.1)
activesupport (= 7.2.2.1)
railties (7.2.3.1)
actionpack (= 7.2.3.1)
activesupport (= 7.2.3.1)
cgi
irb (~> 1.13)
rackup (>= 1.0.0)
rake (>= 12.2)
thor (~> 1.0, >= 1.2.2)
tsort (>= 0.2)
zeitwerk (~> 2.6)
rainbow (3.1.1)
rake (13.2.1)
@@ -592,9 +602,9 @@ GEM
psych (>= 4.0.0)
redis (4.8.1)
regexp_parser (2.10.0)
reline (0.6.0)
reline (0.6.2)
io-console (~> 0.5)
rexml (3.4.1)
rexml (3.4.4)
rotp (6.3.0)
rspec-core (3.13.3)
rspec-support (~> 3.13.0)
@@ -659,11 +669,11 @@ GEM
rubocop-rspec_rails (2.30.0)
rubocop (~> 1.61)
rubocop-rspec (~> 3, >= 3.0.1)
ruby-keycloak-admin (26.0.8)
hashie (~> 5.0.0)
httparty (~> 0.21.0)
ruby-keycloak-admin (26.5.2)
hashie (>= 5.0.0)
httparty (>= 0.21, < 0.25)
ruby-progressbar (1.13.0)
ruby-saml (1.17.0)
ruby-saml (1.18.1)
nokogiri (>= 1.13.10)
rexml
rubyntlm (0.6.5)
@@ -714,7 +724,7 @@ GEM
actionpack (>= 6.1)
activesupport (>= 6.1)
sprockets (>= 3.0.0)
stringio (3.1.2)
stringio (3.1.7)
swd (2.0.3)
activesupport (>= 3)
attr_required (>= 0.0.5)
@@ -732,7 +742,7 @@ GEM
execjs (>= 0.3.0, < 3)
test-unit (3.6.7)
power_assert
thor (1.3.2)
thor (1.4.0)
thread_safe (0.3.6)
tilt (2.6.0)
timeout (0.4.3)
@@ -740,6 +750,7 @@ GEM
bindata (~> 2.4)
openssl (> 2.0)
openssl-signature_algorithm (~> 1.0)
tsort (0.2.0)
twilio-ruby (7.4.5)
benchmark
faraday (>= 0.9, < 3.0)
@@ -769,7 +780,7 @@ GEM
unicode-display_width (3.1.4)
unicode-emoji (~> 4.0, >= 4.0.4)
unicode-emoji (4.0.4)
uri (1.0.2)
uri (1.1.1)
useragent (0.16.11)
validate_url (1.0.15)
activemodel (>= 3.0.0)
@@ -809,7 +820,7 @@ GEM
hashdiff (>= 0.4.0, < 2.0.0)
webrick (1.9.1)
websocket (1.2.11)
websocket-driver (0.7.7)
websocket-driver (0.8.0)
base64
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
@@ -823,7 +834,7 @@ GEM
xpath (3.2.0)
nokogiri (~> 1.8)
yard (0.9.37)
zeitwerk (2.7.1)
zeitwerk (2.7.3)
zendesk_api (3.1.1)
faraday (> 2.0.0)
faraday-multipart
@@ -919,7 +930,7 @@ DEPENDENCIES
pundit
pundit-matchers
rack-attack
rails (~> 7.2.0)
rails (~> 7.2.3.1)
rails-controller-testing
rchardet (>= 1.8.0)
redis (>= 3, < 5)
@@ -966,7 +977,7 @@ DEPENDENCIES
zendesk_api
RUBY VERSION
ruby 3.2.7p253
ruby 3.2.8p263
BUNDLED WITH
2.4.1

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env rake
# Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
# Copyright (C) 2012-2026 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

@@ -1 +1 @@
6.5.x
6.5.4

View File

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

View File

@@ -8,7 +8,8 @@ class App.ControllerGenericIndex extends App.Controller
'click [data-type=payload]': 'payload'
'click [data-type=import]': 'import'
'click .js-description': 'description'
'input .js-search': 'search'
'blur .js-search': 'search'
'input .js-search': 'search'
constructor: ->
super
@@ -119,6 +120,11 @@ class App.ControllerGenericIndex extends App.Controller
App[@genericObject][method](
(collection, data) =>
maxPage = Math.max(1, Math.ceil(data.total_count / @pageData.pagerPerPage))
if @pageData.pagerSelected && @pageData.pagerSelected > maxPage
@pageData.pagerSelected = maxPage
return @navigate "#{@pageData.pagerBaseUrl}#{@pageData.pagerSelected}/#{encodeURIComponent(@searchQuery)}"
@pageData.pagerTotalCount = data.total_count
if data.total_count > @pageData.pagerPerPage || @searchQuery
@dndCallback = undefined

View File

@@ -67,7 +67,7 @@ class App.ControllerModal extends App.Controller
update: =>
if @message
content = App.Utils.htmlEscape( App.i18n.translatePlain(@message) )
else if @contentInline
else if not _.isUndefined(@contentInline)
content = @contentInline
else
content = @content()

View File

@@ -27,6 +27,7 @@ class ChannelChat extends App.ControllerSubContent
'.js-color': 'colorField'
'.js-chatSetting input': 'chatSetting'
'.js-eyedropper': 'eyedropper'
'.js-browserHelp': 'browserHelp'
apiOptions: [
{
@@ -209,18 +210,23 @@ class ChannelChat extends App.ControllerSubContent
@changeDemoWebsite()
changeDemoWebsite: ->
return if @urlInput.val() is '' or @urlInput.val() is @urlCache
@urlCache = @urlInput.val()
@url = @urlInput.val().trim()
return if @url is '' or @url is @urlCache
@urlCache = @url
@url = @urlCache
if !@url.startsWith('http')
@url = "http://#{ @url }"
@url = "https://#{ @url }"
@urlInput.addClass('is-loading')
@palette.empty()
@screenshot.attr('src', '')
# Clear previous image and set empty GIF image as a placeholder.
# This prevents showing a broken image icon in some browsers while a new one is being loaded.
@screenshot.attr('src', 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7')
@browserHelp.empty().hide()
$.ajax
url: 'https://images.zammad.com/api/v1/webpage/combined'
@@ -228,6 +234,8 @@ class ChannelChat extends App.ControllerSubContent
url: @url
count: 20
success: @renderDemoWebsite
error: (data) =>
@renderError(data?.responseJSON)
dataType: 'json'
renderDemoWebsite: (data) =>
@@ -239,6 +247,14 @@ class ChannelChat extends App.ControllerSubContent
@urlInput.removeClass('is-loading')
renderError: (data) =>
errorMessage = data?.error || __('An error occurred while fetching the website preview.')
@browserHelp.text(App.i18n.translateInline(errorMessage))
.show()
@urlInput.removeClass('is-loading')
renderPalette: (palette) ->
palette = _.map palette, tinycolor

View File

@@ -261,7 +261,7 @@ class ChannelGroupEdit extends App.ControllerModal
content: =>
configureAttributesBase = [
{ name: 'group_id', display: __('Destination Group'), tag: 'tree_select', null: false, relation: 'Group', filter: { active: true } },
{ name: 'group_email_address_id', display: __('Destination Group Email Address'), tag: 'select', options: @emailAddressOptions(@item.id, @item.group_id), note: __("This will adjust the corresponding setting of the destination group within the group management. A group's email address determines which address should be used for outgoing mails, e.g. when an agent is composing an email or a trigger is sending an auto-reply.") },
{ name: 'group_email_address_id', display: __('Destination group > Sending email address'), tag: 'select', options: @emailAddressOptions(@item.id, @item.group_id), note: __("This will adjust the corresponding setting of the destination group within the group management. A group's email address determines which address should be used for outgoing mails, e.g. when an agent is composing an email or a trigger is sending an auto-reply.") },
]
@form = new App.ControllerForm(
@@ -392,7 +392,7 @@ class ChannelEmailAccountWizard extends App.ControllerWizardModal
{ name: 'email', display: __('Email'), tag: 'input', type: 'email', limit: 120, null: false, placeholder: 'support@example.com', autocapitalize: false, autocomplete: 'off' },
{ name: 'password', display: __('Password'), tag: 'input', type: 'password', limit: 120, null: false, autocapitalize: false, autocomplete: 'new-password', single: true },
{ name: 'group_id', display: __('Destination Group'), tag: 'tree_select', null: false, relation: 'Group', filter: { active: true } },
{ name: 'group_email_address_id', display: __('Destination Group Email Address'), tag: 'select', null: false, options: @emailAddressOptions(@channel?.id, @channel?.group_id), note: __("This will adjust the corresponding setting of the destination group within the group management. A group's email address determines which address should be used for outgoing mails, e.g. when an agent is composing an email or a trigger is sending an auto-reply.") },
{ name: 'group_email_address_id', display: __('Destination group > Sending email address'), tag: 'select', null: false, options: @emailAddressOptions(@channel?.id, @channel?.group_id), note: __("This will adjust the corresponding setting of the destination group within the group management. A group's email address determines which address should be used for outgoing mails, e.g. when an agent is composing an email or a trigger is sending an auto-reply.") },
]
@formMeta = new App.ControllerForm(
@@ -401,6 +401,7 @@ class ChannelEmailAccountWizard extends App.ControllerWizardModal
configure_attributes: configureAttributesBase
className: ''
params: @account.meta
handlers: [@destinationGroupEmailAddressFormHandler()]
)
# outbound
@@ -422,7 +423,7 @@ class ChannelEmailAccountWizard extends App.ControllerWizardModal
initializeInboundForm: (params) =>
configureAttributesInbound = [
{ name: 'group_id', display: __('Destination Group'), tag: 'tree_select', null: false, relation: 'Group', filter: { active: true } },
{ name: 'group_email_address_id', display: __('Destination Group Email Address'), tag: 'select', null: false, options: @emailAddressOptions(@channel?.id, @channel?.group_id), note: __("This will adjust the corresponding setting of the destination group within the group management. A group's email address determines which address should be used for outgoing mails, e.g. when an agent is composing an email or a trigger is sending an auto-reply.") },
{ name: 'group_email_address_id', display: __('Destination group > Sending email address'), tag: 'select', null: false, options: @emailAddressOptions(@channel?.id, @channel?.group_id), note: __("This will adjust the corresponding setting of the destination group within the group management. A group's email address determines which address should be used for outgoing mails, e.g. when an agent is composing an email or a trigger is sending an auto-reply.") },
{ name: 'adapter', display: __('Type'), tag: 'select', multiple: false, null: false, options: @channelDriver.email.inbound, translate: true },
{ name: 'options::host', display: __('Host'), tag: 'input', type: 'text', limit: 120, null: false, autocapitalize: false },
{ name: 'options::user', display: __('User'), tag: 'input', type: 'text', limit: 120, null: false, autocapitalize: false, autocomplete: 'off' },
@@ -753,6 +754,7 @@ class ChannelEmailAccountWizard extends App.ControllerWizardModal
className: ''
handlers: [
App.FormHandlerChannelAccountArchiveMode.run
App.FormHandlerChannelAccountArchiveBefore.run
]
params: options
)

View File

@@ -59,6 +59,7 @@ class App.ChannelInboundEmailArchive extends App.ControllerModal
className: ''
handlers: [
App.FormHandlerChannelAccountArchiveMode.run
App.FormHandlerChannelAccountArchiveBefore.run
]
attributePrefix: 'options::'
params:

View File

@@ -0,0 +1,17 @@
class App.FormHandlerChannelAccountArchiveBefore
@run: (params, attribute, attributes, classname, form, ui) ->
attributePrefix = ui.attributePrefix || ''
return if attribute.name isnt "#{attributePrefix}archive" and attribute.name isnt "#{attributePrefix}archive_before"
archive = !!(params.options?.archive or params.archive)
archiveBefore = params.options?.archive_before or params.archive_before
isAlertVisible = new Date(archiveBefore) > Date.now() if archiveBefore
isAlertVisible = false if not archive
setTimeout(->
$(form).closest('.modal-body,.wizard-body')
.find('.js-archiveBeforeAlert')
.toggleClass('hide', not isAlertVisible)
0
)

View File

@@ -279,7 +279,7 @@ class ChannelInboundEdit extends App.ControllerModal
content: =>
configureAttributesBase = [
{ name: 'group_id', display: __('Destination Group'), tag: 'tree_select', null: false, relation: 'Group', filter: { active: true } },
{ name: 'group_email_address_id', display: __('Destination Group Email Address'), tag: 'select', null: false, options: @emailAddressOptions(@item.id, @item.group_id), note: __("This will adjust the corresponding setting of the destination group within the group management. A group's email address determines which address should be used for outgoing mails, e.g. when an agent is composing an email or a trigger is sending an auto-reply.") },
{ name: 'group_email_address_id', display: __('Destination group > Sending email address'), tag: 'select', null: false, options: @emailAddressOptions(@item.id, @item.group_id), note: __("This will adjust the corresponding setting of the destination group within the group management. A group's email address determines which address should be used for outgoing mails, e.g. when an agent is composing an email or a trigger is sending an auto-reply.") },
{ name: 'options::folder', display: __('Folder'), tag: 'input', type: 'text', limit: 120, null: true, autocapitalize: false, placeholder: __('optional') },
{ name: 'options::keep_on_server', display: __('Keep messages on server'), tag: 'boolean', null: true, options: { true: 'yes', false: 'no' }, translate: true, default: false },
]
@@ -380,7 +380,7 @@ class ChannelGroupEdit extends App.ControllerModal
content: =>
configureAttributesBase = [
{ name: 'group_id', display: __('Destination Group'), tag: 'tree_select', null: false, relation: 'Group', filter: { active: true } },
{ name: 'group_email_address_id', display: __('Destination Group Email Address'), tag: 'select', options: @emailAddressOptions(@item.id, @item.group_id), note: __("This will adjust the corresponding setting of the destination group within the group management. A group's email address determines which address should be used for outgoing mails, e.g. when an agent is composing an email or a trigger is sending an auto-reply.") },
{ name: 'group_email_address_id', display: __('Destination group > Sending email address'), tag: 'select', options: @emailAddressOptions(@item.id, @item.group_id), note: __("This will adjust the corresponding setting of the destination group within the group management. A group's email address determines which address should be used for outgoing mails, e.g. when an agent is composing an email or a trigger is sending an auto-reply.") },
]
@form = new App.ControllerForm(
model:

View File

@@ -32,7 +32,7 @@ class App.ChannelMicrosoft365 extends App.ControllerTabs
@alert = {
variant: 'info'
message: App.i18n.translateContent('Compared to the Microsoft 365 Graph API Email Channel, this is the traditional implementation using OAuth and IMAP. When setting up new channels, we suggest using the Graph API implementation instead. When you think there are good reasons to keep the IMAP approach as an alternative in the future, please let us know in the Zammad Community %l. More information can be found here %l.', 'https://community.zammad.org/t/microsoft-365-email-graphapi-vs-imap/16892', 'https://admin-docs.zammad.org/en/latest/channels/microsoft365/index.html')
message: App.i18n.translateContent('Compared to the Microsoft 365 Graph API Email Channel, this is the traditional implementation using OAuth and IMAP. When setting up new channels, we suggest using the Graph API implementation instead. More information can be found here %l.', 'https://admin-docs.zammad.org/en/latest/channels/microsoft365/index.html')
}
@render()
@@ -301,7 +301,7 @@ class ChannelInboundEdit extends App.ControllerModal
content: =>
configureAttributesBase = [
{ name: 'group_id', display: __('Destination Group'), tag: 'tree_select', null: false, relation: 'Group', filter: { active: true } },
{ name: 'group_email_address_id', display: __('Destination Group Email Address'), tag: 'select', null: false, options: @emailAddressOptions(@item.id, @item.group_id), note: __("This will adjust the corresponding setting of the destination group within the group management. A group's email address determines which address should be used for outgoing mails, e.g. when an agent is composing an email or a trigger is sending an auto-reply.") },
{ name: 'group_email_address_id', display: __('Destination group > Sending email address'), tag: 'select', null: false, options: @emailAddressOptions(@item.id, @item.group_id), note: __("This will adjust the corresponding setting of the destination group within the group management. A group's email address determines which address should be used for outgoing mails, e.g. when an agent is composing an email or a trigger is sending an auto-reply.") },
{ name: 'options::folder', display: __('Folder'), tag: 'input', type: 'text', limit: 120, null: true, autocapitalize: false },
{ name: 'options::keep_on_server', display: __('Keep messages on server'), tag: 'boolean', null: true, options: { true: 'yes', false: 'no' }, translate: true, default: false },
]
@@ -407,7 +407,7 @@ class ChannelGroupEdit extends App.ControllerModal
content: =>
configureAttributesBase = [
{ name: 'group_id', display: __('Destination Group'), tag: 'tree_select', null: false, relation: 'Group', filter: { active: true } },
{ name: 'group_email_address_id', display: __('Destination Group Email Address'), tag: 'select', options: @emailAddressOptions(@item.id, @item.group_id), note: __("This will adjust the corresponding setting of the destination group within the group management. A group's email address determines which address should be used for outgoing mails, e.g. when an agent is composing an email or a trigger is sending an auto-reply.") },
{ name: 'group_email_address_id', display: __('Destination group > Sending email address'), tag: 'select', options: @emailAddressOptions(@item.id, @item.group_id), note: __("This will adjust the corresponding setting of the destination group within the group management. A group's email address determines which address should be used for outgoing mails, e.g. when an agent is composing an email or a trigger is sending an auto-reply.") },
]
@form = new App.ControllerForm(
model:

View File

@@ -268,7 +268,7 @@ class ChannelGroupEdit extends App.ControllerModal
content: =>
configureAttributesBase = [
{ name: 'group_id', display: __('Destination Group'), tag: 'tree_select', null: false, relation: 'Group', filter: { active: true } },
{ name: 'group_email_address_id', display: __('Destination Group Email Address'), tag: 'select', options: @emailAddressOptions(@item.id, @item.group_id), note: __("This will adjust the corresponding setting of the destination group within the group management. A group's email address determines which address should be used for outgoing mails, e.g. when an agent is composing an email or a trigger is sending an auto-reply.") },
{ name: 'group_email_address_id', display: __('Destination group > Sending email address'), tag: 'select', options: @emailAddressOptions(@item.id, @item.group_id), note: __("This will adjust the corresponding setting of the destination group within the group management. A group's email address determines which address should be used for outgoing mails, e.g. when an agent is composing an email or a trigger is sending an auto-reply.") },
]
@form = new App.ControllerForm(
model:
@@ -478,7 +478,7 @@ class ChannelInboundEdit extends App.ControllerModal
configureAttributesBase = [
{ name: 'group_id', display: __('Destination Group'), tag: 'tree_select', null: false, relation: 'Group', filter: { active: true } },
{ name: 'group_email_address_id', display: __('Destination Group Email Address'), tag: 'select', null: false, options: @emailAddressOptions(@item.id, @item.group_id), note: __("This will adjust the corresponding setting of the destination group within the group management. A group's email address determines which address should be used for outgoing mails, e.g. when an agent is composing an email or a trigger is sending an auto-reply.") },
{ name: 'group_email_address_id', display: __('Destination group > Sending email address'), tag: 'select', null: false, options: @emailAddressOptions(@item.id, @item.group_id), note: __("This will adjust the corresponding setting of the destination group within the group management. A group's email address determines which address should be used for outgoing mails, e.g. when an agent is composing an email or a trigger is sending an auto-reply.") },
{ name: 'options::folder_id', display: __('Folder'), tag: 'tree_select', null: true, options: @folderOptions, nulloption: true, default: '', help: __('Specify which folder to fetch from, or leave empty to fetch from ||inbox||.') },
{ name: 'options::keep_on_server', display: __('Keep messages on server'), tag: 'boolean', null: true, options: { true: 'yes', false: 'no' }, translate: true, default: false },
]

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