Compare commits

...

23 Commits

Author SHA1 Message Date
Package Updates
b8917a4805 Update package version to 1.110.0 2025-05-06 14:33:51 +00:00
Renovate Bot
68d09734ca chore(deps): update dependency element-hq/synapse to v1.129.0
| datasource      | package            | from    | to      |
| --------------- | ------------------ | ------- | ------- |
| github-releases | element-hq/synapse | 1.128.0 | 1.129.0 |
2025-05-06 12:55:10 +00:00
Package Updates
6cfdea8b6d Update package version to 1.109.0 2025-04-09 08:35:30 +00:00
Renovate Bot
25f398eda9 chore(deps): update dependency element-hq/synapse to v1.128.0
| datasource      | package            | from    | to      |
| --------------- | ------------------ | ------- | ------- |
| github-releases | element-hq/synapse | 1.127.1 | 1.128.0 |
2025-04-08 14:32:22 +00:00
Girish Ramakrishnan
c6be4b9e11 Fix chown usage 2025-04-08 10:07:36 +02:00
Package Updates
f2efa0ace4 Update package version to 1.108.1 2025-03-27 09:14:49 +00:00
Renovate Bot
3efa89f92b chore(deps): update dependency element-hq/synapse to v1.127.1
| datasource      | package            | from    | to      |
| --------------- | ------------------ | ------- | ------- |
| github-releases | element-hq/synapse | 1.127.0 | 1.127.1 |
2025-03-27 07:19:44 +00:00
Package Updates
fe51b493d4 Update package version to 1.108.0 2025-03-25 14:55:56 +00:00
Renovate Bot
85186e353f chore(deps): update dependency element-hq/synapse to v1.127.0
| datasource      | package            | from    | to      |
| --------------- | ------------------ | ------- | ------- |
| github-releases | element-hq/synapse | 1.126.0 | 1.127.0 |
2025-03-25 13:47:13 +00:00
Package Updates
d294beaf99 Update package version to 1.107.0 2025-03-12 10:21:55 +00:00
Girish Ramakrishnan
40c4dfc7af Update base image to 5.0.0 2025-03-12 11:03:38 +01:00
Package Updates
2bc7648a68 Update package version to 1.106.0 2025-03-12 09:49:15 +00:00
Renovate Bot
1a2af0e566 chore(deps): update dependency element-hq/synapse to v1.126.0
| datasource      | package            | from    | to      |
| --------------- | ------------------ | ------- | ------- |
| github-releases | element-hq/synapse | 1.125.0 | 1.126.0 |
2025-03-12 07:19:39 +00:00
Package Updates
62a12ea30b Update package version to 1.105.0 2025-02-26 08:53:32 +00:00
Girish Ramakrishnan
6bcba878fd Fix test 2025-02-26 09:32:38 +01:00
Renovate Bot
231ee9b187 chore(deps): update dependency element-hq/synapse to v1.125.0
| datasource      | package            | from    | to      |
| --------------- | ------------------ | ------- | ------- |
| github-releases | element-hq/synapse | 1.124.0 | 1.125.0 |
2025-02-25 16:41:33 +00:00
Package Updates
d9420c319d Update package version to 1.104.0 2025-02-13 14:40:58 +00:00
Vladimir D
050f4d8a26 tests updated 2025-02-13 18:21:36 +04:00
Renovate Bot
e6d1f16b1d chore(deps): update dependency element-hq/synapse to v1.124.0
| datasource      | package            | from    | to      |
| --------------- | ------------------ | ------- | ------- |
| github-releases | element-hq/synapse | 1.123.0 | 1.124.0 |
2025-02-12 07:19:36 +00:00
Package Updates
3991b28ba5 Update package version to 1.103.0 2025-01-29 08:44:31 +00:00
Renovate Bot
467685dee3 chore(deps): update dependency element-hq/synapse to v1.123.0
| datasource      | package            | from    | to      |
| --------------- | ------------------ | ------- | ------- |
| github-releases | element-hq/synapse | 1.122.0 | 1.123.0 |
2025-01-29 07:19:27 +00:00
Package Updates
5a60a8b057 Update package version to 1.102.0 2025-01-15 09:15:08 +00:00
Renovate Bot
c8ed7b7882 chore(deps): update dependency element-hq/synapse to v1.122.0
| datasource      | package            | from    | to      |
| --------------- | ------------------ | ------- | ------- |
| github-releases | element-hq/synapse | 1.121.1 | 1.122.0 |
2025-01-15 07:19:59 +00:00
7 changed files with 140 additions and 239 deletions

