commit 75f887e5ade9b7c7f40ef785cd3c9eb73c2a95fd
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Wed Jul 15 11:50:00 2026 +0200

    F24172 FormElement Chat mit diversen features erweitern
    - Css fix after merge

commit 489fceaf02396d8ec2d583771b4b8059d793d6fc
Merge: f2858ad6f 1844f7e04
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Tue Jul 14 11:08:06 2026 +0200

    Merge remote-tracking branch 'origin/develop' into F24172-FormElement-Chat-mit-diversen-Features-erweitern
    
    # Conflicts:
    #       Documentation-develop/CHAT.md
    #       extension/Classes/Core/Constants.php
    #       extension/Classes/Core/Database/DatabaseUpdateData.php
    #       extension/Classes/Core/Form/Chat.php
    #       javascript/src/Helper/qfqChat.js
    #       less/qfq-bs.css.less

commit f2858ad6fd09e451ac083e36901f98f6bcbaee3e
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Tue Jul 14 09:47:36 2026 +0200

    F24172 FormElement Chat mit diversen features erweitern
    - Typo

commit 724d58a2d43ddb1f4f377872f2a0f8f2e44188e0
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Mon Jul 13 16:26:55 2026 +0200

    F24172 FormElement Chat mit diversen features erweitern
    - Fix the order of messages when multiple messages were sent at the same second

commit 28f3fe0cbf3812b50e609a011347c5058ae6b9da
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Mon Jul 13 15:36:08 2026 +0200

    F24172 FormElement Chat mit diversen features erweitern
    - The same scrolling logic should also work in the thread

commit 0e4f0a94030327a17ae34c72fb442659217b45f8
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Mon Jul 13 12:51:36 2026 +0200

    F24172 FormElement Chat mit diversen features erweitern
    - Add emoji-data.json to copy.js

commit e061b28db9ad2a1ed414ec2a54a9a9d319dac767
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Mon Jul 13 12:02:00 2026 +0200

    F24172 FormElement Chat mit diversen features erweitern
    Scroll to bottom now lands correctly for image messages by reserving the image height before the (lazy) image loads

commit 1844f7e04f02f2d9e87e444fd4419239f4ffeb77
Merge: 24be2785c e12564d0a
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Mon Jul 13 11:30:37 2026 +0200

    Merge remote-tracking branch 'origin/develop' into develop

commit 24be2785c09f3c0cec11474f0daa008f38bd9a76
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Mon Jul 13 11:30:29 2026 +0200

    Add FileUpload.access column

commit e12564d0a3d7b401b96bc19d82770040c3526134
Merge: 0dfa1754d e18cb14a3
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Sat Jul 11 17:00:29 2026 +0200

    Merge branch 'S24293-emailsync-thunderbird-client-id' into 'develop'
    
    Make client id configurable. removed hardcoded thunderbird client id.
    
    See merge request typo3/qfq!1255

commit e18cb14a3feda8476b69ec0b3f1a9c76130f623a
Author: Enis Nuredini <enis.nuredini@math.uzh.ch>
Date:   Sat Jul 11 17:00:28 2026 +0200

    Make client id configurable. removed hardcoded thunderbird client id.

commit 0dfa1754d1bf55fa1c4d755476c0b86dca6443be
Merge: 80dd9b244 6f4e74ce3
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Sat Jul 11 16:53:53 2026 +0200

    Merge branch 'F23915-Chat-Erweiterung-mit-files-Inlinebilder-und-Videocall-IPA-RF-Produktiv-nehmen' into 'develop'
    
    F23350 Erweiterung des QFQ-Chat-Features mit modernen Kommunikationsfunktionen
    
    See merge request typo3/qfq!1252

commit 6f4e74ce372adbf6de92d36dc024da003fde7089
Author: Roman Fehr <roman.fehr@math.uzh.ch>
Date:   Sat Jul 11 16:53:53 2026 +0200

    F23350 Erweiterung des QFQ-Chat-Features mit modernen Kommunikationsfunktionen

commit 80dd9b244c17065ccc9271caa72f05ea408874fb
Merge: a6ebc953f ffca231a6
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Sat Jul 11 16:08:14 2026 +0200

    Merge branch 'S24143-SyncByRule-makeUnique-unit-tests' into 'develop'
    
    Unit tests for SyncByRule `makeUnique`
    
    See merge request typo3/qfq!1251

commit ffca231a69c00a02763eab808e4545fac1f803bc
Author: Jan Haller <jan.haller@math.uzh.ch>
Date:   Sat Jul 11 16:08:14 2026 +0200

    Unit tests for SyncByRule `makeUnique`

