diff --git a/CHANGELOG.md b/CHANGELOG.md index 830cd83d3..e8daebfe4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,27 @@ # 2026-07-14 +## The playbook no longer ships a custom welcome page for Element Web + +Element Web [redesigned its welcome page](https://github.com/element-hq/element-web/pull/33211) (the screen shown at `/#/welcome` before logging in) into a built-in component and no longer loads a custom `welcome.html` file by default. Since the playbook upgraded to an Element Web version containing that change (spring 2026), the custom welcome page the playbook installed (and the variables customizing it) had silently stopped having any effect. + +The playbook now embraces the new upstream behavior and no longer ships its own `welcome.html`. The following variables have been removed and the playbook will let you know if you're still using them: `matrix_client_element_welcome_headline`, `matrix_client_element_welcome_text`, `matrix_client_element_welcome_logo_link` and `matrix_client_element_page_template_welcome_path`. + +Most welcome page customizations keep working, because they go through Element Web's branding configuration, which the new welcome page still honors: + +- a custom logo, via `matrix_client_element_welcome_logo` (or `matrix_client_element_branding_auth_header_logo_url`) +- a custom background, via `matrix_client_element_branding_welcome_background_url` + +If you need a fully custom welcome page, you can self-host an HTML page and point Element Web at it, like this: + +```yaml +matrix_client_element_configuration_extension_json: | + { + "embedded_pages": { + "welcome_url": "https://example.com/my-welcome.html" + } + } +``` + ## BorgBackup now includes Synapse's local thumbnails For Synapse servers, the built-in [BorgBackup](./docs/configuring-playbook-backup-borg.md) integration no longer excludes the media store's `local_thumbnails` directory from backups. diff --git a/roles/custom/matrix-client-element/defaults/main.yml b/roles/custom/matrix-client-element/defaults/main.yml index e03446abc..162c1b2ce 100644 --- a/roles/custom/matrix-client-element/defaults/main.yml +++ b/roles/custom/matrix-client-element/defaults/main.yml @@ -189,15 +189,10 @@ matrix_client_element_room_directory_servers: ['matrix.org'] # Branding of Element matrix_client_element_brand: "Element" -# URL to Logo on welcome page +# URL to the logo shown on the welcome and login pages. +# This is the default for `matrix_client_element_branding_auth_header_logo_url` below. matrix_client_element_welcome_logo: "themes/element/img/logos/element-logo.svg" -# URL of link on welcome image -matrix_client_element_welcome_logo_link: "https://element.io" - -matrix_client_element_welcome_headline: "_t(\"welcome_to_element\")" -matrix_client_element_welcome_text: "_t(\"powered_by_matrix_with_logo\")" - # Links, shown in footer of welcome page: # [{"text": "Link text", "url": "https://link.target"}, {"text": "Other link"}] matrix_client_element_branding_auth_footer_links: ~ # noqa var-naming @@ -269,8 +264,6 @@ matrix_client_element_element_call_brand: "Element Call" # Controls the `element_call.use_exclusively` setting in the Element Web configuration. matrix_client_element_element_call_use_exclusively: true -matrix_client_element_page_template_welcome_path: "{{ role_path }}/templates/welcome.html.j2" - # By default, there's no Element Web homepage (when logged in). If you wish to have one, # point this to a `home.html` template file on your local filesystem. matrix_client_element_embedded_pages_home_path: ~ diff --git a/roles/custom/matrix-client-element/tasks/setup_install.yml b/roles/custom/matrix-client-element/tasks/setup_install.yml index d81bb3d8f..bd6728e21 100644 --- a/roles/custom/matrix-client-element/tasks/setup_install.yml +++ b/roles/custom/matrix-client-element/tasks/setup_install.yml @@ -97,7 +97,6 @@ with_items: - {src: "{{ role_path }}/templates/labels.j2", name: "labels"} - {src: "{{ role_path }}/templates/env.j2", name: "env"} - - {src: "{{ matrix_client_element_page_template_welcome_path }}", name: "welcome.html"} - {src: "{{ matrix_client_element_embedded_pages_home_path }}", name: "home.html"} when: "item.src is not none" register: matrix_client_element_support_files_result @@ -113,6 +112,8 @@ state: absent with_items: - {src: "{{ matrix_client_element_embedded_pages_home_path }}", name: "home.html"} + # The playbook no longer ships a custom welcome.html (Element Web renders its own built-in welcome page). + - {src: ~, name: "welcome.html"} when: "item.src is none" - name: Ensure Element Web container network is created diff --git a/roles/custom/matrix-client-element/tasks/validate_config.yml b/roles/custom/matrix-client-element/tasks/validate_config.yml index 8fe0d8fe7..0c6b091bf 100644 --- a/roles/custom/matrix-client-element/tasks/validate_config.yml +++ b/roles/custom/matrix-client-element/tasks/validate_config.yml @@ -30,6 +30,10 @@ - {'old': 'matrix_client_element_docker_image_registry_prefix_upstream_default', 'new': 'matrix_client_element_container_image_registry_prefix_upstream_default'} - {'old': 'matrix_client_element_docker_src_files_path', 'new': 'matrix_client_element_container_src_files_path'} - {'old': 'matrix_client_element_container_image_force_pull', 'new': ' (the new community.docker.docker_image_pull module handles this natively)'} + - {'old': 'matrix_client_element_welcome_headline', 'new': ' (Element Web now renders its own built-in welcome page and no longer loads the custom welcome.html this variable applied to; a logo and background can still be customized via matrix_client_element_branding_auth_header_logo_url and matrix_client_element_branding_welcome_background_url, and a fully custom page can be self-hosted and wired via embedded_pages.welcome_url in matrix_client_element_configuration_extension_json)'} + - {'old': 'matrix_client_element_welcome_text', 'new': ' (Element Web now renders its own built-in welcome page and no longer loads the custom welcome.html this variable applied to; see matrix_client_element_welcome_headline for alternatives)'} + - {'old': 'matrix_client_element_welcome_logo_link', 'new': ' (Element Web now renders its own built-in welcome page and no longer loads the custom welcome.html this variable applied to; see matrix_client_element_welcome_headline for alternatives)'} + - {'old': 'matrix_client_element_page_template_welcome_path', 'new': ' (Element Web now renders its own built-in welcome page; a fully custom page can be self-hosted and wired via embedded_pages.welcome_url in matrix_client_element_configuration_extension_json)'} - name: Fail if required Element Web settings not defined ansible.builtin.fail: diff --git a/roles/custom/matrix-client-element/templates/systemd/matrix-client-element.service.j2 b/roles/custom/matrix-client-element/templates/systemd/matrix-client-element.service.j2 index 063d3b624..74726330e 100644 --- a/roles/custom/matrix-client-element/templates/systemd/matrix-client-element.service.j2 +++ b/roles/custom/matrix-client-element/templates/systemd/matrix-client-element.service.j2 @@ -43,7 +43,6 @@ ExecStartPre={{ devture_systemd_docker_base_host_command_docker }} create \ {% if matrix_client_element_embedded_pages_home_path is not none %} --mount type=bind,src={{ matrix_client_element_data_path }}/home.html,dst=/app/home.html,ro \ {% endif %} - --mount type=bind,src={{ matrix_client_element_data_path }}/welcome.html,dst=/app/welcome.html,ro \ {% if matrix_client_element_container_healthcheck_cmd %} --health-cmd="{{ matrix_client_element_container_healthcheck_cmd }}" \ {% endif %} diff --git a/roles/custom/matrix-client-element/templates/welcome.html.j2 b/roles/custom/matrix-client-element/templates/welcome.html.j2 deleted file mode 100644 index ff97c82fe..000000000 --- a/roles/custom/matrix-client-element/templates/welcome.html.j2 +++ /dev/null @@ -1,214 +0,0 @@ -#jinja2: lstrip_blocks: True - - -
- - - -

{{ matrix_client_element_welcome_headline }}

-

{{ matrix_client_element_welcome_text }}

-
-
- -
_t("action|sign_in")
-
-{% if matrix_client_element_registration_enabled %} - -
_t("action|create_account")
-
-{% endif %} -
-{% if matrix_client_element_disable_guests != true %} - - - - -{% endif %} -
-
diff --git a/roles/custom/matrix-client-element/templates/welcome.html.j2.license b/roles/custom/matrix-client-element/templates/welcome.html.j2.license deleted file mode 100644 index 8338f12af..000000000 --- a/roles/custom/matrix-client-element/templates/welcome.html.j2.license +++ /dev/null @@ -1,9 +0,0 @@ -SPDX-FileCopyrightText: 2019 Daniel Hoffend -SPDX-FileCopyrightText: 2019 Hugues De Keyzer -SPDX-FileCopyrightText: 2020 - 2022 Slavi Pantaleev -SPDX-FileCopyrightText: 2020 Clement Renaud -SPDX-FileCopyrightText: 2020 Stefan Warnat -SPDX-FileCopyrightText: 2023 Pierre 'McFly' Marty -SPDX-FileCopyrightText: 2024 MDAD project contributors - -SPDX-License-Identifier: AGPL-3.0-or-later