Add a warning when using deprecated template_dir settings (#10768)
The deprecation itself happened in #10596 which shipped with Synapse v1.41.0. However, it doesn't seem fair to suddenly drop support for these settings in ~4-6w without being more vocal about said deprecation.
This commit is contained in:
parent
ae3c16318b
commit
8c9e723fe0
|
@ -0,0 +1 @@
|
||||||
|
Print a warning when using one of the deprecated `template_dir` settings.
|
|
@ -11,8 +11,20 @@
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
import logging
|
||||||
|
|
||||||
from synapse.config._base import Config, ConfigError
|
from synapse.config._base import Config, ConfigError
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
LEGACY_TEMPLATE_DIR_WARNING = """
|
||||||
|
This server's configuration file is using the deprecated 'template_dir' setting in the
|
||||||
|
'account_validity' section. Support for this setting has been deprecated and will be
|
||||||
|
removed in a future version of Synapse. Server admins should instead use the new
|
||||||
|
'custom_templates_directory' setting documented here:
|
||||||
|
https://matrix-org.github.io/synapse/latest/templates.html
|
||||||
|
---------------------------------------------------------------------------------------"""
|
||||||
|
|
||||||
|
|
||||||
class AccountValidityConfig(Config):
|
class AccountValidityConfig(Config):
|
||||||
section = "account_validity"
|
section = "account_validity"
|
||||||
|
@ -69,6 +81,8 @@ class AccountValidityConfig(Config):
|
||||||
|
|
||||||
# Load account validity templates.
|
# Load account validity templates.
|
||||||
account_validity_template_dir = account_validity_config.get("template_dir")
|
account_validity_template_dir = account_validity_config.get("template_dir")
|
||||||
|
if account_validity_template_dir is not None:
|
||||||
|
logger.warning(LEGACY_TEMPLATE_DIR_WARNING)
|
||||||
|
|
||||||
account_renewed_template_filename = account_validity_config.get(
|
account_renewed_template_filename = account_validity_config.get(
|
||||||
"account_renewed_html_path", "account_renewed.html"
|
"account_renewed_html_path", "account_renewed.html"
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
|
|
||||||
# This file can't be called email.py because if it is, we cannot:
|
# This file can't be called email.py because if it is, we cannot:
|
||||||
import email.utils
|
import email.utils
|
||||||
|
import logging
|
||||||
import os
|
import os
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
@ -24,6 +25,8 @@ import attr
|
||||||
|
|
||||||
from ._base import Config, ConfigError
|
from ._base import Config, ConfigError
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
MISSING_PASSWORD_RESET_CONFIG_ERROR = """\
|
MISSING_PASSWORD_RESET_CONFIG_ERROR = """\
|
||||||
Password reset emails are enabled on this homeserver due to a partial
|
Password reset emails are enabled on this homeserver due to a partial
|
||||||
'email' block. However, the following required keys are missing:
|
'email' block. However, the following required keys are missing:
|
||||||
|
@ -44,6 +47,14 @@ DEFAULT_SUBJECTS = {
|
||||||
"email_validation": "[%(server_name)s] Validate your email",
|
"email_validation": "[%(server_name)s] Validate your email",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LEGACY_TEMPLATE_DIR_WARNING = """
|
||||||
|
This server's configuration file is using the deprecated 'template_dir' setting in the
|
||||||
|
'email' section. Support for this setting has been deprecated and will be removed in a
|
||||||
|
future version of Synapse. Server admins should instead use the new
|
||||||
|
'custom_templates_directory' setting documented here:
|
||||||
|
https://matrix-org.github.io/synapse/latest/templates.html
|
||||||
|
---------------------------------------------------------------------------------------"""
|
||||||
|
|
||||||
|
|
||||||
@attr.s(slots=True, frozen=True)
|
@attr.s(slots=True, frozen=True)
|
||||||
class EmailSubjectConfig:
|
class EmailSubjectConfig:
|
||||||
|
@ -105,6 +116,9 @@ class EmailConfig(Config):
|
||||||
|
|
||||||
# A user-configurable template directory
|
# A user-configurable template directory
|
||||||
template_dir = email_config.get("template_dir")
|
template_dir = email_config.get("template_dir")
|
||||||
|
if template_dir is not None:
|
||||||
|
logger.warning(LEGACY_TEMPLATE_DIR_WARNING)
|
||||||
|
|
||||||
if isinstance(template_dir, str):
|
if isinstance(template_dir, str):
|
||||||
# We need an absolute path, because we change directory after starting (and
|
# We need an absolute path, because we change directory after starting (and
|
||||||
# we don't yet know what auxiliary templates like mail.css we will need).
|
# we don't yet know what auxiliary templates like mail.css we will need).
|
||||||
|
|
|
@ -11,12 +11,23 @@
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
import logging
|
||||||
from typing import Any, Dict, Optional
|
from typing import Any, Dict, Optional
|
||||||
|
|
||||||
import attr
|
import attr
|
||||||
|
|
||||||
from ._base import Config
|
from ._base import Config
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
LEGACY_TEMPLATE_DIR_WARNING = """
|
||||||
|
This server's configuration file is using the deprecated 'template_dir' setting in the
|
||||||
|
'sso' section. Support for this setting has been deprecated and will be removed in a
|
||||||
|
future version of Synapse. Server admins should instead use the new
|
||||||
|
'custom_templates_directory' setting documented here:
|
||||||
|
https://matrix-org.github.io/synapse/latest/templates.html
|
||||||
|
---------------------------------------------------------------------------------------"""
|
||||||
|
|
||||||
|
|
||||||
@attr.s(frozen=True)
|
@attr.s(frozen=True)
|
||||||
class SsoAttributeRequirement:
|
class SsoAttributeRequirement:
|
||||||
|
@ -43,6 +54,8 @@ class SSOConfig(Config):
|
||||||
|
|
||||||
# The sso-specific template_dir
|
# The sso-specific template_dir
|
||||||
self.sso_template_dir = sso_config.get("template_dir")
|
self.sso_template_dir = sso_config.get("template_dir")
|
||||||
|
if self.sso_template_dir is not None:
|
||||||
|
logger.warning(LEGACY_TEMPLATE_DIR_WARNING)
|
||||||
|
|
||||||
# Read templates from disk
|
# Read templates from disk
|
||||||
custom_template_directories = (
|
custom_template_directories = (
|
||||||
|
|
Loading…
Reference in New Issue