commit a6ebc953f1a6fb41bd70b75561c29bf327fe405c
Merge: dfa2cbafc a4ef73394
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Sat Jul 11 16:07:18 2026 +0200

    Merge branch 'S24093-SyncByRule-javascript-improvements' into 'develop'
    
    SyncByRule Javascript improvement for pasting
    
    See merge request typo3/qfq!1250

commit a4ef7339468c584a285b61a4fafcb078fdc6a3d4
Author: Jan Haller <jan.haller@math.uzh.ch>
Date:   Sat Jul 11 16:07:17 2026 +0200

    SyncByRule Javascript improvement for pasting

commit dfa2cbafc4aac993cbe6c2c20155a0489b96fae9
Merge: 809671c7f 9053464f8
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Sat Jul 11 13:58:30 2026 +0200

    Merge branch 'F19031-Report-SQL-Caching' into 'develop'
    
    F19031 Report / SQL Caching
    
    See merge request typo3/qfq!1249

commit 9053464f8215afcb312a703b26b9dd044ef8a8b9
Author: Roman Fehr <roman.fehr@math.uzh.ch>
Date:   Sat Jul 11 13:58:30 2026 +0200

    F19031 Report / SQL Caching

commit 809671c7fd08a20aaea5cb531eade9f7d6ba41e2
Merge: 04b071fcc dbd29fc02
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Fri Jul 10 16:56:13 2026 +0200

    Merge branch 'F23438-captcha' into 'develop'
    
    F23438 captcha
    
    See merge request typo3/qfq!1254

commit dbd29fc02f04910172e12bc814493e291a827734
Author: Benjamin Baer <benjamin.baer@math.uzh.ch>
Date:   Fri Jul 10 16:56:13 2026 +0200

    F23438 captcha

commit 978d0167a6b768b60a56cff82e64f8d8b623bbbe
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Fri Jul 10 15:49:26 2026 +0200

    F24172 FormElement Chat mit diversen features erweitern
    - Scroll to top/bottom with the correct icon

commit b153ac257a7ae00e9631290e5b841b382e8a4ef8
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Fri Jul 10 13:04:21 2026 +0200

    F24172 FormElement Chat mit diversen features erweitern
    - Start a thread in a own message

commit 6ddadca9209ee49e4e3684073dec78b7d5fa01a5
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Fri Jul 10 12:36:41 2026 +0200

    F24172 FormElement Chat mit diversen features erweitern
    - htmlEncoding is now only in the backend. it is no longer in both the frontend and backend

commit bf316e67eda786e7fd7b46fb1a27f987fec3e918
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Thu Jul 9 13:24:44 2026 +0200

    F24172 FormElement Chat mit diversen features erweitern
    - Join Video-Call direct with username

commit 77a86f87e0ac70c0ab9d4ffca0bb49456682e235
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Thu Jul 9 11:16:24 2026 +0200

    F24172 FormElement Chat mit diversen features erweitern
    - Video-Call as a mode

commit 04b071fcc904fe54413af05b6fc219be4f4f22ff
Merge: b508d73b9 42ffbf5f2
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Thu Jul 9 10:36:01 2026 +0200

    Merge branch 'F24228-outlook-oauth2-python-script' into 'develop'
    
    #24228 / IMAP - Outlook: OAuth2 Login via MUTT/Python script
    
    See merge request typo3/qfq!1253

commit 42ffbf5f27679a2adcdf15ae9367e4dae51d793c
Author: Enis Nuredini <enis.nuredini@math.uzh.ch>
Date:   Thu Jul 9 10:36:00 2026 +0200

    #24228 / IMAP - Outlook: OAuth2 Login via MUTT/Python script

commit 5f946cde98f3fa04218ce574f9e5dcb35dcfa29b
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Wed Jul 8 13:51:02 2026 +0200

    F24172 FormElement Chat mit diversen features erweitern
    - Scroll to bottom btn
    - Scroll to the new message or coloring bottom btn blue
    - Same scroll logic for thread

commit 70887c6f3865ff4bf959044adf031f78832ddbb4
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Mon Jul 6 10:51:51 2026 +0200

    F23915 Chat-Erweiterung mit files Inlinebilder und Videocall IPA RF Produktiv nehmen
    - Chat text area height
    - Chat Scroll to top/bottom

commit 5bdedba7afc63941a391827a3a61fe52c6f8fcfa
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Fri Jul 3 14:45:38 2026 +0200

    F23915 Chat-Erweiterung mit files Inlinebilder und Videocall IPA RF Produktiv nehmen
    - Chat dev documentaion

commit 968e4c36d9f80d924d533374909c3ef44f749526
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Fri Jul 3 11:06:16 2026 +0200

    F23915 Chat-Erweiterung mit files Inlinebilder und Videocall IPA RF Produktiv nehmen
    - Chat dev documentaion