View File

@@ -1337,3 +1337,63 @@
[1.101.1] [1.101.1]
* CLOUDRON_OIDC_PROVIDER_NAME implemented * CLOUDRON_OIDC_PROVIDER_NAME implemented
[1.102.0]
* Update synapse to 1.122.0
* [Full Changelog](https://github.com/element-hq/synapse/releases/tag/v1.122.0)
[1.103.0]
* Update synapse to 1.123.0
* [Full Changelog](https://github.com/element-hq/synapse/releases/tag/v1.123.0)
[1.104.0]
* Update synapse to 1.124.0
* [Full Changelog](https://github.com/element-hq/synapse/releases/tag/v1.124.0)
[1.105.0]
* Update synapse to 1.125.0
* [Full Changelog](https://github.com/element-hq/synapse/releases/tag/v1.125.0)
* Add functionality to be able to use multiple values in SSO feature attribute_requirements. (#17949)
* Add experimental config options admin_token_path and client_secret_path for MSC3861. (#18004)
* Add get_current_time_msec() method to the module API for sound time comparisons with Synapse. (#18144)
* Update the response when a client attempts to add an invalid email address to the user's account from a 500, to a 400 with error text. (#18125)
* Fix user directory search when using a legacy module with a check_username_for_spam callback. Broke in v1.122.0. (#18135)
[1.106.0]
* Update synapse to 1.126.0
* [Full Changelog](https://github.com/element-hq/synapse/releases/tag/v1.126.0)
* Define ratelimit configuration for delayed event management. (#18019)
* Add form_secret_path config option. (#18090)
* Add the --no-secrets-in-config command line option. (#18092)
* Add background job to clear unreferenced state groups. (#18154)
* Add support for specifying/overriding id_token_signing_alg_values_supported for an OpenID identity provider. (#18177)
* Add worker_replication_secret_path config option. (#18191)
* Add support for specifying/overriding redirect_uri in the authorization and token requests against an OpenID identity provider. (#18197)
[1.107.0]
* Update base image to 5.0.0
[1.108.0]
* Update synapse to 1.127.0
* [Full Changelog](https://github.com/element-hq/synapse/releases/tag/v1.127.0)
* Update MSC4140 implementation to no longer cancel a user's own delayed state events with an event type & state key that match a more recent state event sent by that user. (#17810)
* Fixed a minor typo in the Synapse documentation. Contributed by @karuto12. (#18224)
* Remove undocumented SYNAPSE_USE_FROZEN_DICTS environment variable. (#18123)
* Fix detection of workflow failures in the release script. (#18211)
* Add caching support to media endpoints. (#18235)
[1.108.1]
* Update synapse to 1.127.1
* [Full Changelog](https://github.com/element-hq/synapse/releases/tag/v1.127.1)
* Fix CVE-2025-30355 / GHSA-v56r-hwv5-mxg6. High severity vulnerability affecting federation. The vulnerability has been exploited in the wild.
[1.109.0]
* Update synapse to 1.128.0
* [Full Changelog](https://github.com/element-hq/synapse/releases/tag/v1.128.0)
* Add an access token introspection cache to make Matrix Authentication Service integration (MSC3861) more efficient. (#18231)
* Add background job to clear unreferenced state groups. (#18254)
* Hashes of media files are now tracked by Synapse. Media quarantines will now apply to all files with the same hash. (#18277, #18302, #18296)
[1.110.0]
* Update synapse to 1.129.0
* [Full Changelog](https://github.com/element-hq/synapse/releases/tag/v1.129.0)

View File

@@ -5,8 +5,8 @@
"description": "file://DESCRIPTION.md", "description": "file://DESCRIPTION.md",
"changelog": "file://CHANGELOG.md", "changelog": "file://CHANGELOG.md",
"tagline": "Secure & decentralized communication", "tagline": "Secure & decentralized communication",
"version": "1.101.1", "version": "1.110.0",
"upstreamVersion": "1.121.1", "upstreamVersion": "1.129.0",
"healthCheckPath": "/", "healthCheckPath": "/",
"httpPort": 8008, "httpPort": 8008,
"memoryLimit": 536870912, "memoryLimit": 536870912,

View File

@@ -1,32 +1,29 @@
FROM cloudron/base:4.2.0@sha256:46da2fffb36353ef714f97ae8e962bd2c212ca091108d768ba473078319a47f4 FROM cloudron/base:5.0.0@sha256:04fd70dbd8ad6149c19de39e35718e024417c3e01dc9c6637eaf4a41ec4e596c
RUN mkdir -p /app/pkg RUN mkdir -p /app/pkg
WORKDIR /app/code WORKDIR /app/code
# https://pythonspeed.com/articles/activate-virtualenv-dockerfile/ # https://github.com/element-hq/synapse/blob/master/docs/setup/installation.md?plain=1#L202
RUN virtualenv -p python3 /app/code/env RUN python3 -m venv /app/code/env
ENV VIRTUAL_ENV=/app/code/env
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
# renovate: datasource=github-releases depName=element-hq/synapse versioning=semver extractVersion=^v(?<version>.+)$ # renovate: datasource=github-releases depName=element-hq/synapse versioning=semver extractVersion=^v(?<version>.+)$
ARG SYNAPSE_VERSION=1.121.1 ARG SYNAPSE_VERSION=1.129.0
# renovate: datasource=github-releases depName=matrix-org/synapse-s3-storage-provider versioning=semver extractVersion=^v(?<version>.+)$ # renovate: datasource=github-releases depName=matrix-org/synapse-s3-storage-provider versioning=semver extractVersion=^v(?<version>.+)$
ARG S3PROVIDER_VERSION=1.5.0 ARG S3PROVIDER_VERSION=1.5.0
# Synapse (https://github.com/matrix-org/synapse/blob/master/INSTALL.md) # Synapse (https://github.com/matrix-org/synapse/blob/master/INSTALL.md)
# lxml - required for previews # lxml - required for previews
RUN pip install --upgrade pip && \ RUN source /app/code/env/bin/activate && \
pip install --upgrade setuptools && \ pip3 install --no-cache-dir matrix-synapse==v${SYNAPSE_VERSION} psycopg2-binary python-ldap matrix-synapse-ldap3 lxml publicsuffix2 git+https://github.com/matrix-org/synapse-s3-storage-provider.git@v${S3PROVIDER_VERSION} matrix-synapse[oidc]
pip install matrix-synapse==v${SYNAPSE_VERSION} psycopg2-binary python-ldap matrix-synapse-ldap3 lxml publicsuffix2 git+https://github.com/matrix-org/synapse-s3-storage-provider.git@v${S3PROVIDER_VERSION} matrix-synapse[oidc]
# Updated suffix list # Updated suffix list
RUN curl -L https://publicsuffix.org/list/public_suffix_list.dat -o /app/code/env/lib/python3.10/site-packages/publicsuffix2/public_suffix_list.dat RUN curl -L https://publicsuffix.org/list/public_suffix_list.dat -o /app/code/env/lib/python3.12/site-packages/publicsuffix2/public_suffix_list.dat
RUN ln -sf /app/data/index.html /app/code/env/lib/python3.10/site-packages/synapse/static/index.html RUN ln -sf /app/data/index.html /app/code/env/lib/python3.12/site-packages/synapse/static/index.html
RUN chown -R cloudron.cloudron /app/code RUN chown -R cloudron:cloudron /app/code
ADD index.html homeserver.yaml.template start.sh /app/pkg/ ADD index.html homeserver.yaml.template start.sh /app/pkg/

View File

@@ -4,6 +4,8 @@ set -eu
mkdir -p /app/data/data /app/data/configs /run/synapse mkdir -p /app/data/data /app/data/configs /run/synapse
source /app/code/env/bin/activate
if [[ ! -f /app/data/configs/homeserver.yaml ]]; then if [[ ! -f /app/data/configs/homeserver.yaml ]]; then
echo "==> Detected first run" echo "==> Detected first run"
@@ -100,7 +102,7 @@ fi
# fix permissions # fix permissions
echo "==> Fixing permissions" echo "==> Fixing permissions"
chown -R cloudron.cloudron /app/data /run/synapse chown -R cloudron:cloudron /app/data /run/synapse
echo "==> Starting synapse" echo "==> Starting synapse"
gosu cloudron:cloudron python3 -m synapse.app.homeserver --config-path /app/data/configs/homeserver.yaml -n exec gosu cloudron:cloudron python3 -m synapse.app.homeserver --config-path /app/data/configs/homeserver.yaml -n

264
test/package-lock.json generated
View File

@@ -9,10 +9,10 @@
"version": "1.0.0", "version": "1.0.0",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"chromedriver": "^131.0.4", "chromedriver": "^136.0.0",
"expect.js": "^0.3.1", "expect.js": "^0.3.1",
"mocha": "^11.0.1", "mocha": "^11.2.2",
"selenium-webdriver": "^4.27.0" "selenium-webdriver": "^4.32.0"
} }
}, },
"node_modules/@bazel/runfiles": { "node_modules/@bazel/runfiles": {
@@ -89,15 +89,6 @@
"node": ">= 14" "node": ">= 14"
} }
}, },
"node_modules/ansi-colors": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
"integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
"license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/ansi-regex": { "node_modules/ansi-regex": {
"version": "6.1.0", "version": "6.1.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
@@ -125,19 +116,6 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1" "url": "https://github.com/chalk/ansi-styles?sponsor=1"
} }
}, },
"node_modules/anymatch": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"license": "ISC",
"dependencies": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
},
"engines": {
"node": ">= 8"
}
},
"node_modules/argparse": { "node_modules/argparse": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
@@ -188,18 +166,6 @@
"node": ">=10.0.0" "node": ">=10.0.0"
} }
}, },
"node_modules/binary-extensions": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
"integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
"license": "MIT",
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/brace-expansion": { "node_modules/brace-expansion": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
@@ -209,18 +175,6 @@
"balanced-match": "^1.0.0" "balanced-match": "^1.0.0"
} }
}, },
"node_modules/braces": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"license": "MIT",
"dependencies": {
"fill-range": "^7.1.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/browser-stdout": { "node_modules/browser-stdout": {
"version": "1.3.1", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
@@ -277,33 +231,24 @@
} }
}, },
"node_modules/chokidar": { "node_modules/chokidar": {
"version": "3.6.0", "version": "4.0.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
"integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"anymatch": "~3.1.2", "readdirp": "^4.0.1"
"braces": "~3.0.2",
"glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
"readdirp": "~3.6.0"
}, },
"engines": { "engines": {
"node": ">= 8.10.0" "node": ">= 14.16.0"
}, },
"funding": { "funding": {
"url": "https://paulmillr.com/funding/" "url": "https://paulmillr.com/funding/"
},
"optionalDependencies": {
"fsevents": "~2.3.2"
} }
}, },
"node_modules/chromedriver": { "node_modules/chromedriver": {
"version": "131.0.4", "version": "136.0.0",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-131.0.4.tgz", "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-136.0.0.tgz",
"integrity": "sha512-JgIkept8YrnqT05ldLaOzxxEJDUV1t3PFIIMO/gQz9AbnpZx7Pl1zq6tQTTz2HoY5T2JKZ5kyiEWwc48g4fJ5w==", "integrity": "sha512-21LxtGIqRLkafi0aOLKxIyQ3uRklgdmhuihzAkoL3Er5QtC74UDuu2OeTDdh58LM7WDbiuTXjdoIQARUekL8DA==",
"hasInstallScript": true, "hasInstallScript": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
@@ -323,14 +268,17 @@
} }
}, },
"node_modules/cliui": { "node_modules/cliui": {
"version": "7.0.4", "version": "8.0.1",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
"integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"string-width": "^4.2.0", "string-width": "^4.2.0",
"strip-ansi": "^6.0.0", "strip-ansi": "^6.0.1",
"wrap-ansi": "^7.0.0" "wrap-ansi": "^7.0.0"
},
"engines": {
"node": ">=12"
} }
}, },
"node_modules/cliui/node_modules/ansi-regex": { "node_modules/cliui/node_modules/ansi-regex": {
@@ -651,18 +599,6 @@
"pend": "~1.2.0" "pend": "~1.2.0"
} }
}, },
"node_modules/fill-range": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"license": "MIT",
"dependencies": {
"to-regex-range": "^5.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/find-up": { "node_modules/find-up": {
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -738,20 +674,6 @@
"node": ">= 6" "node": ">= 6"
} }
}, },
"node_modules/fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"hasInstallScript": true,
"license": "MIT",
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
"node_modules/get-caller-file": { "node_modules/get-caller-file": {
"version": "2.0.5", "version": "2.0.5",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
@@ -810,18 +732,6 @@
"url": "https://github.com/sponsors/isaacs" "url": "https://github.com/sponsors/isaacs"
} }
}, },
"node_modules/glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"license": "ISC",
"dependencies": {
"is-glob": "^4.0.1"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/glob/node_modules/minimatch": { "node_modules/glob/node_modules/minimatch": {
"version": "9.0.5", "version": "9.0.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
@@ -915,27 +825,6 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"license": "MIT",
"dependencies": {
"binary-extensions": "^2.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-fullwidth-code-point": { "node_modules/is-fullwidth-code-point": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
@@ -945,27 +834,6 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"license": "MIT",
"dependencies": {
"is-extglob": "^2.1.1"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"license": "MIT",
"engines": {
"node": ">=0.12.0"
}
},
"node_modules/is-plain-obj": { "node_modules/is-plain-obj": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
@@ -1153,14 +1021,13 @@
} }
}, },
"node_modules/mocha": { "node_modules/mocha": {
"version": "11.0.1", "version": "11.2.2",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-11.0.1.tgz", "resolved": "https://registry.npmjs.org/mocha/-/mocha-11.2.2.tgz",
"integrity": "sha512-+3GkODfsDG71KSCQhc4IekSW+ItCK/kiez1Z28ksWvYhKXV/syxMlerR/sC7whDp7IyreZ4YxceMLdTs5hQE8A==", "integrity": "sha512-VlSBxrPYHK4YNOEbFdkCxHQbZMoNzBkoPprqtZRW6311EUF/DlSxoycE2e/2NtRk4WKkIXzyrXDTrlikJMWgbw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"ansi-colors": "^4.1.3",
"browser-stdout": "^1.3.1", "browser-stdout": "^1.3.1",
"chokidar": "^3.5.3", "chokidar": "^4.0.1",
"debug": "^4.3.5", "debug": "^4.3.5",
"diff": "^5.2.0", "diff": "^5.2.0",
"escape-string-regexp": "^4.0.0", "escape-string-regexp": "^4.0.0",
@@ -1171,12 +1038,13 @@
"log-symbols": "^4.1.0", "log-symbols": "^4.1.0",
"minimatch": "^5.1.6", "minimatch": "^5.1.6",
"ms": "^2.1.3", "ms": "^2.1.3",
"picocolors": "^1.1.1",
"serialize-javascript": "^6.0.2", "serialize-javascript": "^6.0.2",
"strip-json-comments": "^3.1.1", "strip-json-comments": "^3.1.1",
"supports-color": "^8.1.1", "supports-color": "^8.1.1",
"workerpool": "^6.5.1", "workerpool": "^6.5.1",
"yargs": "^16.2.0", "yargs": "^17.7.2",
"yargs-parser": "^20.2.9", "yargs-parser": "^21.1.1",
"yargs-unparser": "^2.0.0" "yargs-unparser": "^2.0.0"
}, },
"bin": { "bin": {
@@ -1202,15 +1070,6 @@
"node": ">= 0.4.0" "node": ">= 0.4.0"
} }
}, },
"node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/once": { "node_modules/once": {
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -1334,17 +1193,11 @@
"integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/picomatch": { "node_modules/picocolors": {
"version": "2.3.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
"license": "MIT", "license": "ISC"
"engines": {
"node": ">=8.6"
},
"funding": {
"url": "https://github.com/sponsors/jonschlinkert"
}
}, },
"node_modules/process-nextick-args": { "node_modules/process-nextick-args": {
"version": "2.0.1", "version": "2.0.1",
@@ -1421,15 +1274,16 @@
} }
}, },
"node_modules/readdirp": { "node_modules/readdirp": {
"version": "3.6.0", "version": "4.1.2",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
"license": "MIT", "license": "MIT",
"dependencies": {
"picomatch": "^2.2.1"
},
"engines": { "engines": {
"node": ">=8.10.0" "node": ">= 14.18.0"
},
"funding": {
"type": "individual",
"url": "https://paulmillr.com/funding/"
} }
}, },
"node_modules/require-directory": { "node_modules/require-directory": {
@@ -1448,9 +1302,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/selenium-webdriver": { "node_modules/selenium-webdriver": {
"version": "4.27.0", "version": "4.32.0",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.27.0.tgz", "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.32.0.tgz",
"integrity": "sha512-LkTJrNz5socxpPnWPODQ2bQ65eYx9JK+DQMYNihpTjMCqHwgWGYQnQTCAAche2W3ZP87alA+1zYPvgS8tHNzMQ==", "integrity": "sha512-dG48JJnB96Aea1iVaZOKGmd6yT6aemeI1heWI/i8DtfD3pDX7uIlwpDBoGauNhtXAaFaamP+U4hIab8zZkg3Ag==",
"funding": [ "funding": [
{ {
"type": "github", "type": "github",
@@ -1469,7 +1323,7 @@
"ws": "^8.18.0" "ws": "^8.18.0"
}, },
"engines": { "engines": {
"node": ">= 14.21.0" "node": ">= 18.20.5"
} }
}, },
"node_modules/serialize-javascript": { "node_modules/serialize-javascript": {
@@ -1748,18 +1602,6 @@
"node": ">=14.14" "node": ">=14.14"
} }
}, },
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"license": "MIT",
"dependencies": {
"is-number": "^7.0.0"
},
"engines": {
"node": ">=8.0"
}
},
"node_modules/tslib": { "node_modules/tslib": {
"version": "2.8.1", "version": "2.8.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
@@ -1925,30 +1767,30 @@
} }
}, },
"node_modules/yargs": { "node_modules/yargs": {
"version": "16.2.0", "version": "17.7.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
"integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"cliui": "^7.0.2", "cliui": "^8.0.1",
"escalade": "^3.1.1", "escalade": "^3.1.1",
"get-caller-file": "^2.0.5", "get-caller-file": "^2.0.5",
"require-directory": "^2.1.1", "require-directory": "^2.1.1",
"string-width": "^4.2.0", "string-width": "^4.2.3",
"y18n": "^5.0.5", "y18n": "^5.0.5",
"yargs-parser": "^20.2.2" "yargs-parser": "^21.1.1"
}, },
"engines": { "engines": {
"node": ">=10" "node": ">=12"
} }
}, },
"node_modules/yargs-parser": { "node_modules/yargs-parser": {
"version": "20.2.9", "version": "21.1.1",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
"integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
"license": "ISC", "license": "ISC",
"engines": { "engines": {
"node": ">=10" "node": ">=12"
} }
}, },
"node_modules/yargs-unparser": { "node_modules/yargs-unparser": {

View File

@@ -9,9 +9,9 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"chromedriver": "^131.0.4", "chromedriver": "^136.0.0",
"expect.js": "^0.3.1", "expect.js": "^0.3.1",
"mocha": "^11.0.1", "mocha": "^11.2.2",
"selenium-webdriver": "^4.27.0" "selenium-webdriver": "^4.32.0"
} }
} }

