"
- app_name: Matrix
- notif_template_html: notif_mail.html
- notif_template_text: notif_mail.txt
- notif_for_new_users: True
- client_base_url: "http://localhost/element"
-
-user_consent:
- template_dir: /data/res/templates/privacy
- version: 1.0
- server_notice_content:
- msgtype: m.text
- body: >-
- To continue using this homeserver you must review and agree to the
- terms and conditions at %(consent_uri)s
- send_server_notice_to_guests: True
- block_events_error: >-
- To continue using this homeserver you must review and agree to the
- terms and conditions at %(consent_uri)s
- require_at_registration: true
-
-server_notices:
- system_mxid_localpart: notices
- system_mxid_display_name: "Server Notices"
- system_mxid_avatar_url: "mxc://localhost:5005/oumMVlgDnLYFaPVkExemNVVZ"
- room_name: "Server Notices"
-trusted_key_servers:
- - server_name: "matrix.org"
-suppress_key_server_warning: true
diff --git a/cypress/plugins/synapsedocker/templates/consent/log.config b/cypress/plugins/synapsedocker/templates/consent/log.config
deleted file mode 100644
index b9123d0f5b..0000000000
--- a/cypress/plugins/synapsedocker/templates/consent/log.config
+++ /dev/null
@@ -1,50 +0,0 @@
-# Log configuration for Synapse.
-#
-# This is a YAML file containing a standard Python logging configuration
-# dictionary. See [1] for details on the valid settings.
-#
-# Synapse also supports structured logging for machine readable logs which can
-# be ingested by ELK stacks. See [2] for details.
-#
-# [1]: https://docs.python.org/3.7/library/logging.config.html#configuration-dictionary-schema
-# [2]: https://matrix-org.github.io/synapse/latest/structured_logging.html
-
-version: 1
-
-formatters:
- precise:
- format: '%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(request)s - %(message)s'
-
-handlers:
- # A handler that writes logs to stderr. Unused by default, but can be used
- # instead of "buffer" and "file" in the logger handlers.
- console:
- class: logging.StreamHandler
- formatter: precise
-
-loggers:
- synapse.storage.SQL:
- # beware: increasing this to DEBUG will make synapse log sensitive
- # information such as access tokens.
- level: DEBUG
-
- twisted:
- # We send the twisted logging directly to the file handler,
- # to work around https://github.com/matrix-org/synapse/issues/3471
- # when using "buffer" logger. Use "console" to log to stderr instead.
- handlers: [console]
- propagate: false
-
-root:
- level: DEBUG
-
- # Write logs to the `buffer` handler, which will buffer them together in memory,
- # then write them to a file.
- #
- # Replace "buffer" with "console" to log to stderr instead. (Note that you'll
- # also need to update the configuration for the `twisted` logger above, in
- # this case.)
- #
- handlers: [console]
-
-disable_existing_loggers: false
diff --git a/cypress/plugins/synapsedocker/templates/consent/res/templates/privacy/en/1.0.html b/cypress/plugins/synapsedocker/templates/consent/res/templates/privacy/en/1.0.html
deleted file mode 100644
index bcc7a590bb..0000000000
--- a/cypress/plugins/synapsedocker/templates/consent/res/templates/privacy/en/1.0.html
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
- Test Privacy policy
-
-
- {% if has_consented %}
- Thank you, you've already accepted the license.
- {% else %}
- Please accept the license!
-
- {% endif %}
-
-
diff --git a/cypress/plugins/synapsedocker/templates/consent/res/templates/privacy/en/success.html b/cypress/plugins/synapsedocker/templates/consent/res/templates/privacy/en/success.html
deleted file mode 100644
index 2a2b21eef4..0000000000
--- a/cypress/plugins/synapsedocker/templates/consent/res/templates/privacy/en/success.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
- Test Privacy policy
-
-
- Danke schoen
-
-
diff --git a/cypress/plugins/synapsedocker/templates/default/README.md b/cypress/plugins/synapsedocker/templates/default/README.md
deleted file mode 100644
index 8f6b11f999..0000000000
--- a/cypress/plugins/synapsedocker/templates/default/README.md
+++ /dev/null
@@ -1 +0,0 @@
-A synapse configured with user privacy consent disabled
diff --git a/cypress/plugins/synapsedocker/templates/default/homeserver.yaml b/cypress/plugins/synapsedocker/templates/default/homeserver.yaml
deleted file mode 100644
index e51ac1918f..0000000000
--- a/cypress/plugins/synapsedocker/templates/default/homeserver.yaml
+++ /dev/null
@@ -1,94 +0,0 @@
-server_name: "localhost"
-pid_file: /data/homeserver.pid
-public_baseurl: "{{PUBLIC_BASEURL}}"
-listeners:
- - port: 8008
- tls: false
- bind_addresses: ["::"]
- type: http
- x_forwarded: true
-
- resources:
- - names: [client]
- compress: false
-
-database:
- name: "sqlite3"
- args:
- database: ":memory:"
-
-log_config: "/data/log.config"
-
-rc_messages_per_second: 10000
-rc_message_burst_count: 10000
-rc_registration:
- per_second: 10000
- burst_count: 10000
-rc_joins:
- local:
- per_second: 9999
- burst_count: 9999
- remote:
- per_second: 9999
- burst_count: 9999
-rc_joins_per_room:
- per_second: 9999
- burst_count: 9999
-rc_3pid_validation:
- per_second: 1000
- burst_count: 1000
-
-rc_invites:
- per_room:
- per_second: 1000
- burst_count: 1000
- per_user:
- per_second: 1000
- burst_count: 1000
-
-rc_login:
- address:
- per_second: 10000
- burst_count: 10000
- account:
- per_second: 10000
- burst_count: 10000
- failed_attempts:
- per_second: 10000
- burst_count: 10000
-
-media_store_path: "/data/media_store"
-uploads_path: "/data/uploads"
-enable_registration: true
-enable_registration_without_verification: true
-disable_msisdn_registration: false
-registration_shared_secret: "{{REGISTRATION_SECRET}}"
-report_stats: false
-macaroon_secret_key: "{{MACAROON_SECRET_KEY}}"
-form_secret: "{{FORM_SECRET}}"
-signing_key_path: "/data/localhost.signing.key"
-
-trusted_key_servers:
- - server_name: "matrix.org"
-suppress_key_server_warning: true
-
-ui_auth:
- session_timeout: "300s"
-
-oidc_providers:
- - idp_id: test
- idp_name: "OAuth test"
- issuer: "http://localhost:{{OAUTH_SERVER_PORT}}/oauth"
- authorization_endpoint: "http://localhost:{{OAUTH_SERVER_PORT}}/oauth/auth.html"
- # the token endpoint receives requests from synapse, rather than the webapp, so needs to escape the docker container.
- # Hence, HOST_DOCKER_INTERNAL rather than localhost. This is set to
- # host.docker.internal on Docker and host.containers.internal on Podman.
- token_endpoint: "http://{{HOST_DOCKER_INTERNAL}}:{{OAUTH_SERVER_PORT}}/oauth/token"
- userinfo_endpoint: "http://{{HOST_DOCKER_INTERNAL}}:{{OAUTH_SERVER_PORT}}/oauth/userinfo"
- client_id: "synapse"
- discover: false
- scopes: ["profile"]
- skip_verification: true
- user_mapping_provider:
- config:
- display_name_template: "{{ user.name }}"
diff --git a/cypress/plugins/synapsedocker/templates/default/log.config b/cypress/plugins/synapsedocker/templates/default/log.config
deleted file mode 100644
index b9123d0f5b..0000000000
--- a/cypress/plugins/synapsedocker/templates/default/log.config
+++ /dev/null
@@ -1,50 +0,0 @@
-# Log configuration for Synapse.
-#
-# This is a YAML file containing a standard Python logging configuration
-# dictionary. See [1] for details on the valid settings.
-#
-# Synapse also supports structured logging for machine readable logs which can
-# be ingested by ELK stacks. See [2] for details.
-#
-# [1]: https://docs.python.org/3.7/library/logging.config.html#configuration-dictionary-schema
-# [2]: https://matrix-org.github.io/synapse/latest/structured_logging.html
-
-version: 1
-
-formatters:
- precise:
- format: '%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(request)s - %(message)s'
-
-handlers:
- # A handler that writes logs to stderr. Unused by default, but can be used
- # instead of "buffer" and "file" in the logger handlers.
- console:
- class: logging.StreamHandler
- formatter: precise
-
-loggers:
- synapse.storage.SQL:
- # beware: increasing this to DEBUG will make synapse log sensitive
- # information such as access tokens.
- level: DEBUG
-
- twisted:
- # We send the twisted logging directly to the file handler,
- # to work around https://github.com/matrix-org/synapse/issues/3471
- # when using "buffer" logger. Use "console" to log to stderr instead.
- handlers: [console]
- propagate: false
-
-root:
- level: DEBUG
-
- # Write logs to the `buffer` handler, which will buffer them together in memory,
- # then write them to a file.
- #
- # Replace "buffer" with "console" to log to stderr instead. (Note that you'll
- # also need to update the configuration for the `twisted` logger above, in
- # this case.)
- #
- handlers: [console]
-
-disable_existing_loggers: false
diff --git a/cypress/plugins/synapsedocker/templates/email/README.md b/cypress/plugins/synapsedocker/templates/email/README.md
deleted file mode 100644
index 40c23ba0be..0000000000
--- a/cypress/plugins/synapsedocker/templates/email/README.md
+++ /dev/null
@@ -1 +0,0 @@
-A synapse configured to require an email for registration
diff --git a/cypress/plugins/synapsedocker/templates/email/homeserver.yaml b/cypress/plugins/synapsedocker/templates/email/homeserver.yaml
deleted file mode 100644
index fc20641ab4..0000000000
--- a/cypress/plugins/synapsedocker/templates/email/homeserver.yaml
+++ /dev/null
@@ -1,44 +0,0 @@
-server_name: "localhost"
-pid_file: /data/homeserver.pid
-public_baseurl: "{{PUBLIC_BASEURL}}"
-listeners:
- - port: 8008
- tls: false
- bind_addresses: ["::"]
- type: http
- x_forwarded: true
-
- resources:
- - names: [client]
- compress: false
-
-database:
- name: "sqlite3"
- args:
- database: ":memory:"
-
-log_config: "/data/log.config"
-
-media_store_path: "/data/media_store"
-uploads_path: "/data/uploads"
-enable_registration: true
-registrations_require_3pid:
- - email
-registration_shared_secret: "{{REGISTRATION_SECRET}}"
-report_stats: false
-macaroon_secret_key: "{{MACAROON_SECRET_KEY}}"
-form_secret: "{{FORM_SECRET}}"
-signing_key_path: "/data/localhost.signing.key"
-
-trusted_key_servers:
- - server_name: "matrix.org"
-suppress_key_server_warning: true
-
-ui_auth:
- session_timeout: "300s"
-
-email:
- smtp_host: "%SMTP_HOST%"
- smtp_port: %SMTP_PORT%
- notif_from: "Your Friendly %(app)s homeserver "
- app_name: my_branded_matrix_server
diff --git a/cypress/plugins/synapsedocker/templates/email/log.config b/cypress/plugins/synapsedocker/templates/email/log.config
deleted file mode 100644
index ac232762da..0000000000
--- a/cypress/plugins/synapsedocker/templates/email/log.config
+++ /dev/null
@@ -1,50 +0,0 @@
-# Log configuration for Synapse.
-#
-# This is a YAML file containing a standard Python logging configuration
-# dictionary. See [1] for details on the valid settings.
-#
-# Synapse also supports structured logging for machine readable logs which can
-# be ingested by ELK stacks. See [2] for details.
-#
-# [1]: https://docs.python.org/3.7/library/logging.config.html#configuration-dictionary-schema
-# [2]: https://matrix-org.github.io/synapse/latest/structured_logging.html
-
-version: 1
-
-formatters:
- precise:
- format: '%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(request)s - %(message)s'
-
-handlers:
- # A handler that writes logs to stderr. Unused by default, but can be used
- # instead of "buffer" and "file" in the logger handlers.
- console:
- class: logging.StreamHandler
- formatter: precise
-
-loggers:
- synapse.storage.SQL:
- # beware: increasing this to DEBUG will make synapse log sensitive
- # information such as access tokens.
- level: INFO
-
- twisted:
- # We send the twisted logging directly to the file handler,
- # to work around https://github.com/matrix-org/synapse/issues/3471
- # when using "buffer" logger. Use "console" to log to stderr instead.
- handlers: [console]
- propagate: false
-
-root:
- level: INFO
-
- # Write logs to the `buffer` handler, which will buffer them together in memory,
- # then write them to a file.
- #
- # Replace "buffer" with "console" to log to stderr instead. (Note that you'll
- # also need to update the configuration for the `twisted` logger above, in
- # this case.)
- #
- handlers: [console]
-
-disable_existing_loggers: false
diff --git a/cypress/plugins/utils/homeserver.ts b/cypress/plugins/utils/homeserver.ts
deleted file mode 100644
index d6a4de0411..0000000000
--- a/cypress/plugins/utils/homeserver.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-Copyright 2023 The Matrix.org Foundation C.I.C.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-///
-
-export interface HomeserverConfig {
- configDir: string;
- registrationSecret: string;
- baseUrl: string;
- port: number;
-}
-
-export interface HomeserverInstance extends HomeserverConfig {
- serverId: string;
-}
diff --git a/cypress/plugins/utils/port.ts b/cypress/plugins/utils/port.ts
deleted file mode 100644
index 156ba866d5..0000000000
--- a/cypress/plugins/utils/port.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-Copyright 2022 The Matrix.org Foundation C.I.C.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-import * as net from "net";
-
-export async function getFreePort(): Promise {
- return new Promise((resolve) => {
- const srv = net.createServer();
- srv.listen(0, () => {
- const port = (srv.address()).port;
- srv.close(() => resolve(port));
- });
- });
-}
diff --git a/cypress/plugins/webserver.ts b/cypress/plugins/webserver.ts
deleted file mode 100644
index 55a25a313e..0000000000
--- a/cypress/plugins/webserver.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
-Copyright 2022 The Matrix.org Foundation C.I.C.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-///
-
-import * as http from "http";
-import { AddressInfo } from "net";
-
-import PluginEvents = Cypress.PluginEvents;
-import PluginConfigOptions = Cypress.PluginConfigOptions;
-
-const servers: http.Server[] = [];
-
-function serveHtmlFile(html: string): string {
- const server = http.createServer((req, res) => {
- res.writeHead(200, {
- "Content-Type": "text/html",
- });
- res.end(html);
- });
- server.listen();
- servers.push(server);
-
- return `http://localhost:${(server.address() as AddressInfo).port}/`;
-}
-
-function stopWebServers(): null {
- for (const server of servers) {
- server.close();
- }
- servers.splice(0, servers.length); // clear
-
- return null; // tell cypress we did the task successfully (doesn't allow undefined)
-}
-
-export function webserver(on: PluginEvents, config: PluginConfigOptions) {
- on("task", { serveHtmlFile, stopWebServers });
- on("after:run", stopWebServers);
-}
diff --git a/cypress/support/app.ts b/cypress/support/app.ts
deleted file mode 100644
index 3e9d75173a..0000000000
--- a/cypress/support/app.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-Copyright 2022 The Matrix.org Foundation C.I.C.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-///
-
-import Chainable = Cypress.Chainable;
-import AUTWindow = Cypress.AUTWindow;
-
-declare global {
- // eslint-disable-next-line @typescript-eslint/no-namespace
- namespace Cypress {
- interface Chainable {
- /**
- * Applies tweaks to the config read from config.json
- */
- tweakConfig(tweaks: Record): Chainable;
- }
- }
-}
-
-Cypress.Commands.add("tweakConfig", (tweaks: Record): Chainable => {
- return cy.window().then((win) => {
- // note: we can't *set* the object because the window version is effectively a pointer.
- for (const [k, v] of Object.entries(tweaks)) {
- // @ts-ignore - for some reason it's not picking up on global.d.ts types.
- win.mxReactSdkConfig[k] = v;
- }
- });
-});
-
-// Needed to make this file a module
-export {};
diff --git a/cypress/support/axe.ts b/cypress/support/axe.ts
deleted file mode 100644
index b830542902..0000000000
--- a/cypress/support/axe.ts
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
-Copyright 2022 The Matrix.org Foundation C.I.C.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-///
-
-import "cypress-axe";
-import * as axe from "axe-core";
-
-import type { Options } from "cypress-axe";
-import Chainable = Cypress.Chainable;
-
-function terminalLog(violations: axe.Result[]): void {
- cy.task(
- "log",
- `${violations.length} accessibility violation${violations.length === 1 ? "" : "s"} ${
- violations.length === 1 ? "was" : "were"
- } detected`,
- );
-
- // pluck specific keys to keep the table readable
- const violationData = violations.map(({ id, impact, description, nodes }) => ({
- id,
- impact,
- description,
- nodes: nodes.length,
- }));
-
- cy.task("table", violationData);
-}
-
-Cypress.Commands.overwrite(
- "checkA11y",
- (
- originalFn: Chainable["checkA11y"],
- context?: string | Node | axe.ContextObject | undefined,
- options: Options = {},
- violationCallback?: ((violations: axe.Result[]) => void) | undefined,
- skipFailures?: boolean,
- ): void => {
- return originalFn(
- context,
- {
- ...options,
- rules: {
- // Disable contrast checking for now as we have too many issues with it
- "color-contrast": {
- enabled: false,
- },
- ...options.rules,
- },
- },
- violationCallback ?? terminalLog,
- skipFailures,
- );
- },
-);
-
-// Load axe-core into the window under test.
-//
-// The injectAxe in cypress-axe attempts to load axe via an `eval`. That conflicts with our CSP
-// which disallows "unsafe-eval". So, replace it with an implementation that loads it via an
-// injected