commit 28d5b341ab762917b27e3b6adf5873153fc8c635
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Wed Jul 1 16:13:41 2026 +0200

    F23915 Chat-Erweiterung mit files Inlinebilder und Videocall IPA RF Produktiv nehmen
    Release Version:
    - Improve styling
    - Send message with Enter, newline with Shift+Enter
    - Fix cross-topic IDOR: reactions and tags were not topic-scoped; add a shared Chat::assertMessageInTopic() guard (reactions + toolbar load).
    - Fix tag-delete IDOR: a tag could be deleted by guessing its tagId (now scoped by pIdCreator + cIdTag).
    - Escape usernames in tag/done popups (innerHTML -> stored XSS).
    - Attachment security: server-side file-extension allow-list, serve server-detected MIME with X-Content-Type-Options: nosniff.
    - Harden getMessagesFromServer (try/catch, hide spinner, error feedback) — fixes the infinite loading spinner and dead realtime after a failed load.
    - Prevent double-send on rapid Enter/click.

commit b05d6c6f20cd2c96de0b29f96c147ab042147d06
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Mon Jun 29 14:30:59 2026 +0200

    F23915 Chat-Erweiterung mit files Inlinebilder und Videocall IPA RF Produktiv nehmen
    - Upload File-stash style improvements

commit 7370fcba47590337f399cc82d7ad4bdc253e5060
Merge: 9d645bb6b b508d73b9
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Mon Jun 29 12:15:42 2026 +0200

    Merge remote-tracking branch 'origin/develop' into F23915-Chat-Erweiterung-mit-files-Inlinebilder-und-Videocall-IPA-RF-Produktiv-nehmen
    
    # Conflicts:
    #       extension/Classes/Core/Constants.php
    #       extension/Classes/Core/Database/DatabaseUpdateData.php

commit b508d73b954a2a91de9595ee3d4cf1c8be050e17
Merge: ffa4690a6 5e662d425
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Thu Jun 25 10:14:17 2026 +0200

    Merge branch 'F24096-ai-integration-2' into 'develop'
    
    Increased user experience with new output handling.
    
    See merge request typo3/qfq!1248

commit ffa4690a6d6d6b17f139ceae556e4dd3aaaedb16
Merge: 4a1cddb68 6e48f6627
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Thu Jun 25 09:48:02 2026 +0200

    Merge branch 'S24092-SyncByRule-notification' into 'develop'
    
    Part 4: SyncByRule notifications
    
    See merge request typo3/qfq!1242

commit 6e48f6627d42b774eaf7346f64ec25d297005531
Author: Jan Haller <jan.haller@math.uzh.ch>
Date:   Thu Jun 25 09:48:02 2026 +0200

    Part 4: SyncByRule notifications

commit 4a1cddb6849f9a39b343497317ffc0d9d809faef
Merge: 199220da6 ebf711f9b
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Thu Jun 25 09:47:09 2026 +0200

    Merge branch 'F8089-copy-paste-for-forms-and-form-elements' into 'develop'
    
    Part 3 of 3: SyncByRule copy/paste feature for form.json and formEditor.qfqr
    
    See merge request typo3/qfq!1240

commit ebf711f9b6411ad61624e7eb80eb3d736efafe32
Author: Jan Haller <jan.haller@math.uzh.ch>
Date:   Thu Jun 25 09:47:09 2026 +0200

    Part 3 of 3: SyncByRule copy/paste feature for form.json and formEditor.qfqr

commit 199220da63bb7c655fbc943072190b4902d1dc35
Merge: 7ac30cbf0 4546e5795
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Thu Jun 25 09:41:51 2026 +0200

    Merge branch 'F24087-SyncByRule-new-option-makeUnique' into 'develop'
    
    Part 2 of 3: makeUnique option for SyncByRule
    
    See merge request typo3/qfq!1239

commit 4546e5795d88cffc5fb018f1bba0f0d06794451d
Author: Jan Haller <jan.haller@math.uzh.ch>
Date:   Thu Jun 25 09:41:50 2026 +0200

    Part 2 of 3: makeUnique option for SyncByRule

commit 7ac30cbf0a4f6318f067f7c42b42018a0517848b
Merge: 9b9c1a894 25fc66e27
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Thu Jun 25 09:04:54 2026 +0200

    Merge branch 'S23290-SyncByRule-replace-icons-tooltip-text' into 'develop'
    
    refs #23298
    
    See merge request typo3/qfq!1246

commit 25fc66e2752b21375db71ee35cfd68060f525feb
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Thu Jun 25 09:04:54 2026 +0200

    refs #23298

commit 9b9c1a89409ece266df8152ba0e3ef6833bb2d9b
Merge: afd3b4ae2 b02fc1906
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Thu Jun 25 00:34:24 2026 +0200

    Merge branch 'detached' into 'develop'
    
    refs #23298
    
    See merge request typo3/qfq!1247