View File

@@ -111,8 +111,10 @@ describe('Application life cycle test', function () {
await browser.findElement(By.xpath('//input[@label="Confirm password"]')).sendKeys(PASSWORD); await browser.findElement(By.xpath('//input[@label="Confirm password"]')).sendKeys(PASSWORD);
await browser.findElement(By.xpath('//input[@value="Register"]')).click(); await browser.findElement(By.xpath('//input[@value="Register"]')).click();
await waitForElement(By.xpath('//h1[text()="You\'re in"]')); await waitForElement(By.xpath('//h1[text()="You\'re in"] | //h1[contains(., "Welcome")]'));
await browser.findElement(By.xpath('//div[@role="button" and text()="Skip"]')).click(); if (await browser.findElements(By.xpath('//div[@role="button" and text()="Skip"]')).then(found => !!found.length)) {
await browser.findElement(By.xpath('//div[@role="button" and text()="Skip"]')).click();
}
await waitForElement(By.xpath(`//h1[contains(., "Welcome")]`)); await waitForElement(By.xpath(`//h1[contains(., "Welcome")]`));
} }
@@ -144,22 +146,20 @@ describe('Application life cycle test', function () {
await waitForElement(By.xpath('//div[text()="Proceed with reset" or text()="Reset all"]')); await waitForElement(By.xpath('//div[text()="Proceed with reset" or text()="Reset all"]'));
if (await browser.findElements(By.xpath('//div[text()="Reset all"]')).then(found => !!found.length)) { if (await browser.findElements(By.xpath('//div[text()="Reset all"]')).then(found => !!found.length)) {
await browser.findElement(By.xpath('//div[text()="Reset all"]')).click(); await browser.findElement(By.xpath('//div[text()="Reset all"]')).click();
} }
await waitForElement(By.xpath('//div[text()="Proceed with reset"]')); await waitForElement(By.xpath('//div[text()="Proceed with reset"]'));
await browser.findElement(By.xpath('//div[text()="Proceed with reset"]')).click(); await browser.findElement(By.xpath('//div[text()="Proceed with reset"]')).click();
await waitForElement(By.xpath('//button[text()="Continue"]')); await waitForElement(By.xpath('//button[@class="mx_Dialog_primary" and text()="Continue"]'));
await browser.findElement(By.xpath('//button[text()="Continue"]')).click(); await browser.findElement(By.xpath('//button[@class="mx_Dialog_primary" and text()="Continue"]')).click();
await waitForElement(By.xpath('//div[text()="Copy"]')); await waitForElement(By.xpath('//div[text()="Copy"]'));
await browser.findElement(By.xpath('//div[text()="Copy"]')).click(); await browser.findElement(By.xpath('//div[text()="Copy"]')).click();
await waitForElement(By.xpath('//button[text()="Continue"]')); await waitForElement(By.xpath('//button[@class="mx_Dialog_primary" and text()="Continue"]'));
await browser.findElement(By.xpath('//button[text()="Continue"]')).click(); await browser.findElement(By.xpath('//button[@class="mx_Dialog_primary" and text()="Continue"]')).click();
await waitForElement(By.xpath('//button[text()="Done"] | //div[text()="Single Sign On"]')); await waitForElement(By.xpath('//button[text()="Done"] | //div[text()="Single Sign On"]'));
if (await browser.findElements(By.xpath('//div[text()="Single Sign On"]')).then(found => !!found.length)) { if (await browser.findElements(By.xpath('//div[text()="Single Sign On"]')).then(found => !!found.length)) {
@@ -327,7 +327,7 @@ describe('Application life cycle test', function () {
it('can send message', sendMessage); it('can send message', sendMessage);
it('can get app info', getAppInfo); it('can get app info', getAppInfo);
it('can restart app', function () { execSync(`cloudron restart ${app.id}`); }); it('can restart app', function () { execSync(`cloudron restart --app ${app.id}`); });
it('backup app', function () { execSync(`cloudron backup create --app ${app.id}`, EXEC_ARGS); }); it('backup app', function () { execSync(`cloudron backup create --app ${app.id}`, EXEC_ARGS); });