From a2ab4301e7ef6daccadb89dc8999fd7a10e62cb5 Mon Sep 17 00:00:00 2001 From: FreddleSpl0it <75116288+FreddleSpl0it@users.noreply.github.com> Date: Wed, 4 Nov 2026 15:10:40 +0100 Subject: [PATCH] [Web][Dovecot][Compose] Keep group shares on Enter, no restarts while waiting for the schema, run sync crons on master only --- data/Dockerfiles/dovecot/docker-entrypoint.sh | 5 +++-- data/web/templates/edit/mailbox-group-grant.twig | 2 +- data/web/templates/edit/mailbox-group-grants.twig | 2 +- docker-compose.yml | 6 +++--- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/data/Dockerfiles/dovecot/docker-entrypoint.sh b/data/Dockerfiles/dovecot/docker-entrypoint.sh index f97a3ff6d..99bbabcf8 100755 --- a/data/Dockerfiles/dovecot/docker-entrypoint.sh +++ b/data/Dockerfiles/dovecot/docker-entrypoint.sh @@ -306,13 +306,14 @@ IMAPSYNC_TABLE=$(mariadb --skip-ssl --socket=/var/run/mysqld/mysqld.sock -u ${DB echo "$(envsubst < /usr/local/bin/maildir_gc.sh)" > /usr/local/bin/maildir_gc.sh # Wait for updated schema (DB_VERSION from docker-compose.yml), the userdb query reads tables the init_db of php-fpm creates on updates -DBV_NOW=$(mariadb --skip-ssl --socket=/var/run/mysqld/mysqld.sock -u ${DBUSER} -p${DBPASS} ${DBNAME} -e "SELECT version FROM versions WHERE application = 'db_schema';" -BN) +# No error while the versions table is missing (fresh install, set -e) +DBV_NOW=$(mariadb --skip-ssl --socket=/var/run/mysqld/mysqld.sock -u ${DBUSER} -p${DBPASS} ${DBNAME} -e "SELECT version FROM versions WHERE application = 'db_schema';" -BN 2>/dev/null || true) DBV_WAIT=0 while [[ "${DBV_NOW}" != "${DB_VERSION}" ]] && [[ ${DBV_WAIT} -lt 60 ]]; do echo "Waiting for schema update..." sleep 5 DBV_WAIT=$((DBV_WAIT + 1)) - DBV_NOW=$(mariadb --skip-ssl --socket=/var/run/mysqld/mysqld.sock -u ${DBUSER} -p${DBPASS} ${DBNAME} -e "SELECT version FROM versions WHERE application = 'db_schema';" -BN) + DBV_NOW=$(mariadb --skip-ssl --socket=/var/run/mysqld/mysqld.sock -u ${DBUSER} -p${DBPASS} ${DBNAME} -e "SELECT version FROM versions WHERE application = 'db_schema';" -BN 2>/dev/null || true) done if [[ "${DBV_NOW}" != "${DB_VERSION}" ]]; then echo -e "\e[31mDB schema is ${DBV_NOW}, expected ${DB_VERSION} - starting anyway, check the php-fpm log (init_db)\e[0m" diff --git a/data/web/templates/edit/mailbox-group-grant.twig b/data/web/templates/edit/mailbox-group-grant.twig index 5c9c21f39..88fddf12d 100644 --- a/data/web/templates/edit/mailbox-group-grant.twig +++ b/data/web/templates/edit/mailbox-group-grant.twig @@ -43,7 +43,7 @@