commit b02fc1906c2599c4307cca67865318a6dbf2a38a
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Thu Jun 25 00:34:24 2026 +0200

    refs #23298

commit afd3b4ae246d2e96923c9e644c9d89135ecf8a58
Merge: 3e154f2bc 947e63f70
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Wed Jun 24 22:26:39 2026 +0200

    Merge branch 'S23290-SyncByRule-replace-icons-tooltip-text' into 'develop'
    
    Part 1 of 3: Replace default SyncByRule icons and text
    
    See merge request typo3/qfq!1238

commit 947e63f70673dc25371077e721435fc7858407f1
Author: Jan Haller <jan.haller@math.uzh.ch>
Date:   Wed Jun 24 22:26:38 2026 +0200

    Part 1 of 3: Replace default SyncByRule icons and text

commit 3e154f2bccf41662f023550e580ae7ff47f1a73f
Merge: b979a79b6 3897979b7
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Wed Jun 24 22:14:16 2026 +0200

    Merge branch 'B23896-FE-dynamic-names' into 'develop'
    
    Just change FE.name to be saved unencoded
    
    See merge request typo3/qfq!1244

commit 3897979b7b58155e9bb5729e39b0924f16558907
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Wed Jun 24 22:10:17 2026 +0200

    Just change FE.name to be saved unencoded

commit b979a79b6a53f6a2e2cd18c38a44914a572d459f
Merge: 0a9449ded 251ee70d3
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Wed Jun 24 16:28:24 2026 +0200

    Merge branch 'F23895-qfqFunctions.sql-purge-delimiter-line' into 'develop'
    
    F23895 qfqfunctions.sql purge delimiter line
    
    See merge request typo3/qfq!1243

commit 251ee70d36ffe73e99b403fda65bdb9d89995dd7
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Wed Jun 24 16:28:24 2026 +0200

    F23895 qfqfunctions.sql purge delimiter line

commit 5e662d425b3809a4b304a92f7e47587615548a5d
Author: enured <enis.nuredini@math.uzh.ch>
Date:   Wed Jun 24 08:32:43 2026 +0200

    Increased user experience with new output handling.

commit 0a9449ded0c88f0d5162576916c4d8d6ca2b9365
Merge: 6edd5335e 604a5c437
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Tue Jun 23 14:53:36 2026 +0200

    Merge branch 'B23518-Download-with-long-file-name-throws-error' into 'develop'
    
    B23518 Download with long file name throws error
    
    See merge request typo3/qfq!1196

commit 604a5c437022472043802bb2a3b2f2e74ca59730
Author: Roman Fehr <roman.fehr@math.uzh.ch>
Date:   Tue Jun 23 14:53:35 2026 +0200

    B23518 Download with long file name throws error

commit 6edd5335ed329b6113bcb8aae669221dc161b722
Merge: 09a6ea98b c3479a031
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Tue Jun 23 08:47:42 2026 +0200

    Merge branch 'F23134-qfq-ai-integration' into 'develop'
    
    F23134-qfq-ai-integration
    
    See merge request typo3/qfq!1237

commit c3479a031b3bb6c9b2371bbd382d3abb1301c88c
Author: Enis Nuredini <enis.nuredini@math.uzh.ch>
Date:   Tue Jun 23 08:47:41 2026 +0200

    F23134-qfq-ai-integration

commit 09a6ea98bfd47ef7cdacba0e84f5ba74715d0d7c
Author: enured <enis.nuredini@math.uzh.ch>
Date:   Mon Jun 22 12:32:33 2026 +0200

    Added new dev doc for client rewrite.

commit a200e17a9667337f04d956b47c9b64b607605278
Merge: 8d2c23b77 8e0931ca8
Author: enured <enis.nuredini@math.uzh.ch>
Date:   Mon Jun 22 09:28:24 2026 +0200

    Merge remote-tracking branch 'origin/develop' into develop

commit 8d2c23b7752689fc51a821700aec342349b0db08
Author: enured <enis.nuredini@math.uzh.ch>
Date:   Mon Jun 22 09:28:09 2026 +0200

    client rewrite dev doc

commit 8e0931ca8de987931e5fccd0cc3e16d9c16ccd8a
Merge: f2fdc6d15 0d68e2551
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Fri Jun 19 23:35:12 2026 +0200

    Merge branch 'F23895-qfqFunctions.sql-purge-delimiter-line' into 'develop'
    
    F23895 qfqfunctions.sql purge delimiter line
    
    See merge request typo3/qfq!1236

commit 0d68e25513b3c808e8f9c2b280fa262b25496aea
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Fri Jun 19 23:35:10 2026 +0200

    F23895 qfqfunctions.sql purge delimiter line

commit f2fdc6d15c2f4345c909ef3a5a855e1c0e50acc6
Author: enured <enis.nuredini@math.uzh.ch>
Date:   Fri Jun 19 00:35:33 2026 +0200

    New Client rewrite documentation.

commit 9d645bb6bcd1782c85f7980e0e09227e81f23206
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Thu Jun 18 23:18:38 2026 +0200

    F23915 Chat-Erweiterung mit files Inlinebilder und Videocall IPA RF Produktiv nehmen
    - Beta version from multiupload with styling

commit 90634fa728935ff5a10484b428f959c6a1da8963
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Thu Jun 18 14:57:17 2026 +0200

    F23915 Chat-Erweiterung mit files Inlinebilder und Videocall IPA RF Produktiv nehmen
    - Beta version from multiupload

commit 03c597cf5f5267a64ef8143fd6f6b20003521229
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Wed Jun 17 12:25:13 2026 +0200

    F23915 Chat-Erweiterung mit files Inlinebilder und Videocall IPA RF Produktiv nehmen
    - Rework message Validate with output htmlEncode in frontend and re-encode on Backend (data in DB is now encoded).
    - Add type video-call and File-attachment in first message.
    - Rework validate message Tests

commit 2373141538e770f4036997ffc7ed8d1ca05ed222
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Wed Jun 17 00:07:48 2026 +0200

    F23915 Chat-Erweiterung mit files Inlinebilder und Videocall IPA RF Produktiv nehmen
    - Rework message Validate with output htmlEncode in frontend and re-encode on Backend (data in DB is now encoded).
    - Add type video-call and File-attachment in first message.

commit d0fb88be63d6d2b30639f110704ecf81a88a86a9
Merge: d5e496085 9147410ed
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Mon Jun 15 22:48:13 2026 +0200

    Merge branch 'selenium-nov' into 'develop'
    
    Selenium CI: self-contained TYPO3 instance under ci/typo3-instance (Phase 1)
    
    See merge request typo3/qfq!1234

commit 9147410ede5f2abb8684e68744b7994677458329
Author: Enis Nuredini <enis.nuredini@math.uzh.ch>
Date:   Mon Jun 15 22:48:12 2026 +0200

    Selenium CI: self-contained TYPO3 instance under ci/typo3-instance (Phase 1)

commit d5e496085b5bf9e69496e7c4df3ee84628c8b268
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Mon Jun 15 22:38:47 2026 +0200

    cleanup

commit da86c7d087bb9a840c9095b4c4100ece193c95f1
Merge: a6b6a8669 2a01f1f13
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Mon Jun 15 22:28:40 2026 +0200

    Merge branch 'F23667-allRequiredGiven-not-available-during-beforeSave' into 'develop'
    
    F23667 allRequiredGiven not available during beforeSave
    
    See merge request typo3/qfq!1233

commit 2a01f1f1336807f96af68a66a5d1b11c2b090529
Author: Roman Fehr <roman.fehr@math.uzh.ch>
Date:   Mon Jun 15 22:28:40 2026 +0200

    F23667 allRequiredGiven not available during beforeSave

commit a6b6a86696014397d5ef223083aaf3d34c51d881
Merge: d848e1ded f33640de0
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Mon Jun 15 22:28:13 2026 +0200

    Merge branch 'B23959-FE-Column-0-Migration-Wizard-broken' into 'develop'
    
    B23959 FE Column 0 Migration Wizzard broken
    
    See merge request typo3/qfq!1235

commit f33640de0293a731e7f0a3cdb440d8cc5934509e
Author: Roman Fehr <roman.fehr@math.uzh.ch>
Date:   Mon Jun 15 22:28:12 2026 +0200

    B23959 FE Column 0 Migration Wizzard broken

commit d848e1dedf4685a9317910fc5b43c2e20a8529c6
Merge: 0a0a9eead 6895d4bf5
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Mon Jun 8 08:52:37 2026 +0200

    Merge branch 'B23897-Checkbox-has-double-class-checkmark' into 'develop'
    
    B23897 Checkbox has double class checkmark
    
    See merge request typo3/qfq!1232

commit 6895d4bf5a328015f5c8a17699b1beb7f5134ece
Author: Roman Fehr <roman.fehr@math.uzh.ch>
Date:   Mon Jun 8 08:52:36 2026 +0200

    B23897 Checkbox has double class checkmark

commit cb7c15c1da90bfb12fa78adc37152a82d734b6cf
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Tue Jun 2 10:02:20 2026 +0200

    F23915 Chat-Erweiterung mit files Inlinebilder und Videocall IPA RF Produktiv nehmen
    - Regex pattern updated to ensure languages are recognized correctly

commit d869b51bab4678e20800d24ebf292bd8cd7fa96f
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Mon Jun 1 16:41:28 2026 +0200

    F23915 Chat-Erweiterung mit files Inlinebilder und Videocall IPA RF Produktiv nehmen
    - DB Chat-Table Update
    - Upload Endpoint with mode dispatcher (not its own API)
    - CSS adjustments

commit 04b816a215ac516fc093a7e20935dc6f400f198a
Merge: 0b9e77ad2 0a0a9eead
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Fri May 29 13:19:26 2026 +0200

    Merge remote-tracking branch 'origin/develop' into F23915-Chat-Erweiterung-mit-files-Inlinebilder-und-Videocall-IPA-RF-Produktiv-nehmen

commit 0a0a9eeadd21ef6a9e3dbd935cc238168dcad149
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Thu May 28 08:40:00 2026 +0200

    Fixes #23894 to allow 'p:51' as _link

commit 81f302a2e44b89bf21a5d17d648a3ccc180a2e1a
Merge: 4c8d9b7aa dc3e17998
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Wed May 27 17:12:24 2026 +0200

    Merge branch 'F23894-fix-pageid-allow-num-only' into 'develop'
    
    Fixes #23894 pageId Fix: allow-num-only
    
    See merge request typo3/qfq!1231

commit dc3e1799821c580a1efabee3aaa037ff19a376d7
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Wed May 27 17:10:41 2026 +0200

    Fixes #23894 pageId Fix: allow-num-only

commit 4c8d9b7aae083371bad8410b4f8548ae83f7ae78
Merge: 3fbae6a1b 166ea05b0
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Wed May 27 17:02:15 2026 +0200

    Merge branch 'F23899QFQ-Config-Move-Recent-Log-on-top-of-History-in-forms' into 'develop'
    
    Fixes #23899
    
    See merge request typo3/qfq!1230

commit 166ea05b0d4478d36a350da168c8e43c854b036f
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Wed May 27 16:59:27 2026 +0200

    Fixes #23899

commit 3fbae6a1b3ae48ea2256a79ea84306a5e2df15ab
Merge: 145bbc9c3 365b6d88f
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Wed May 27 16:46:09 2026 +0200

    Merge branch 'F23682-FE-Column-0-is-allowed-and-disables-Wrapping' into 'develop'
    
    F23682 FE Column 0 is allowed and disables Wrapping
    
    See merge request typo3/qfq!1229

commit 365b6d88f333bb2e0e27077b05928d75c6e8a63e
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Wed May 27 16:46:07 2026 +0200

    F23682 FE Column 0 is allowed and disables Wrapping

commit 145bbc9c37aad42128ad26d7fe0176e6cb253625
Merge: 2f61a9203 53f99d219
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Tue May 26 16:53:40 2026 +0200

    Merge branch 'S23850-encrypt-cipher-method-definition-issue' into 'develop'
    
    Changed special column name with param handling. More robust solution.
    
    See merge request typo3/qfq!1227

commit 2f61a9203bce7282683131fc0a986d6f43d3eeaa
Merge: adff79b4e f6a66e135
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Tue May 26 16:52:16 2026 +0200

    Merge branch 'S23870-cache-token-timezone' into 'develop'
    
    changed modified compare to a robust timezone solution. Fixed broken pdfs when...
    
    See merge request typo3/qfq!1228

commit f6a66e135ff157df57778f7e5c5fadd103243002
Author: Enis Nuredini <enis.nuredini@math.uzh.ch>
Date:   Tue May 26 16:52:15 2026 +0200

    changed modified compare to a robust timezone solution. Fixed broken pdfs when...

commit adff79b4ee696b1e926c88e976386a44c3bbc7d4
Merge: 9aff4627f 9b9aad4bc
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Tue May 26 16:47:15 2026 +0200

    Merge branch 'B23840-report-upload-missmatching-maxFileSize' into 'develop'
    
    Fixed maxFileSize miss matching between client and server.
    
    See merge request typo3/qfq!1226

commit 9aff4627f7943bbc1f09bd9836da4e598b088606
Merge: 62b3cc3fd b272b839a
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Tue May 26 16:46:36 2026 +0200

    Merge branch 'B23818-typeaheadtag-not-loading-tags' into 'develop'
    
    Fixed missing tags on form load.
    
    See merge request typo3/qfq!1225

commit 62b3cc3fdceed4ae9ca23aadaa6c2a066e3e8956
Merge: c999bd4cc 305fe1dde
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Tue May 26 16:46:15 2026 +0200

    Merge branch 'B23817-datetime-on-load-not-shown' into 'develop'
    
    Fixed bug of missing datetime when form loads. Optimized implementation in...
    
    See merge request typo3/qfq!1224

commit 305fe1dde2ae3cd44af8c9726ce042bc28e61333
Author: Enis Nuredini <enis.nuredini@math.uzh.ch>
Date:   Tue May 26 16:46:15 2026 +0200

    Fixed bug of missing datetime when form loads. Optimized implementation in...

commit c999bd4cc155ed593da33a4297ed1ff73d28f021
Merge: ed059880e 1c86ea5b4
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Tue May 26 16:45:01 2026 +0200

    Merge branch 'B23816-colorPicker-missing-type-and-js' into 'develop'
    
    Added missing FE column type and corrected form load sanitize so that it works...
    
    See merge request typo3/qfq!1223

commit 1c86ea5b403be5f65ac48dae6b1aebbf57f9efac
Author: Enis Nuredini <enis.nuredini@math.uzh.ch>
Date:   Tue May 26 16:45:01 2026 +0200

    Added missing FE column type and corrected form load sanitize so that it works...

commit ed059880ea273c1312550d1e711885c75989724e
Merge: b278bc10c 0ac4e4f6f
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Tue May 26 16:44:42 2026 +0200

    Merge branch 'B23786-QFQ-Dev-Panel-render-type' into 'develop'
    
    Added check for type parameter to prevent building qfq dev panel
    
    See merge request typo3/qfq!1222

commit b278bc10c961fc1be0397e338291e3d15ecac96f
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Tue May 26 10:50:05 2026 +0200

    Add dbIndexT3 as local variable

commit 0b9e77ad2ba6eff6930b806ffc47e5fff9f4f43f
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Fri May 22 16:52:18 2026 +0200

    F23350 Erweiterung des QFQ-Chat-Features mit modernen Kommunikationsfunktionen
    Nacharbeiten:
    - error handling
    - bugfixes in chat frontend
    - new alert helper
    - unit tests
    - documentation

commit 53f99d219375bc0822f3a86384c84f491459c381
Author: enured <enis.nuredini@math.uzh.ch>
Date:   Fri May 22 10:57:33 2026 +0200

    Changed special column name with param handling. More robust solution.

commit 2527254a3f18a789479af96622d3064a0ef22e98
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Thu May 21 13:32:09 2026 +0200

    F23350 Erweiterung des QFQ-Chat-Features mit modernen Kommunikationsfunktionen
    Video-Call Integration:
    - ADD enum 'videoCall' + constants + Chat::startVideoCall() with UUID room name and SIP-protected API
    - ADD chat-toolbar-call-btn (topic level) opening Jitsi popup via window.open
    - ADD invitation card render path for type='videoCall' with join button
    - ADD CSS for call button and invitation card

commit 9b9aad4bc18d3c2dbe88e39188797f99c169f185
Author: enured <enis.nuredini@math.uzh.ch>
Date:   Thu May 21 12:14:39 2026 +0200

    Fixed maxFileSize miss matching between client and server.

commit 422b8001745f40018164bda9b867d5f2125e8a1b
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Wed May 20 15:06:14 2026 +0200

    F23350 Erweiterung des QFQ-Chat-Features mit modernen Kommunikationsfunktionen
    Inline-Images:
    - ADD thumbnail rendering for image/* attachments via Thumbnail::process SIP-protected, only-url mode)
    - ADD Vanilla-JS lightbox overlay (ESC/outside-click/X-button close) on preview click
    - ADD CSS for chat-image-preview and chat-lightbox-overlay/image/close
    - CHANGE attachment rendering: image preview shown additionally to download-link

commit c29db8a0a04ee77f41fbe4398bb9e57c60c6cb1b
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Wed May 20 09:39:58 2026 +0200

    F23350 Erweiterung des QFQ-Chat-Features mit modernen Kommunikationsfunktionen
    Code-Snippets:
        - ADD Markdown code-block rendering (```lang ... ```) with highlight.js syntax coloring and copy-to-clipboard button
        - ADD Chat::sanitizeChatMessage() preserving code-block content while sanitizing plain text
        - ADD highlight.js dependency, hljs-entry bundle and atom-one-dark theme
        - ADD chat-message-actions wrapper grouping thread- and reaction-button

commit 82f6961973485c52176f46e4d7e4beb37778bc89
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Tue May 19 13:05:25 2026 +0200

    F23350 Erweiterung des QFQ-Chat-Features mit modernen Kommunikationsfunktionen
    Reactions/Votes:
    Frontend:
      - ADD smiley trigger button (hover) and emoji-picker integration
      - ADD reaction badge rendering with toggle-click (ADD/DELETE)
      - ADD nchan reaction-ping listener for real-time updates
      - ADD viewport-clamping and outside-click handling for picker
      - ADD SIP-protected reaction-add/delete URLs and emoji-data-source path attribute
      - ADD CSS for chat-reactions, chat-reaction-badge and chat-reaction-btn

commit b272b839aba4f968d119fd126840989062d6a998
Author: enured <enis.nuredini@math.uzh.ch>
Date:   Tue May 19 11:15:43 2026 +0200

    Fixed missing tags on form load.

commit 1dece8eb57e687f7209b350818e67f5b98a3a76e
Merge: 76a004bfc d673a4ca8
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Mon May 18 14:24:07 2026 +0200

    Merge remote-tracking branch 'origin/develop' into F23350-Erweiterung-des-QFQ-Chat-Features-mit-modernen-Kommunikationsfunktionen

commit 76a004bfc37170bf9715fa3faea42f185973f7b9
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Mon May 18 14:17:22 2026 +0200

    F23350 Erweiterung des QFQ-Chat-Features mit modernen Kommunikationsfunktionen
    Reactions/Votes:
    - ADD DB column cIdMessage and enum value 'reaction' in Chat table
      - ADD modes chat_reaction_add and chat_reaction_delete to save dispatcher
      - ADD Chat::setReaction() with voting logic and security validation
      - ADD reaction aggregation in Chat::createChat()

commit 743bed66bd40f93276d4439999005831175ab475
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Mon May 18 09:20:22 2026 +0200

    F23350 Erweiterung des QFQ-Chat-Features mit modernen Kommunikationsfunktionen
    Datei-Attachment:
    - ADD backend business logic for chat attachment download
    - ADD frontend upload UI (file picker, progress)
    - ADD attachment rendering in chat messages

commit 82be844b31d39cac46d750f8e0a6873f70a2bb3a
Author: rfehr <roman.fehr@math.uzh.ch>
Date:   Fri May 15 18:26:55 2026 +0200

    F23350 Erweiterung des QFQ-Chat-Features mit modernen Kommunikationsfunktionen
    Datei-Attachment:
     - ADD  a new API-Endpoint chatAttachment
     - ADD DB Tables in Chat Table and a enum type

commit 0ac4e4f6f4d9b2d7b4d22cda662ed477aa647c29
Author: enured <enis.nuredini@math.uzh.ch>
Date:   Wed May 13 21:16:29 2026 +0200

    Added check for type parameter to prevent building qfq dev panel

commit d673a4ca8fdc069a6125aa9b0746e3d2273e543a
Merge: 548f0bdcc 727fead6b
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Wed May 13 16:43:46 2026 +0200

    Merge branch 'B23731-Bugs-in-processRow-for-multi-form' into 'develop'
    
    B23731 Bugs in processRow for multi form
    
    See merge request typo3/qfq!1217

commit 727fead6bc730a4990e397bf84feb30d36d57903
Author: Roman Fehr <roman.fehr@math.uzh.ch>
Date:   Wed May 13 16:43:46 2026 +0200

    B23731 Bugs in processRow for multi form

commit 548f0bdcc1cf9c62b1d0525284d099b0a984c956
Merge: 739b6adbf ec5bfbfa7
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Wed May 13 16:43:27 2026 +0200

    Merge branch 'F23682-FE-Column-0-is-allowed-and-disables-Wrapping' into 'develop'
    
    F23682 FE Column 0 is allowed and disables Wrapping
    
    See merge request typo3/qfq!1221

commit ec5bfbfa726c755172338c5633b41310a8618079
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Wed May 13 16:43:27 2026 +0200

    F23682 FE Column 0 is allowed and disables Wrapping

commit 739b6adbff7b3e690ea3ca13c16260f9f7bcbf35
Merge: 80ac5fd53 d447857f9
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Wed May 13 16:42:57 2026 +0200

    Merge branch 'B23753-upload-filepath-removed' into 'develop'
    
    B23753: Fixed wrongly removed file paths
    
    See merge request typo3/qfq!1219

commit 80ac5fd53807112b3eb9ff83b23c329c9a9a7495
Merge: e8c67b61a e03a9faf3
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Wed May 13 16:42:33 2026 +0200

    Merge branch 'Fix-sql-template-typo' into 'develop'
    
    Fixed sql template (Glue) typo
    
    See merge request typo3/qfq!1220

commit e8c67b61a0c9d318aca0894acfb047c0155cae48
Merge: 4cea65cef 2bfdf1194
Author: Carsten  Rose <carsten.rose@math.uzh.ch>
Date:   Wed May 13 16:38:42 2026 +0200

    Merge branch 'F23682-FE-Column-0-is-allowed-and-disables-Wrapping' into 'develop'
    
    F23682 FE Column 0 is allowed and disables Wrapping
    
    See merge request typo3/qfq!1218

commit 2bfdf119443fccb3b4f3eb3fdca24e3878102d59
Author: Roman Fehr <roman.fehr@math.uzh.ch>
Date:   Wed May 13 16:38:41 2026 +0200

    F23682 FE Column 0 is allowed and disables Wrapping

commit e03a9faf3a5ec07b36b43d7ca06ebe05bafc294f
Author: enured <enis.nuredini@math.uzh.ch>
Date:   Wed May 13 16:06:09 2026 +0200

