Compare commits

...

220 Commits

Author SHA1 Message Date
Johannes Zellner
2859cc73d0 Update test deps 2022-11-08 14:50:49 +01:00
Johannes Zellner
aae5a5eecd Bump version 2022-11-08 14:50:39 +01:00
Johannes Zellner
9ed6f56792 Fix version in changelog 2022-10-29 07:08:31 +02:00
Johannes Zellner
404f794d10 Bump version 2022-10-29 06:59:44 +02:00
Johannes Zellner
8d5978a8e0 Bump version 2022-10-26 13:59:00 +02:00
Johannes Zellner
c380911b76 Bump version 2022-10-17 17:53:15 +02:00
Johannes Zellner
ac332c311a Bump version 2022-09-27 15:25:07 +02:00
Johannes Zellner
6f78e44bf2 Bump version 2022-09-13 15:35:28 +02:00
Johannes Zellner
2c407c2f3c Remove double changelog line 2022-08-31 21:02:35 +02:00
Johannes Zellner
1069750c78 Bump version 2022-08-31 20:33:52 +02:00
Girish Ramakrishnan
99b08d6c0a Version 1.49.1 2022-08-22 19:04:39 +02:00
Girish Ramakrishnan
b2e7800788 install oidc 2022-08-22 18:52:12 +02:00
Girish Ramakrishnan
e915c9837c Version 1.49.0 2022-08-17 06:54:06 +02:00
Girish Ramakrishnan
8b9c4141a2 Update Synapse to 1.65.0 2022-08-17 06:08:02 +02:00
Johannes Zellner
760a37bdb2 Bump version 2022-08-02 14:40:19 +02:00
Johannes Zellner
d4f05c3748 Bump version 2022-07-20 21:36:38 +02:00
Johannes Zellner
401535ce2d Update test deps 2022-07-19 16:47:28 +02:00
Johannes Zellner
fbf2ac8ef4 Bump version 2022-07-19 16:47:19 +02:00
Johannes Zellner
4d0bfd8bf1 Bump version 2022-07-05 14:39:00 +02:00
Johannes Zellner
0d8f2eab6f Bump version for 1.61.1 2022-06-28 16:21:48 +02:00
Girish Ramakrishnan
0bc489a337 Version 1.45.1 2022-06-27 17:37:20 -07:00
Girish Ramakrishnan
ce0f8eb9be Update test packages 2022-06-27 17:29:32 -07:00
Girish Ramakrishnan
f47064f648 Add s3 storage provider
https://forum.cloudron.io/topic/7285/request-include-s3-storage-module
2022-06-27 16:54:53 -07:00
Girish Ramakrishnan
75d97f2bb3 Version 1.45.0 2022-06-14 17:49:45 -07:00
Girish Ramakrishnan
43f64a052d Display name support 2022-06-14 17:39:10 -07:00
Girish Ramakrishnan
27e6c5a442 Update Synapse to 1.61.0 2022-06-14 17:39:01 -07:00
Girish Ramakrishnan
8983e8fcee Version 1.44.0 2022-05-31 13:58:13 -07:00
Girish Ramakrishnan
4ec76880a0 Update Synapse to 1.60.0 2022-05-31 13:45:57 -07:00
Girish Ramakrishnan
01ed3cc5ab Version 1.43.1 2022-05-18 09:51:21 -07:00
Girish Ramakrishnan
6e4c16ba2e Update synapse to 1.59.1 2022-05-18 09:32:02 -07:00
Johannes Zellner
b2f3950795 Bump version for 1.59.0 2022-05-17 12:29:22 +02:00
Girish Ramakrishnan
2844b64621 Update synapse to 1.58.1 2022-05-05 08:58:19 -07:00
Johannes Zellner
20582a7fe6 Update test deps 2022-05-03 13:35:41 +02:00
Johannes Zellner
de875e14f6 Bump version for 1.58.0 2022-05-03 13:35:13 +02:00
Girish Ramakrishnan
6ca10fe63d Version 1.41.1 2022-04-20 15:51:50 -07:00
Girish Ramakrishnan
08e65a0769 Update synapse to 1.57.1 2022-04-20 09:04:41 -07:00
Girish Ramakrishnan
bc031e515e Update postinstall 2022-04-19 10:04:27 -05:00
Girish Ramakrishnan
ce74f2b418 Set enable_registration_without_verification to true 2022-04-19 10:03:47 -05:00
Johannes Zellner
292ffd482b Bump version for 1.57.0 2022-04-19 15:27:12 +02:00
Girish Ramakrishnan
8267b04c4f Update test packages 2022-04-05 10:36:18 -07:00
Girish Ramakrishnan
4ab831470b Update Synapse to 1.56.0 2022-04-05 09:10:51 -07:00
Girish Ramakrishnan
203fcc8baf Version 1.40.1-1 2022-03-24 17:34:29 -07:00
Girish Ramakrishnan
dbb03144dd Update Synapse to 1.55.2 2022-03-24 17:08:12 -07:00
Girish Ramakrishnan
3e384b6ea4 Version 1.40.1 2022-03-24 12:16:47 -07:00
Girish Ramakrishnan
2b70590b4f Update Synapse to 1.55.1 2022-03-24 12:05:12 -07:00
Girish Ramakrishnan
f32618bc44 Version 1.40.0 2022-03-22 15:55:57 -07:00
Girish Ramakrishnan
63389b8969 Update test packages 2022-03-22 15:35:17 -07:00
Girish Ramakrishnan
2faf4a83c1 Update Synapse to 1.55.0 2022-03-22 15:30:11 -07:00
Johannes Zellner
0de4fcd2c1 Update test deps 2022-03-08 18:12:43 +01:00
Johannes Zellner
4501f517cd Bump version for 1.54.0 2022-03-08 18:12:23 +01:00
Johannes Zellner
50b81437a3 Update test deps 2022-02-22 14:19:02 +01:00
Johannes Zellner
cb2effd01e Bump version for 1.53.0 2022-02-22 14:18:44 +01:00
Johannes Zellner
8a0741d6a2 Update test deps 2022-02-08 17:05:35 +01:00
Johannes Zellner
8605a2801f Bump version for 1.52.0 2022-02-08 17:05:18 +01:00
Johannes Zellner
39b8fe59e8 Update test deps 2022-01-25 13:45:11 +01:00
Johannes Zellner
ab0335ff1a Bump version for 1.51.0 2022-01-25 13:43:50 +01:00
Johannes Zellner
e6d27ee341 Update test deps 2022-01-24 16:31:23 +01:00
Johannes Zellner
306ee5dadb Bump version for 1.50.2 2022-01-24 16:31:09 +01:00
Johannes Zellner
e6b9d6cafb Jump to 1.50.1 2022-01-18 22:04:38 +01:00
Johannes Zellner
8e02930fbd Update test deps 2022-01-18 13:24:46 +01:00
Johannes Zellner
8c3209768d Bump version for 1.50.0 2022-01-18 13:24:30 +01:00
Girish Ramakrishnan
cdab116284 Version 1.38.1 2021-12-21 11:16:25 -08:00
Girish Ramakrishnan
092b466ff4 Update test packages 2021-12-21 11:08:59 -08:00
Girish Ramakrishnan
6177240cf6 Update synapse to 1.49.2 2021-12-21 11:03:24 -08:00
Girish Ramakrishnan
cf22aa6ae7 Update Synapse to 1.49.1 2021-12-21 09:23:09 -08:00
Johannes Zellner
aa02b23016 Bump version for 1.49.0 2021-12-14 16:38:09 +01:00
Johannes Zellner
2cd92623e2 Bump version for 1.48.0 2021-11-30 16:17:32 +01:00
Johannes Zellner
ee7878d3d2 Update test deps 2021-11-23 14:33:16 +01:00
Johannes Zellner
33dca51dcd Bump version for 1.47.1 2021-11-23 14:33:02 +01:00
Johannes Zellner
122b16805f Update test deps 2021-11-17 16:29:12 +01:00
Johannes Zellner
3a69b0c615 Bump version for 1.47.0 2021-11-17 16:28:56 +01:00
Johannes Zellner
f27425775e Update test deps 2021-11-02 16:07:28 +01:00
Johannes Zellner
47855846f5 Bump version for 1.46.0 2021-11-02 16:07:07 +01:00
Johannes Zellner
96bfd2839c Bump version for 1.45.1 2021-10-21 11:19:50 +02:00
Johannes Zellner
e6f8f7b246 Update test deps 2021-10-19 14:47:32 +02:00
Johannes Zellner
426035f1d5 Bump version for 1.45.0 2021-10-19 14:46:47 +02:00
Girish Ramakrishnan
c2d2f9bd03 Version 1.33.0 2021-10-05 09:35:20 -07:00
Girish Ramakrishnan
4e5fb767f6 Update test packages 2021-10-05 09:29:26 -07:00
Girish Ramakrishnan
feb0208b8d Update synapse to 1.44.0 2021-10-05 09:25:59 -07:00
Johannes Zellner
ec4900372c Bump version for 1.43.0 2021-09-21 16:50:19 +02:00
Johannes Zellner
340a757d88 Update test deps 2021-09-08 11:33:58 +02:00
Johannes Zellner
93ec693780 Bump version for 1.42.0 2021-09-08 11:30:54 +02:00
Girish Ramakrishnan
668112e865 Version 1.30.2 2021-08-31 12:32:30 -07:00
Girish Ramakrishnan
233a26a8db Update synapse to 1.41.1 2021-08-31 11:26:11 -07:00
Girish Ramakrishnan
5703b98d6f Version 1.30.1 2021-08-30 23:05:59 -07:00
Girish Ramakrishnan
ee10da9df5 Fix postinstall message 2021-08-30 22:42:00 -07:00
Johannes Zellner
7123688a92 Ensure we log to stdout/stderr 2021-08-30 15:50:49 +02:00
Girish Ramakrishnan
38cd11c0b7 Version 1.30.0 2021-08-24 09:53:13 -07:00
Girish Ramakrishnan
d06f83a567 Update synapse to 1.41.0 2021-08-24 09:45:09 -07:00
Girish Ramakrishnan
fb83f5a54e Version 1.29.0 2021-08-10 11:23:44 -07:00
Girish Ramakrishnan
ad4d18e706 Update synapse to 1.40.0 2021-08-10 11:10:43 -07:00
Girish Ramakrishnan
80425602a3 Update test packages 2021-08-02 23:08:28 -07:00
Girish Ramakrishnan
de44651747 delete password_providers on update 2021-08-02 23:08:16 -07:00
Johannes Zellner
79c17c17f1 Update test deps 2021-07-29 21:43:40 +02:00
Johannes Zellner
605a809a32 Bump version for 1.39.0 2021-07-29 21:43:02 +02:00
Girish Ramakrishnan
b5963b4276 Version 1.27.1 2021-07-24 00:08:49 -07:00
Girish Ramakrishnan
a6c93ac360 Update synapse to 1.38.1 2021-07-24 00:03:54 -07:00
Girish Ramakrishnan
b5662ec4dc Version 1.27.0 2021-07-24 00:02:44 -07:00
Girish Ramakrishnan
6775418daf delete password_providers section without sso 2021-07-23 23:56:08 -07:00
Johannes Zellner
66231bcae5 Update test deps 2021-07-13 16:43:14 +02:00
Johannes Zellner
acd9e9cbf6 Bump version for 1.38.0 2021-07-13 16:42:50 +02:00
Johannes Zellner
f7a3528db0 Bump version for 1.37.1 2021-07-01 12:12:58 +02:00
Johannes Zellner
affa9850a3 Rework test to follow new patterns 2021-06-29 14:56:14 +02:00
Johannes Zellner
ad9429c622 Update test deps 2021-06-29 14:13:55 +02:00
Johannes Zellner
208b5b689d Bump version for 1.37.0 2021-06-29 14:13:26 +02:00
Girish Ramakrishnan
54428229bb Version 1.26.0 2021-06-15 09:42:40 -07:00
Girish Ramakrishnan
805349b360 Update Synapse to 1.36.0 2021-06-15 09:41:54 -07:00
Johannes Zellner
47dcff5e35 Update test deps 2021-06-04 10:21:08 +02:00
Johannes Zellner
260198817d Bump version for 1.35.1 2021-06-04 10:11:04 +02:00
Girish Ramakrishnan
f9f5353f42 Version 1.25.0 2021-06-02 18:31:44 -07:00
Girish Ramakrishnan
4d0ef3f614 Update Synapse to 1.35.0 2021-06-02 18:21:41 -07:00
Girish Ramakrishnan
b7b20f0b56 Version 1.24.0 2021-05-18 09:34:30 -07:00
Girish Ramakrishnan
7cd91ecd61 Update synapse to 1.34.0 2021-05-18 09:17:38 -07:00
Johannes Zellner
fbf55b9162 Bump version for 1.33.2 2021-05-14 10:40:12 +02:00
Johannes Zellner
d27523bc00 Update test deps 2021-05-08 18:23:49 +02:00
Johannes Zellner
fad354943f Bump version for 1.23.1 2021-05-08 18:23:02 +02:00
Johannes Zellner
a4b8455363 Bump version for 1.33.0 2021-05-06 10:21:14 +02:00
Johannes Zellner
dc25932bfd Bump version for 1.32.2 2021-04-22 12:36:21 +02:00
Johannes Zellner
908481d2c6 Bump version for 1.32.1 2021-04-22 10:37:22 +02:00
Johannes Zellner
bcbb54c9be Fixup changelog 2021-04-20 18:07:50 +02:00
Johannes Zellner
d749c8f974 Update test deps 2021-04-20 17:39:39 +02:00
Johannes Zellner
169510a50d Bump version for 1.32.0 2021-04-20 17:38:49 +02:00
Johannes Zellner
bd6d954ddd Do not redirect stdio to logfile 2021-04-08 14:52:34 +02:00
Girish Ramakrishnan
c39c97bf64 Version 1.22.0 2021-04-06 15:40:25 -07:00
Girish Ramakrishnan
007f0607fd Update synapse to 1.31.0 2021-04-06 15:39:53 -07:00
Johannes Zellner
a53664b9b1 Update test deps 2021-03-26 14:55:57 +01:00
Johannes Zellner
53f7612ba9 Bump version for 1.30.1 2021-03-26 14:54:03 +01:00
Girish Ramakrishnan
d51a1d3b40 Version 1.21.0 2021-03-22 11:02:48 -07:00
Girish Ramakrishnan
e0abc92551 Update synapse to 1.30.0 2021-03-22 10:40:03 -07:00
Girish Ramakrishnan
98fc17e9d3 Version 1.20.0 2021-03-08 09:39:15 -08:00
Girish Ramakrishnan
aa32c3c771 Update synapse to 1.29.0 2021-03-08 09:27:43 -08:00
Girish Ramakrishnan
d7e26b3687 Version 1.19.0 2021-02-26 13:10:14 -08:00
Girish Ramakrishnan
2882a804c8 Update synapse to 1.28.0 2021-02-26 12:17:37 -08:00
Girish Ramakrishnan
a1ffa1e1dc Version 1.18.0 2021-02-16 12:29:45 -08:00
Girish Ramakrishnan
15672eddc2 v4 yq has different syntax 2021-02-16 12:14:39 -08:00
Girish Ramakrishnan
022881e357 Fix base image 2021-02-16 11:39:04 -08:00
Girish Ramakrishnan
8d92d05a90 Update test packages 2021-02-05 21:56:47 -08:00
Girish Ramakrishnan
f97dde4b75 python is 3.8 2021-02-05 21:54:24 -08:00
Girish Ramakrishnan
d3b63b30a0 Update base image 2021-02-05 21:51:43 -08:00
Girish Ramakrishnan
80bdba8f29 Version 1.17.0 2021-01-27 13:07:50 -08:00
Girish Ramakrishnan
7ff92d42cf Update synapse to 1.26.0 2021-01-27 11:48:24 -08:00
Girish Ramakrishnan
5e2d8155bd Version 1.16.0 2021-01-13 09:30:04 -08:00
Girish Ramakrishnan
fe4fff7057 Update synapse to 1.25.0 2021-01-13 09:12:56 -08:00
Girish Ramakrishnan
ae6d081dfa Version 1.15.0-1 2021-01-11 21:37:53 -08:00
Girish Ramakrishnan
1b6f7f9c8a Add federated tag 2021-01-11 21:34:31 -08:00
Girish Ramakrishnan
c6dc2d84ff Version 1.24.0 2020-12-09 22:19:44 -08:00
Girish Ramakrishnan
0c44e699b6 Update synapse to 1.24.0 2020-12-09 22:11:44 -08:00
Girish Ramakrishnan
e9fc19d2c2 Version 1.14.1 2020-12-09 22:10:48 -08:00
Girish Ramakrishnan
f7283f78c3 Update synapse to 1.23.1 2020-12-09 17:08:24 -08:00
Girish Ramakrishnan
c4a4489a2d Version 1.14.0 2020-11-19 00:51:29 -08:00
Girish Ramakrishnan
b504a462f6 Update synapse to 1.23.0 2020-11-19 00:42:17 -08:00
Girish Ramakrishnan
6cc8f51801 Version 1.13.1 2020-10-30 14:14:53 -07:00
Girish Ramakrishnan
f40033ce42 Update matrix to 1.22.1 2020-10-30 13:59:21 -07:00
Girish Ramakrishnan
ee25574780 Version 1.13.0 2020-10-27 09:27:48 -07:00
Girish Ramakrishnan
a82f5e1de5 Update synapse to 1.22.0 2020-10-27 09:02:38 -07:00
Girish Ramakrishnan
fc73988618 Version 1.12.2 2020-10-15 09:54:54 -07:00
Girish Ramakrishnan
0a8a05827a Update synapse to 1.21.2 2020-10-15 09:38:34 -07:00
Girish Ramakrishnan
a14fa5ec36 Version 1.12.1 2020-10-14 10:00:21 -07:00
Girish Ramakrishnan
f2a0bbbf51 Update synapse to 1.21.1 2020-10-14 09:53:14 -07:00
Girish Ramakrishnan
23d574e2ee Version 1.12.0 2020-10-12 21:22:08 -07:00
Girish Ramakrishnan
a728b9131a Update synapse to 1.21.0 2020-10-12 21:10:51 -07:00
Girish Ramakrishnan
6e952f3394 Version 1.11.0 2020-09-25 17:29:52 -07:00
Girish Ramakrishnan
8df7aa4744 Update synapse to 1.20.1 2020-09-25 17:08:48 -07:00
Girish Ramakrishnan
1ad2983994 Version 1.10.0 2020-09-21 14:47:03 -07:00
Girish Ramakrishnan
23f7a98154 make index.html customizable 2020-09-21 14:39:48 -07:00
Girish Ramakrishnan
b4a4361bf8 Fix test packages 2020-09-21 14:29:06 -07:00
Girish Ramakrishnan
d90fb12540 Update synapse to 1.19.3 2020-09-21 09:29:39 -07:00
Girish Ramakrishnan
9ea6ea74d5 Update synapse to 1.19.2 2020-09-21 09:27:15 -07:00
Girish Ramakrishnan
cffa89120c Version 1.9.1 2020-08-27 09:42:20 -07:00
Girish Ramakrishnan
e20dac829c Fix screenshots 2020-08-27 09:38:12 -07:00
Girish Ramakrishnan
ad142a67d5 Update synapse to 1.9.1 2020-08-27 09:26:45 -07:00
Girish Ramakrishnan
a3eed1117d Version 1.9.0 2020-08-18 15:59:26 -07:00
Girish Ramakrishnan
ab61ce410f fix restore test 2020-08-18 15:57:54 -07:00
Girish Ramakrishnan
9c8dd4fc9b Update Synapse to 1.19.0 2020-08-18 15:31:00 -07:00
Girish Ramakrishnan
09c9886098 Version 1.8.0 2020-07-30 16:30:14 -07:00
Girish Ramakrishnan
4d4977dc4d Update synapse to 1.18.0 2020-07-30 15:58:52 -07:00
Girish Ramakrishnan
890c091cc2 Version 1.7.0 2020-07-13 10:44:57 -07:00
Girish Ramakrishnan
dd8c7e7e30 Update synapse to 1.17.0 2020-07-13 09:56:58 -07:00
Girish Ramakrishnan
3677faa3ef Version 1.6.1 2020-07-10 16:02:32 -07:00
Girish Ramakrishnan
68d0e948b4 Update synapse to 1.16.1 2020-07-10 15:49:26 -07:00
Girish Ramakrishnan
999cfa2dce Version 1.6.0 2020-07-08 11:06:24 -07:00
Girish Ramakrishnan
fc4b23e207 Fixup tests 2020-07-08 10:54:10 -07:00
Girish Ramakrishnan
02755c3578 Update synapse to 1.6.0 2020-07-08 10:48:24 -07:00
Girish Ramakrishnan
ebfe474a79 Version 1.5.0 2020-07-02 09:22:54 -07:00
Girish Ramakrishnan
0c3a909ef3 Update synapse to 1.15.2 2020-07-02 08:38:03 -07:00
Girish Ramakrishnan
1d941ef1c2 Fixup postinstall 2020-07-02 08:37:51 -07:00
Girish Ramakrishnan
f9c7799381 Add forumUrl 2020-07-02 08:32:35 -07:00
Girish Ramakrishnan
37e0405972 Version 1.4.0 2020-06-16 08:49:16 -07:00
Girish Ramakrishnan
429683194f Update synapse to 1.15.1 2020-06-16 08:27:47 -07:00
Girish Ramakrishnan
b2bc129d47 Update synapse to 1.15.0
doesn't work: https://github.com/matrix-org/matrix-synapse-ldap3/issues/92
2020-06-11 14:51:10 -07:00
Girish Ramakrishnan
5e74f21865 Version 1.3.0 2020-06-09 22:21:04 -07:00
Girish Ramakrishnan
070d306838 Add non-sso tests 2020-06-09 22:20:42 -07:00
Girish Ramakrishnan
c9f1071363 Enable optional sso 2020-06-09 21:38:27 -07:00
Girish Ramakrishnan
1ccc16fff6 Version 1.2.0 2020-05-29 07:24:02 -07:00
Girish Ramakrishnan
95648914d4 update tests 2020-05-29 07:22:55 -07:00
Girish Ramakrishnan
6af792f9cd Remove optionalSso for now 2020-05-29 07:22:51 -07:00
Girish Ramakrishnan
052a511599 Update synapse to 1.14.0 2020-05-28 12:32:02 -07:00
Girish Ramakrishnan
15e1f7ac1d Add optional sso support
fixes #1
2020-05-23 08:53:27 -07:00
Girish Ramakrishnan
a1177f3455 remove spurious "y" 2020-05-23 08:49:14 -07:00
Girish Ramakrishnan
2cc55a07fa Version 1.1.0 2020-05-19 09:46:33 -07:00
Girish Ramakrishnan
b4c6b21942 Update Synapse to 1.13.0 2020-05-19 09:19:18 -07:00
Girish Ramakrishnan
b95e6a3b5c Version 1.0.0 2020-04-25 13:50:57 -07:00
Girish Ramakrishnan
c711c8f249 Update synapse to 1.12.4 2020-04-25 13:50:22 -07:00
Girish Ramakrishnan
9b6bfd35b2 Version 0.7.1 2020-04-15 12:18:32 -07:00
Girish Ramakrishnan
bd6ece8ddb change room name to general since we auto-create discuss 2020-04-15 11:56:20 -07:00
Girish Ramakrishnan
158e4c223a make autocreate_auto_join_rooms explicit 2020-04-15 11:16:46 -07:00
Girish Ramakrishnan
246b99b8ce auto join #discuss room 2020-04-15 11:13:36 -07:00
Girish Ramakrishnan
c82a4acadc Version 0.7.0 2020-04-11 14:02:59 -07:00
Girish Ramakrishnan
090dbb0244 set turn servers as array and not as string 2020-04-11 13:59:23 -07:00
Girish Ramakrishnan
4f78f5c92f add test also 2020-04-11 11:22:39 -07:00
Girish Ramakrishnan
a28bca9bd6 Version 0.6.0-2 2020-04-09 23:56:14 -07:00
Girish Ramakrishnan
27e270ada5 Update screenshots 2020-04-09 23:56:02 -07:00
Girish Ramakrishnan
606cd9d4cc don't use logo in screenshot 2020-04-09 23:51:14 -07:00
Girish Ramakrishnan
62c69c156b Version 0.6.0-1 2020-04-09 23:36:17 -07:00
Girish Ramakrishnan
f2ac369762 multiple tags 2020-04-09 23:35:54 -07:00
Girish Ramakrishnan
ed5ccef86c Version 0.6.0 2020-04-09 23:31:53 -07:00
Girish Ramakrishnan
d67738a588 Fix title 2020-04-09 23:31:34 -07:00
Girish Ramakrishnan
9deeef98ab rename dir 2020-04-09 19:24:46 -07:00
Girish Ramakrishnan
2ee1d46abc Finish tests 2020-04-09 19:18:16 -07:00
Girish Ramakrishnan
2dc1259813 add test template 2020-04-09 14:00:07 -07:00
15 changed files with 3710 additions and 168 deletions

View File

@@ -3,4 +3,5 @@
.dockerignore
node_modules
screenshots/*
test/*

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
node_modules/

103
CHANGELOG
View File

@@ -1,103 +0,0 @@
[0.1.0]
* Initial version
[0.1.1]
* Removed the Riot part of the installation due to security
* Changed from Sqlite to Postgres
* Added LDAP support
* Fixed upload limit in nginx_matrix.conf
* Added bogus index.html so cloudron recognizes the matrix server as online
* Added coturn as TURN server
[0.1.2]
* Updated logo (transparent)
* Enabled email settings
[0.1.3]
* Changed log location of nginx due to backup crashes
[0.1.4]
* Changed log location of synapse due to backup crashes
* Updated some configs
[0.1.5]
* Update to synapse v0.31.2
[0.1.6]
* Update to synapse v0.33.8
[0.1.7]
* Update to synapse v0.33.9
[0.1.8]
* Update to synapse v0.99.0
* Fixed missing LDAP stuff
[0.1.9]
* Update to synapse v0.99.3
[0.2.0]
* Update to synapse v0.99.4
[0.2.1]
* Update to synapse v0.99.5.1
[0.2.2]
* Update to synapse v0.99.5.2
[0.2.3]
* Update to synapse v1.0.0
* Fixed url preview
* Fixed voip
[0.2.4]
* Fixed federation
[0.2.5]
* Update to synapse v1.1.0
[0.2.6]
* Update to synapse v1.2.1
[0.2.7]
* Update to synapse v1.3.0
[0.2.8]
* Update to synapse v1.3.1
[0.2.9]
* Update to synapse v1.4.0 (lots of changes)
[0.3.0]
* Update to synapse v1.4.1
[0.3.1]
* Update to synapse v1.5.1
[0.3.3]
* Update to synapse v1.6.0
[0.3.4]
* Update to synapse v1.6.1
[0.3.5]
* Update to synapse v1.8.0
[0.3.6]
* Update to synapse v1.9.1
[0.3.7]
* Update to synapse v1.10.0
[0.3.8]
* Update to synapse v1.11.0
[0.4.0]
* Update to synapse v1.12.0
[0.4.1]
* Update to synapse v1.12.2
[0.5.0]
* New reworked app

770
CHANGELOG.md Normal file
View File

@@ -0,0 +1,770 @@
[0.1.0]
* Initial version
[0.1.1]
* Removed the Riot part of the installation due to security
* Changed from Sqlite to Postgres
* Added LDAP support
* Fixed upload limit in nginx_matrix.conf
* Added bogus index.html so cloudron recognizes the matrix server as online
* Added coturn as TURN server
[0.1.2]
* Updated logo (transparent)
* Enabled email settings
[0.1.3]
* Changed log location of nginx due to backup crashes
[0.1.4]
* Changed log location of synapse due to backup crashes
* Updated some configs
[0.1.5]
* Update to synapse v0.31.2
[0.1.6]
* Update to synapse v0.33.8
[0.1.7]
* Update to synapse v0.33.9
[0.1.8]
* Update to synapse v0.99.0
* Fixed missing LDAP stuff
[0.1.9]
* Update to synapse v0.99.3
[0.2.0]
* Update to synapse v0.99.4
[0.2.1]
* Update to synapse v0.99.5.1
[0.2.2]
* Update to synapse v0.99.5.2
[0.2.3]
* Update to synapse v1.0.0
* Fixed url preview
* Fixed voip
[0.2.4]
* Fixed federation
[0.2.5]
* Update to synapse v1.1.0
[0.2.6]
* Update to synapse v1.2.1
[0.2.7]
* Update to synapse v1.3.0
[0.2.8]
* Update to synapse v1.3.1
[0.2.9]
* Update to synapse v1.4.0 (lots of changes)
[0.3.0]
* Update to synapse v1.4.1
[0.3.1]
* Update to synapse v1.5.1
[0.3.3]
* Update to synapse v1.6.0
[0.3.4]
* Update to synapse v1.6.1
[0.3.5]
* Update to synapse v1.8.0
[0.3.6]
* Update to synapse v1.9.1
[0.3.7]
* Update to synapse v1.10.0
[0.3.8]
* Update to synapse v1.11.0
[0.4.0]
* Update to synapse v1.12.0
[0.4.1]
* Update to synapse v1.12.2
[0.5.0]
* New reworked app
[0.6.0]
* Fix title
[0.7.0]
* Set turn_uris to an array and not a string
[0.7.1]
* Users will now automatically join the #discuss channel (only in new installations)
[1.0.0]
* Use latest base image
* Update to synapse v1.12.4
[1.1.0]
* Update Synapse to 1.13.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.13.0)
* Set Referrer-Policy header to no-referrer on media downloads. (#7009)
* Admin API POST /_synapse/admin/v1/join/<roomIdOrAlias> to join users to a room like auto_join_rooms for creation of users. (#7051)
* Add options to prevent users from changing their profile or associated 3PIDs. (#7096)
* Allow server admins to define and enforce a password policy (MSC2000). (#7118)
* Improve the support for SSO authentication on the login fallback page. (#7152, #7235)
* Always whitelist the login fallback in the SSO configuration if public_baseurl is set. (#7153)
* Admin users are no longer required to be in a room to create an alias for it. (#7191)
* Require admin privileges to enable room encryption by default. This does not affect existing rooms. (#7230)
[1.2.0]
* Update Synapse to 1.14.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.14.0)
[1.3.0]
* Add optional sso support
[1.4.0]
* Update Synapse to 1.15.1
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.15.0)
* Advertise support for Client-Server API r0.6.0 and remove related unstable feature flags. (#6585)
* Add an option to disable autojoining rooms for guest accounts. (#6637)
* Add admin APIs to allow server admins to manage users' devices. Contributed by @dklimpel. (#7481)
* Add support for generating thumbnails for WebP images. Previously, users would see an empty box instead of preview image. Contributed by @WGH-. (#7586)
* Support the standardized m.login.sso user-interactive authentication flow. (#7630)
[1.5.0]
* Update Synapse to 1.15.2
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.15.2)
* A malicious homeserver could force Synapse to reset the state in a room to a small subset of the correct state. This affects all Synapse deployments which federate with untrusted servers. (96e9afe6)
* HTML pages served via Synapse were vulnerable to clickjacking attacks. This predominantly affects homeservers with single-sign-on enabled, but all server administrators are encouraged to upgrade. (ea26e9a9)
[1.6.0]
* Update Synapse to 1.16.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.16.0)
* Add an option to enable encryption by default for new rooms. (#7639)
* Add support for running multiple media repository workers. See docs/workers.md for instructions. (#7706)
* Media can now be marked as safe from quarantined. (#7718)
* Expand the configuration options for auto-join rooms. (#7763)
[1.6.1]
* Update Synapse to 1.16.1
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.16.1)
* Drop table local_rejections_stream which was incorrectly added in Synapse 1.16.0. (#7816, b1beb3ff5)
[1.7.0]
* Update Synapse to 1.17.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.17.0)
* Fix inconsistent handling of upper and lower case in email addresses when used as identifiers for login, etc. Contributed by @dklimpel. (#7021)
* Fix "Tried to close a non-active scope!" error messages when opentracing is enabled. (#7732)
* Fix incorrect error message when database CTYPE was set incorrectly. (#7760)
* Fix to not ignore set_tweak actions in Push Rules that have no value, as permitted by the specification. (#7766)
* Fix synctl to handle empty config files correctly. Contributed by @kotovalexarian. (#7779)
* Fixes a long standing bug in worker mode where worker information was saved in the devices table instead of the original IP address and user agent. (#7797)
* Fix 'stuck invites' which happen when we are unable to reject a room invite received over federation. (#7804, #7809, #7810)
[1.8.0]
* Update Synapse to 1.18.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.18.0)
* Include room states on invite events that are sent to application services. Contributed by @Sorunome. (#6455)
* Add delete room admin endpoint (POST /_synapse/admin/v1/rooms/<room_id>/delete). Contributed by @dklimpel. (#7613, #7953)
* Add experimental support for running multiple federation sender processes. (#7798)
* Add the option to validate the iss and aud claims for JWT logins. (#7827)
* Add support for handling registration requests across multiple client reader workers. (#7830)
* Add an admin API to list the users in a room. Contributed by Awesome Technologies Innovationslabor GmbH. (#7842)
* Allow email subjects to be customised through Synapse's configuration. (#7846)
* Add the ability to re-activate an account from the admin API. (#7847, #7908)
* Support oEmbed for media previews. (#7920)
[1.9.0]
* Update Synapse to 1.19.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.19.0)
* Add option to allow server admins to join rooms which fail complexity checks. Contributed by @lugino-emeritus. (#7902)
* Add an option to purge room or not with delete room admin endpoint (POST /_synapse/admin/v1/rooms/<room_id>/delete). Contributed by @dklimpel. (#7964)
* Add rate limiting to users joining rooms. (#8008)
* Add a /health endpoint to every configured HTTP listener that can be used as a health check endpoint by load balancers. (#8048)
* Allow login to be blocked based on the values of SAML attributes. (#8052)
* Allow guest access to the GET /_matrix/client/r0/rooms/{room_id}/members endpoint, according to MSC2689. Contributed by Awesome Technologies Innovationslabor GmbH. (#7314)
[1.9.1]
* Update Synapse to 1.19.1
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.19.1)
* Fix a bug introduced in v1.19.0 where appservices with ratelimiting disabled would still be ratelimited when joining rooms. (#8139)
* Fix a bug introduced in v1.19.0 that would cause e.g. profile updates to fail due to incorrect application of rate limits on join requests. (#8153)
[1.10.0]
* Update Synapse to 1.19.3
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.19.3)
* Partially mitigate bug where newly joined servers couldn't get past events in a room when there is a malformed event. (#8350)
* Make index.html customizable
[1.11.0]
* Update Synapse to 1.20.1
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.20.0)
* Add an endpoint to query your shared rooms with another user as an implementation of MSC2666. (#7785)
* Iteratively encode JSON to avoid blocking the reactor. (#8013, #8116)
* Add support for shadow-banning users (ignoring any message send requests). (#8034, #8092, #8095, #8142, #8152, #8157, #8158, #8176)
* Use the default template file when its equivalent is not found in a custom template directory. (#8037, #8107, #8252)
* Add unread messages count to sync responses, as specified in MSC2654. (#8059, #8254, #8270, #8274)
* Optimise /federation/v1/user/devices/ API by only returning devices with encryption keys. (#8198)
[1.12.0]
* Update Synapse to 1.21.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.21.0)
* Require the user to confirm that their password should be reset after clicking the email confirmation link. (#8004)
* Add an admin API GET /_synapse/admin/v1/event_reports to read entries of table event_reports. Contributed by @dklimpel. (#8217)
* Consolidate the SSO error template across all configuration. (#8248, #8405)
* Add a configuration option to specify a whitelist of domains that a user can be redirected to after validating their email or phone number. (#8275, #8417)
* Add experimental support for sharding event persister. (#8294, #8387, #8396, #8419)
* Add the room topic and avatar to the room details admin API. (#8305)
* Add an admin API for querying rooms where a user is a member. Contributed by @dklimpel. (#8306)
[1.12.1]
* Updat Synapse to 1.21.1
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.21.1)
[1.12.2]
* Update Synapse to 1.21.2
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.21.2)
* Security: HTML pages served via Synapse were vulnerable to cross-site scripting (XSS) attacks. All server administrators are encouraged to upgrade
* Fix rare bug where sending an event would fail due to a racey assertion. (#8530)
[1.13.0]
* Update Synapse to 1.22.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.22.0)
* Add ability for ThirdPartyEventRules modules to query and manipulate whether a room is in the public rooms directory. (#8292, #8467)
* Add support for olm fallback keys (MSC2732). (#8312, #8501)
* Add support for running background tasks in a separate worker process. (#8369, #8458, #8489, #8513, #8544, #8599)
* Add support for device dehydration (MSC2697). (#8380)
* Add support for MSC2409, which allows sending typing, read receipts, and presence events to appservices. (#8437, #8590)
* Change default room version to "6", per MSC2788. (#8461)
* Add the ability to send non-membership events into a room via the ModuleApi. (#8479)
* Increase default upload size limit from 10M to 50M. Contributed by @Akkowicz. (#8502)
* Add support for modifying event content in ThirdPartyRules modules. (#8535, #8564)
[1.13.1]
* Update Synapse to 1.22.1
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.22.1)
* Fix a bug where an appservice may not be forwarded events for a room it was recently invited to. Broke in v1.22.0. (#8676)
* Fix Object of type frozendict is not JSON serializable exceptions when using third-party event rules. Broke in v1.22.0. (#8678)
[1.14.0]
* Update Synapse to 1.23.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.23.0)
* Add a push rule that highlights when a jitsi conference is created in a room. (#8286)
* Add an admin api to delete a single file or files that were not used for a defined time from server. Contributed by @dklimpel. (#8519)
* Split admin API for reported events (GET /_synapse/admin/v1/event_reports) into detail and list endpoints. This is a breaking change to #8217 which was introduced in Synapse v1.21.0. Those who already use this API should check their scripts. Contributed by @dklimpel. (#8539)
* Support generating structured logs via the standard logging configuration. (#8607, #8685)
* Add an admin API to allow server admins to list users' pushers. Contributed by @dklimpel. (#8610, #8689)
* Add an admin API GET /_synapse/admin/v1/users/<user_id>/media to get information about uploaded media. Contributed by @dklimpel. (#8647)
* Add an admin API for local user media statistics. Contributed by @dklimpel. (#8700)
* Add displayname to Shared-Secret Registration for admins. (#8722)
[1.14.1]
* Update Synapse to 1.23.1
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.23.1)
* There is a denial of service attack (CVE-2020-26257) against the federation APIs in which future events will not be correctly sent to other servers over federation. This affects all servers that participate in open federation. (Fixed in #8776).
[1.15.0]
* Update Synapse to 1.24.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.24.0)
* Add a maximum version for pysaml2 on Python 3.5
[1.16.0]
* Update Synapse to 1.25.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.25.0)
* Add an admin API that lets server admins get power in rooms in which local users have power. (#8756)
* Add optional HTTP authentication to replication endpoints. (#8853)
* Improve the error messages printed as a result of configuration problems for extension modules. (#8874)
* Add the number of local devices to Room Details Admin API. Contributed by @dklimpel. (#8886)
* Add X-Robots-Tag header to stop web crawlers from indexing media. Contributed by Aaron Raimist. (#8887)
* Spam-checkers may now define their methods as async. (#8890)
* Add support for allowing users to pick their own user ID during a single-sign-on login. (#8897, #8900, #8911, #8938, #8941, #8942, #8951)
* Add an email.invite_client_location configuration option to send a web client location to the invite endpoint on the identity server which allows customisation of the email template. (#8930)
* The search term in the list room and list user Admin APIs is now treated as case-insensitive. (#8931)
* Apply an IP range blacklist to push and key revocation requests. (#8821, #8870, #8954)
* Add an option to allow re-use of user-interactive authentication sessions for a period of time. (#8970)
* Allow running the redact endpoint on workers. (#8994)
[1.17.0]
* Update Synapse to 1.26.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.26.0)
* During user-interactive authentication via single-sign-on, give a better error if the user uses the wrong account on the SSO IdP. (#9091)
* Give the public_baseurl a default value, if it is not explicitly set in the configuration file. (#9159)
* Improve performance when calculating ignored users in large rooms. (#9024)
* Implement MSC2176 in an experimental room version. (#8984)
* Add an admin API for protecting local media from quarantine. (#9086)
* Remove a user's avatar URL and display name when deactivated with the Admin API. (#8932)
[1.18.0]
* Update Synapse to 1.27.0
* Use base image v3
* Update python to 3.8
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.27.0)
* Add an admin API for getting and deleting forward extremities for a room. (#9062)
* Add an admin API for retrieving the current room state of a room. (#9168)
* Add an admin API endpoint for shadow-banning users. (#9209)
[1.19.0]
* Update Synapse to 1.28.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.28.0)
* New admin API to get the context of an event: /_synapse/admin/rooms/{roomId}/context/{eventId}. (#9150)
* Further improvements to the user experience of registration via single sign-on. (#9300, #9301)
* Add hook to spam checker modules that allow checking file uploads and remote downloads. (#9311)
* Add support for receiving OpenID Connect authentication responses via form POSTs rather than GETs. (#9376)
* Add the shadow-banning status to the admin API for user info. (#9400)
[1.20.0]
* Update Synapse to 1.29.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.29.0)
* Add rate limiters to cross-user key sharing requests. (#8957)
* Add order_by to the admin API GET /_synapse/admin/v1/users/<user_id>/media. Contributed by @dklimpel. (#8978)
* Add some configuration settings to make users' profile data more private. (#9203)
* The no_proxy and NO_PROXY environment variables are now respected in proxied HTTP clients with the lowercase form taking precedence if both are present. Additionally, the lowercase https_proxy environment variable is now respected in proxied HTTP clients on top of existing support for the uppercase HTTPS_PROXY form and takes precedence if both are present. Contributed by Timothy Leung. (#9372)
* Add a configuration option, user_directory.prefer_local_users, which when enabled will make it more likely for users on the same server as you to appear above other users. (#9383, #9385)
* Add support for regenerating thumbnails if they have been deleted but the original image is still stored. (#9438)
[1.21.0]
* Update Synapse to 1.30.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.30.0)
* Add prometheus metrics for number of users successfully registering and logging in. (#9510, #9511, #9573)
* Add synapse_federation_last_sent_pdu_time and synapse_federation_last_received_pdu_time prometheus metrics, which monitor federation delays by reporting the timestamps of messages sent and received to a set of remote servers. (#9540)
* Add support for generating JSON Web Tokens dynamically for use as OIDC client secrets. (#9549)
* Optimise handling of incomplete room history for incoming federation. (#9601)
* Finalise support for allowing clients to pick an SSO Identity Provider (MSC2858). (#9617)
* Tell spam checker modules about the SSO IdP a user registered through if one was used. (#9626)
[1.21.1]
* Update Synapse to 1.30.1
[1.22.0]
* Update Synapse to 1.31.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.31.0)
* Add support to OpenID Connect login for requiring attributes on the userinfo response. Contributed by Hubbe King. (#9609)
* Add initial experimental support for a "space summary" API. (#9643, #9652, #9653)
* Add support for the busy presence state as described in MSC3026. (#9644)
* Add support for credentials for proxy authentication in the HTTPS_PROXY environment variable. (#9657)
[1.22.1]
* Update Synapse to 1.32.0
* Add a Synapse module for routing presence updates between users. (#9491)
* Add an admin API to manage ratelimit for a specific user. (#9648)
* Include request information in structured logging output. (#9654)
* Add order_by to the admin API GET /_synapse/admin/v2/users. Contributed by @dklimpel. (#9691)
* Replace the room_invite_state_types configuration setting with room_prejoin_state. (#9700)
* Add experimental support for MSC3083: restricting room access via group membership. (#9717, #9735)
* Update experimental support for Spaces: include m.room.create in the room state sent with room-invites. (#9710)
* Synapse now requires Python 3.6 or later. It also requires Postgres 9.6 or later or SQLite 3.22 or later. (#9766)
* Prevent synapse_forward_extremities and synapse_excess_extremity_events Prometheus metrics from initially reporting zero-values after startup. (#8926)
* Fix recently added ratelimits to correctly honour the application service rate_limited flag. (#9711)
* Fix longstanding bug which caused duplicate key value violates unique constraint "remote_media_cache_thumbnails_media_origin_media_id_thumbna_key" errors. (#9725)
* Fix bug where sharded federation senders could get stuck repeatedly querying the DB in a loop, using lots of CPU. (#9770)
* Fix duplicate logging of exceptions thrown during federation transaction processing. (#9780)
[1.22.2]
* Update Synapse to 1.32.0
* Add a Synapse module for routing presence updates between users. (#9491)
* Add an admin API to manage ratelimit for a specific user. (#9648)
* Include request information in structured logging output. (#9654)
* Add order_by to the admin API GET /_synapse/admin/v2/users. Contributed by @dklimpel. (#9691)
* Replace the room_invite_state_types configuration setting with room_prejoin_state. (#9700)
* Add experimental support for MSC3083: restricting room access via group membership. (#9717, #9735)
* Update experimental support for Spaces: include m.room.create in the room state sent with room-invites. (#9710)
* Synapse now requires Python 3.6 or later. It also requires Postgres 9.6 or later or SQLite 3.22 or later. (#9766)
* Prevent synapse_forward_extremities and synapse_excess_extremity_events Prometheus metrics from initially reporting zero-values after startup. (#8926)
* Fix recently added ratelimits to correctly honour the application service rate_limited flag. (#9711)
* Fix longstanding bug which caused duplicate key value violates unique constraint "remote_media_cache_thumbnails_media_origin_media_id_thumbna_key" errors. (#9725)
* Fix bug where sharded federation senders could get stuck repeatedly querying the DB in a loop, using lots of CPU. (#9770)
* Fix duplicate logging of exceptions thrown during federation transaction processing. (#9780)
[1.22.3]
* Update Synapse to 1.32.1
* Fix a regression in Synapse 1.32.0 which caused Synapse to report large numbers of Prometheus time series, potentially overwhelming Prometheus instances. (#9854)
[1.22.4]
* Update Synapse to 1.32.2
* Fix a regression in Synapse 1.32.0 and 1.32.1 which caused LoggingContext errors in plugins. (#9857)
[1.23.0]
* Update Synapse to 1.33.0
* Update experimental support for MSC3083: restricting room access via group membership. (#9800, #9814)
* Add experimental support for handling presence on a worker. (#9819, #9820, #9828, #9850)
* Return a new template when an user attempts to renew their account multiple times with the same token, stating that their account is set to expire. This replaces the invalid token template that would previously be shown in this case. This change concerns the optional account validity feature. (#9832)
* Fixes the OIDC SSO flow when using a public_baseurl value including a non-root URL path. (#9726)
* Fix thumbnail generation for some sites with non-standard content types. Contributed by @rkfg. (#9788)
* Add some sanity checks to identity server passed to 3PID bind/unbind endpoints. (#9802)
* Limit the size of HTTP responses read over federation. (#9833)
* Fix a bug which could cause Synapse to get stuck in a loop of resyncing device lists. (#9867)
* Fix a long-standing bug where errors from federation did not propagate to the client. (#9868)
[1.23.1]
* Update Synapse to 1.33.1
* Fix bug where /sync would break if using the latest version of attrs dependency, by pinning to a previous version. (#9937)
[1.23.2]
* Update Synapse to 1.33.2
* This release fixes a denial of service attack (CVE-2021-29471) against Synapse's push rules implementation.
[1.24.0]
* Update Synapse to 1.34.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.34.0)
* Add support for DELETE /_synapse/admin/v1/rooms/<room_id>. (#9889)
* Improve performance after joining a large room when presence is enabled. (#9910, #9916)
* Support stable identifiers for MSC1772 Spaces. m.space.child events will now be taken into account when populating the experimental spaces summary response. Please see the upgrade notes if you have customised room_invite_state_types in your configuration. (#9915, #9966)
* Improve performance of backfilling in large rooms. (#9935)
[1.25.0]
* Update Synapse to 1.35.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.35.0)
* Add experimental support to allow a user who could join a restricted room to view it in the spaces summary. (#9922, #10007, #10038)
* Reduce memory usage when joining very large rooms over federation. (#9958)
* Add a configuration option which allows enabling opentracing by user id. (#9978)
* Enable experimental support for MSC2946 (spaces summary API) and MSC3083 (restricted join rules) by default. (#10011)
[1.25.1]
* Update Synapse to 1.35.1
* Fix a bug introduced in v1.35.0 where invite-only rooms would be shown to all users in a space, regardless of if the user had access to it. (#10109)
[1.26.0]
* Update Synapse to 1.36.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.36.0)
[1.27.0]
* Update Synapse to 1.38.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.38.0)
* Implement refresh tokens as specified by MSC2918. (#9450)
* Add support for evicting cache entries based on last access time. (#10205)
* Omit empty fields from the /sync response. Contributed by @deepbluev7. (#10214)
* Improve validation on federation send_{join,leave,knock} endpoints. (#10225, #10243)
* Mark events received over federation which fail a spam check as "soft-failed". (#10263)
* Add metrics for new inbound federation staging area. (#10284)
* Add script to print information about recently registered users. (#10290)
[1.27.1]
* Update Synapse to 1.38.1
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.38.1)
[1.28.0]
* Update Synapse to 1.39.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.39.0)
[1.29.0]
* Update Synapse to 1.40.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.40.0)
[1.30.0]
* Update Synapse to 1.41.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.41.0)
[1.30.1]
* Send logs to the console
* Fix postinstall message about federation
[1.30.2]
* Update Synapse to 1.41.1
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.41.1)
* GHSA-3x4c-pq33-4w3q / CVE-2021-39164: Enumerating a private room's list of members and their display names.
* GHSA-jj53-8fmw-f2w2 / CVE-2021-39163: Disclosing a private room's name, avatar, topic, and number of members.
[1.31.0]
* Update Synapse to 1.42.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.42.0)
* Support room version 9 from MSC3375. (#10747)
* Add support for MSC3231: Token authenticated registration. Users can be required to submit a token during registration to authenticate themselves. Contributed by Callum Brown. (#10142)
* Add support for MSC3283: Expose enable_set_displayname in capabilities. (#10452)
* Port the PresenceRouter module interface to the new generic interface. (#10524)
* Add pagination to the spaces summary based on updates to MSC2946. (#10613, #10725)
[1.32.0]
* Update Synapse to 1.43.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.43.0)
[1.33.0]
* Update Synapse to 1.44.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.44.0)
* Only allow the MSC2716 /batch_send?chunk_id=xxx endpoint to connect to an already existing insertion event. (#10776)
* Improve oEmbed URL previews by processing the author name, photo, and video information. (#10814, #10819)
* Speed up responding with large JSON objects to requests. (#10868, #10905)
* Add a user_may_create_room_with_invites spam checker callback to allow modules to allow or deny a room creation request based on the invites and/or 3PID invites it includes. (#10898)
[1.34.0]
* Update Synapse to 1.45.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.45.0)
* Fix a long-standing bug when using multiple event persister workers where events were not correctly sent down /sync due to a race. (#11045)
* Fix a bug introduced in Synapse 1.45.0rc1 where the user directory would stop updating if it processed an event from a user not in the users table. (#11053)
* Fix a bug introduced in Synapse 1.44.0 when logging errors during oEmbed processing. (#11061)
[1.34.1]
* Update Synapse to 1.45.1
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.45.1)
* Revert change to counting of deactivated users towards the monthly active users limit, introduced in 1.45.0rc1. (#11127)
[1.35.0]
* Update Synapse to 1.46.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.46.0)
* Fix a bug introduced in v1.46.0rc1 where URL previews of some XML documents would fail. (#11196)
[1.36.0]
* Update Synapse to 1.47.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.47.0)
* Fix a bug introduced in 1.47.0rc1 which caused worker processes to not halt startup in the presence of outstanding database migrations. (#11346)
* Fix a bug introduced in 1.47.0rc1 which prevented the 'remove deleted devices from device_inbox column' background process from running when updating from a recent Synapse version. (#11303, #11353)
[1.36.1]
* Update Synapse to 1.47.1
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.47.1)
* GHSA-3hfw-x7gx-437c / CVE-2021-41281: Path traversal when downloading remote media.
[1.37.0]
* Update Synapse to 1.48.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.48.0)
[1.38.0]
* Update Synapse to 1.49.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.49.0)
[1.38.1]
* Update Synapse to 1.49.2
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.49.2)
[1.38.2]
* Update Synapse to 1.50.1
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.50.1)
[1.38.3]
* Update Synapse to 1.50.2
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.50.2)
* Fix a bug introduced in Synapse 1.40.0 that caused Synapse to fail to process incoming federation traffic after handling a large amount of events in a v1 room. (#11806)
[1.38.4]
* Update Synapse to 1.51.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.51.0)
[1.38.5]
* Update Synapse to 1.52.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.52.0)
* Remove account data (including client config, push rules and ignored users) upon user deactivation. (#11621, #11788, #11789)
* Add an admin API to reset connection timeouts for remote server. (#11639)
* Add an admin API to get a list of rooms that federate with a given remote homeserver. (#11658)
* Add a config flag to inhibit M_USER_IN_USE during registration. (#11743)
* Add a module callback to set username at registration. (#11790)
* Allow configuring a maximum file size as well as a list of allowed content types for avatars. (#11846)
[1.38.6]
* Update Synapse to 1.53.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.53.0)
* Add experimental support for sending to-device messages to application services, as specified by MSC2409. (#11215, #11966)
* Add a background database update to purge account data for deactivated users. (#11655)
* Experimental support for MSC3666: including bundled aggregations in server side search results. (#11837)
* Enable cache time-based expiry by default. The expiry_time config flag has been superseded by expire_caches and cache_entry_ttl. (#11849)
* Add a callback to allow modules to allow or forbid a 3PID (email address, phone number) from being associated to a local account. (#11854)
* Stabilize support and remove unstable endpoints for MSC3231. Clients must switch to the stable identifier and endpoint. See the upgrade notes for more information. (#11867)
* Allow modules to retrieve the current instance's server name and worker name. (#11868)
* Use a dedicated configurable rate limiter for 3PID invites. (#11892)
* Support the stable API endpoint for MSC3283: new settings in /capabilities endpoint. (#11933, #11989)
* Support the dir parameter on the /relations endpoint, per MSC3715. (#11941)
* Experimental implementation of MSC3706: extensions to /send_join to support reduced response size. (#11967)
[1.39.0]
* Update Synapse to 1.54.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.54.0)
* Fix a bug introduced in Synapse 1.54.0rc1 preventing the new module callbacks introduced in this release from being registered by modules. (#12141)
* Fix a bug introduced in Synapse 1.54.0rc1 where runtime dependency version checks would mistakenly check development dependencies if they were present and would not accept pre-release versions of dependencies. (#12129, #12177)
[1.40.0]
* Update Synapse to 1.55.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.55.0)
* Add third-party rules callbacks check_can_shutdown_room and check_can_deactivate_user. (#12028)
* Improve performance of logging in for large accounts. (#12132)
* Support the stable identifiers from MSC3440: threads. (#12151)
* Add a new Jinja2 template filter to extract the local part of an email address. (#12212)
[1.40.1]
* Update Synapse to 1.55.2
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.55.2)
[1.41.0]
* Update Synapse to 1.57.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.57.0)
[1.41.1]
* Update Synapse to 1.57.1
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.57.1)
[1.42.0]
* Update Synapse to 1.58.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.58.0)
* Implement MSC3383 for including the destination in server-to-server authentication headers. Contributed by @Bubu and @jcgruenhage for Famedly. (#11398)
* Enable processing of device list updates asynchronously. (#12365, #12465)
* Implement MSC2815 to allow room moderators to view redacted event content. Contributed by @tulir @ Beeper. (#12427)
[1.43.0]
* Update Synapse to 1.59.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.59.0)
[1.43.1]
* Update Synapse to 1.59.1
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.59.1)
[1.44.0]
* Update Synapse to 1.60.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.60.0)
* Add an option allowing users to use their password to reauthenticate for privileged actions even though password login is disabled. (#12883)
* Explicitly close ijson coroutines once we are done with them, instead of leaving the garbage collector to close them. (#12875)
* Improve URL previews by not including the content of media tags in the generated description. (#12887)
[1.45.0]
* Update Synapse to 1.61.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.61.0)
* Add new media_retention options to the homeserver config for routinely cleaning up non-recently accessed media. (#12732, #12972, #12977)
* Experimental support for MSC3772: Push rule for mutually related events. (#12740, #12859)
* Update to the check_event_for_spam module callback: Deprecate the current callback signature, replace it with a new signature that is both less ambiguous (replacing booleans with explicit allow/block) and more powerful (ability to return explicit error codes). (#12808)
* Add storage and module API methods to get monthly active users (and their corresponding appservices) within an optionally specified time range. (#12838, #12917)
* Support the new error code ORG.MATRIX.MSC3823.USER_ACCOUNT_SUSPENDED from MSC3823. (#12845, #12923)
* Add a configurable background job to delete stale devices. (#12855)
* Improve URL previews for pages with empty elements. (#12951)
* Allow updating a user's password using the admin API without logging out their devices. Contributed by @jcgruenhage. (#12952)
[1.45.1]
* Add s3 storage provider module
[1.45.2]
* Update Synapse to 1.61.1
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.61.1)
* Linkify GHSA commit
[1.46.0]
* Update Synapse to 1.62.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.62.0)
[1.47.0]
* Update Synapse to 1.63.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.63.0)
[1.47.1]
* Update Synapse to 1.63.1
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.63.1)
* Fix a bug introduced in Synapse 1.63.0 where push actions were incorrectly calculated for appservice users. This caused performance issues on servers with large numbers of appservices. (#13332)
[1.48.0]
* Update Synapse to 1.64.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.64.0)
[1.49.0]
* Update Synapse to 1.65.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.65.0)
* Add support for stable prefixes for MSC2285 (private read receipts). (#13273)
* Add new unstable error codes ORG.MATRIX.MSC3848.ALREADY_JOINED, ORG.MATRIX.MSC3848.NOT_JOINED, and ORG.MATRIX.MSC3848.INSUFFICIENT_POWER described in MSC3848. (#13343)
* Use stable prefixes for MSC3827. (#13370)
* Add a new module API method to translate a room alias into a room ID. (#13428)
* Add a new module API method to create a room. (#13429)
[1.49.1]
* Add oidc module
[1.49.2]
* Update Synapse to 1.66.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.66.0)
[1.50.0]
* Update Synapse to 1.67.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.67.0)
* Support setting the registration shared secret in a file, via a new `registration_shared_secret_path` configuration option.
* Change the default startup behaviour so that any missing "additional" configuration files (signing key, etc) are generated automatically.
* Improve performance of sending messages in rooms with thousands of local users.
[1.51.0]
* Update Synapse to 1.68.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.68.0)
* Fix packaging to include Cargo.lock in sdist. (#13909)
* Fix building from packaged sdist. Broken in v1.68.0rc1. (#13866)
* Fix the release script not publishing binary wheels. (#13850)
* Lower minimum supported rustc version to 1.58.1. (#13857)
* Lock Rust dependencies' versions. (#13858)
* Keep track of when we fail to process a pulled event over federation so we can intelligently back off in the future. (#13589, #13814)
* Add an admin API endpoint to fetch messages within a particular window of time. (#13672)
* Add an admin API endpoint to find a user based on their external ID in an auth provider. (#13810)
* Cancel the processing of key query requests when they time out. (#13680)
* Improve validation of request bodies for the following client-server API endpoints: /account/3pid/msisdn/requestToken, /org.matrix.msc3720/account_status, /account/3pid/add, /account/3pid/bind, /account/3pid/delete and /account/3pid/unbind. (#13687, #13736)
* Document the timestamp when a user accepts the consent, if consent tracking is used. (#13741)
* Add a listeners[x].request_id_header configuration option to specify which request header to extract and use as the request ID in order to correlate requests from a reverse proxy. (#13801)
* Fix a bug introduced in Synapse 1.41.0 where the /hierarchy API returned non-standard information (a room_id field under each entry in children_state). (#13506)
* Fix a long-standing bug where previously rejected events could end up in room state because they pass auth checks given the current state of the room. (#13723)
* Fix a long-standing bug where Synapse fails to start if a signing key file contains an empty line. (#13738)
* Fix a long-standing bug where Synapse would fail to handle malformed user IDs or room aliases gracefully in certain cases. (#13746)
* Fix a long-standing bug where device lists would remain cached when remote users left and rejoined the last room shared with the local homeserver. (#13749, #13826)
* Fix a long-standing bug that could cause stale caches in some rare cases on the first startup of Synapse with replication. (#13766)
* Fix a long-standing spec compliance bug where Synapse would accept a trailing slash on the end of /get_missing_events federation requests. (#13789)
* Delete associated data from event_failed_pull_attempts, insertion_events, insertion_event_extremities, insertion_event_extremities, insertion_event_extremities when purging the room. (#13825)
[1.52.0]
* Update Synapse to 1.69.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.69.0)
* Fix poor performance of the event_push_backfill_thread_id background update, which was introduced in Synapse 1.68.0rc1. (#14172, #14181)
* Fix an issue with Docker images causing the Rust dependencies to not be pinned correctly. Introduced in v1.68.0 (#14129)
* Fix a bug introduced in Synapse 1.69.0rc1 which would cause registration replication requests to fail if the worker sending the request is not running Synapse 1.69. (#14135)
* Fix error in background update when rotating existing notifications. Introduced in v1.69.0rc2. (#14138)
* Allow application services to set the origin_server_ts of a state event by providing the query parameter ts in PUT /_matrix/client/r0/rooms/{roomId}/state/{eventType}/{stateKey}, per MSC3316. Contributed by @lukasdenk. (#11866)
* Allow server admins to require a manual approval process before new accounts can be used (using MSC3866). (#13556)
* Exponentially backoff from backfilling the same event over and over. (#13635, #13936)
* Add cache invalidation across workers to module API. (#13667, #13947)
* Experimental implementation of MSC3882 to allow an existing device/session to generate a login token for use on a new device/session. (#13722, #13868)
* Experimental support for thread-specific receipts (MSC3771). (#13782, #13893, #13932, #13937, #13939)
* Add experimental support for MSC3881: Remotely toggle push notifications for another client. (#13799, #13831, #13860)
* Keep track when an event pulled over federation fails its signature check so we can intelligently back-off in the future. (#13815)
* Improve validation for the unspecced, internal-only _matrix/client/unstable/add_threepid/msisdn/submit_token endpoint. (#13832)
* Faster remote room joins: record when we first partial-join to a room. (#13892)
* Support a dir parameter on the /relations endpoint per MSC3715. (#13920)
* Ask mail servers receiving emails from Synapse to not send automatic replies (e.g. out-of-office responses). (#13957)
* Send push notifications for invites received over federation. (#13719, #14014)
* Fix a long-standing bug where typing events would be accepted from remote servers not present in a room. Also fix a bug where incoming typing events would cause other incoming events to get stuck during a fast join. (#13830)
* Fix a bug introduced in Synapse v1.53.0 where the experimental implementation of MSC3715 would give incorrect results when paginating forward. (#13840)
* Fix access token leak to logs from proxy agent. (#13855)
* Fix have_seen_event cache not being invalidated after we persist an event which causes inefficiency effects like extra /state federation calls. (#13863)
* Faster room joins: Fix a bug introduced in 1.66.0 where an error would be logged when syncing after joining a room. (#13872)
* Fix a bug introduced in 1.66.0 where some required fields in the pushrules sent to clients were not present anymore. Contributed by Nico. (#13904)
* Fix packaging to include Cargo.lock in sdist. (#13909)
* Fix a long-standing bug where device updates could cause delays sending out to-device messages over federation. (#13922)
* Fix a bug introduced in v1.68.0 where Synapse would require setuptools_rust at runtime, even though the package is only required at build time. (#13952)
* Fix a long-standing bug where POST /_matrix/client/v3/keys/query requests could result in excessively large SQL queries. (#13956)
* Fix a performance regression in the get_users_in_room database query. Introduced in v1.67.0. (#13972)
* Fix a bug introduced in v1.68.0 bug where Rust extension wasn't built in release mode when using poetry install. (#14009)
* Do not return an unspecified original_event field when using the stable /relations endpoint. Introduced in Synapse v1.57.0. (#14025)
* Correctly handle a race with device lists when a remote user leaves during a partial join. (#13885)
* Correctly handle sending local device list updates to remote servers during a partial join. (#13934)
[1.53.0]
* Update Synapse to 1.70.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.70.0)
* Support for [MSC3856](https://github.com/matrix-org/matrix-spec-proposals/pull/3856): threads list API. ([\#13394](https://github.com/matrix-org/synapse/issues/13394), [\#14171](https://github.com/matrix-org/synapse/issues/14171), [\#14175](https://github.com/matrix-org/synapse/issues/14175))
* Support for thread-specific notifications & receipts ([MSC3771](https://github.com/matrix-org/matrix-spec-proposals/pull/3771) and [MSC3773](https://github.com/matrix-org/matrix-spec-proposals/pull/3773)). ([\#13776](https://github.com/matrix-org/synapse/issues/13776), [\#13824](https://github.com/matrix-org/synapse/issues/13824), [\#13877](https://github.com/matrix-org/synapse/issues/13877), [\#13878](https://github.com/matrix-org/synapse/issues/13878), [\#14050](https://github.com/matrix-org/synapse/issues/14050), [\#14140](https://github.com/matrix-org/synapse/issues/14140), [\#14159](https://github.com/matrix-org/synapse/issues/14159), [\#14163](https://github.com/matrix-org/synapse/issues/14163), [\#14174](https://github.com/matrix-org/synapse/issues/14174), [\#14222](https://github.com/matrix-org/synapse/issues/14222))
* Stop fetching missing `prev_events` after we already know their signature is invalid. ([\#13816](https://github.com/matrix-org/synapse/issues/13816))
* Send application service access tokens as a header (and query parameter). Implements [MSC2832](https://github.com/matrix-org/matrix-spec-proposals/pull/2832). ([\#13996](https://github.com/matrix-org/synapse/issues/13996))
* Ignore server ACL changes when generating pushes. Implements [MSC3786](https://github.com/matrix-org/matrix-spec-proposals/pull/3786). ([\#13997](https://github.com/matrix-org/synapse/issues/13997))
* Experimental support for redirecting to an implementation of a [MSC3886](https://github.com/matrix-org/matrix-spec-proposals/pull/3886) HTTP rendezvous service. ([\#14018](https://github.com/matrix-org/synapse/issues/14018))
* The `/relations` endpoint can now be used on workers. ([\#14028](https://github.com/matrix-org/synapse/issues/14028))
* Advertise support for Matrix 1.3 and 1.4 on `/_matrix/client/versions`. ([\#14032](https://github.com/matrix-org/synapse/issues/14032), [\#14184](https://github.com/matrix-org/synapse/issues/14184))
* Improve validation of request bodies for the [Device Management](https://spec.matrix.org/v1.4/client-server-api/#device-management) and [MSC2697 Device Dehyrdation](https://github.com/matrix-org/matrix-spec-proposals/pull/2697) client-server API endpoints. ([\#14054](https://github.com/matrix-org/synapse/issues/14054))
* Experimental support for [MSC3874](https://github.com/matrix-org/matrix-spec-proposals/pull/3874): Filtering threads from the `/messages` endpoint. ([\#14148](https://github.com/matrix-org/synapse/issues/14148))
* Improve the validation of the following PUT endpoints: [`/directory/room/{roomAlias}`](https://spec.matrix.org/v1.4/client-server-api/#put_matrixclientv3directoryroomroomalias), [`/directory/list/room/{roomId}`](https://spec.matrix.org/v1.4/client-server-api/#put_matrixclientv3directorylistroomroomid) and [`/directory/list/appservice/{networkId}/{roomId}`](https://spec.matrix.org/v1.4/application-service-api/#put_matrixclientv3directorylistappservicenetworkidroomid). ([\#14179](https://github.com/matrix-org/synapse/issues/14179))
* Build and publish binary wheels for `aarch64` platforms. ([\#14212](https://github.com/matrix-org/synapse/issues/14212))
[1.53.1]
* Update Synapse to 1.70.1
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.70.1)
* Fix a bug introduced in Synapse 1.70.0rc1 where the access tokens sent to application services as headers were malformed. Application services which were obtaining access tokens from query parameters were not affected. (#14301)
* Fix room creation being rate limited too aggressively since Synapse v1.69.0. (#14314)
[1.54.0]
* Update Synapse to 1.71.0
* [Full changelog](https://github.com/matrix-org/synapse/releases/tag/v1.71.0)

View File

@@ -1,11 +1,12 @@
{
"id": "org.matrix.synapse",
"title": "An Open network for secure, decentralized communication",
"title": "Matrix Synapse",
"author": "Matrix synapse authors",
"description": "file://DESCRIPTION.md",
"changelog": "file://CHANGELOG",
"tagline": "Matrix homeserver",
"version": "0.5.0",
"changelog": "file://CHANGELOG.md",
"tagline": "Secure & decentralized communication",
"version": "1.54.0",
"upstreamVersion": "1.71.0",
"healthCheckPath": "/",
"httpPort": 8008,
"memoryLimit": 536870912,
@@ -13,23 +14,24 @@
"localstorage": {},
"ldap": {},
"postgresql": {},
"sendmail": {},
"sendmail": { "supportsDisplayName": true },
"turn": {}
},
"manifestVersion": 2,
"website": "https://matrix.org",
"contactEmail": "support@cloudron.io",
"icon": "logo.png",
"icon": "file://logo.png",
"tags": [
"im", "collaboration", "voip", "videochat", "chat"
"im", "collaboration", "voip", "videochat", "chat", "slack", "zulip", "federated"
],
"mediaLinks": [
"https://cloudron-app-screenshots.s3.amazonaws.com/org.matrix.synapse/924b87f40eacc15e444cd45cc93d2ead0aa440c2/1.png",
"https://cloudron-app-screenshots.s3.amazonaws.com/org.matrix.synapse/924b87f40eacc15e444cd45cc93d2ead0aa440c2/2.png",
"https://cloudron-app-screenshots.s3.amazonaws.com/org.matrix.synapse/924b87f40eacc15e444cd45cc93d2ead0aa440c2/3.png"
"https://screenshots.cloudron.io/org.matrix.synapse/1.png",
"https://screenshots.cloudron.io/org.matrix.synapse/2.png",
"https://screenshots.cloudron.io/org.matrix.synapse/3.png"
],
"changelog": "file://CHANGELOG",
"postInstallMessage": "file://POSTINSTALL.md",
"minBoxVersion": "5.1.4",
"documentationUrl": "https://cloudron.io/documentation/apps/synapse/"
"minBoxVersion": "7.2.0",
"forumUrl": "https://forum.cloudron.io/category/50/matrix-synapse-riot",
"documentationUrl": "https://docs.cloudron.io/apps/synapse/",
"optionalSso": true
}

View File

@@ -1,12 +1,10 @@
This app packages Synapse <upstream>1.12.3</upstream>.
**This package only provides the Matrix backend. A variety of clients are available
[here](https://matrix.org/clients/). Riot is a popular web frontend for Matrix and
is available as a separate app.**
Matrix is an ambitious new ecosystem for open federated Instant Messaging and VoIP.
## About
## Matrix
Matrix is an ambitious new ecosystem for open federated Instant Messaging and VoIP.
Matrix specifies a set of pragmatic RESTful HTTP JSON APIs as an open standard, which handle:
@@ -18,7 +16,7 @@ Matrix specifies a set of pragmatic RESTful HTTP JSON APIs as an open standard,
* Using 3rd Party IDs (3PIDs) such as email addresses, phone numbers, Facebook accounts to authenticate, identify and discover users on Matrix.
* Placing 1:1 VoIP and Video calls
## Synapse
## What is Synapse?
Synapse is a reference "homeserver" implementation of Matrix from the core development
team at matrix.org, written in Python/Twisted.

View File

@@ -1,33 +1,26 @@
FROM cloudron/base:1.0.0@sha256:147a648a068a2e746644746bbfb42eb7a50d682437cead3c67c933c546357617
FROM cloudron/base:3.2.0@sha256:ba1d566164a67c266782545ea9809dc611c4152e27686fd14060332dd88263ea
RUN mkdir -p /app/pkg
WORKDIR /app/code
ARG VERSION=v1.12.3
RUN apt update && \
apt install -y build-essential python3-dev libffi-dev \
python3-pip python-setuptools sqlite3 libxml2-dev \
libssl-dev python-virtualenv libjpeg-dev libxslt1-dev libldap2-dev libsasl2-dev && \
rm -rf /var/cache/apt /var/lib/apt/lists
# https://pythonspeed.com/articles/activate-virtualenv-dockerfile/
RUN virtualenv -p python3 /app/code/env
ENV VIRTUAL_ENV=/app/code/env
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
ARG VERSION=v1.71.0
# Synapse (https://github.com/matrix-org/synapse/blob/master/INSTALL.md)
# lxml - required for previews
RUN pip install --upgrade pip && \
pip install --upgrade setuptools && \
pip install matrix-synapse==${VERSION} psycopg2-binary python-ldap matrix-synapse-ldap3 lxml publicsuffix2
pip install matrix-synapse==${VERSION} psycopg2-binary python-ldap matrix-synapse-ldap3 lxml publicsuffix2 git+https://github.com/matrix-org/synapse-s3-storage-provider.git@ffd3fa477321608e57d27644197e721965e0e858 matrix-synapse[oidc]
RUN curl -sL https://github.com/mikefarah/yq/releases/download/3.2.1/yq_linux_amd64 -o /usr/bin/yq && \
chmod +x /usr/bin/yq
RUN ln -sf /app/data/index.html /app/code/env/lib/python3.8/site-packages/synapse/static/index.html
RUN chown -R cloudron.cloudron /app/code
ADD homeserver.yaml.template start.sh /app/pkg/
ADD index.html homeserver.yaml.template start.sh /app/pkg/
CMD [ "/app/pkg/start.sh" ]

View File

@@ -1,8 +1,6 @@
<sso>
This app integrates with the Cloudron User Management. Cloudron users can register
themselves using any client and use Matrix Synapse.
</sso>
Account ids are created with the username and the second level domain under which the
app is installed e.g. `@$CLOUDRON-USERNAME@$CLOUDRON-APP-DOMAIN`.
**IMPORTANT: See the [docs](https://cloudron.io/documentation/apps/synapse/) on
how to complete setup and start using this app.**
For federation to work, the delegation URI `https://$CLOUDRON-APP-DOMAIN/.well-known/matrix/server`
must be configured. See the [docs](https://docs.cloudron.io/apps/synapse/#post-installation) on how to do this.

View File

@@ -1,6 +1,7 @@
# https://github.com/matrix-org/synapse/blob/master/docs/sample_config.yaml
server_name: "matrix.example.com"
# if you change this, change the auto_join_rooms below as well
server_name: "example.com"
pid_file: /run/synapse/homeserver.pid
@@ -71,6 +72,7 @@ federation_ip_range_blacklist:
- 'fc00::/7'
enable_registration: false
enable_registration_without_verification: true
registration_shared_secret: "somesecret"
allow_guest_access: false
@@ -97,8 +99,9 @@ max_upload_size: 200M
max_image_pixels: "32M"
dynamic_thumbnails: false
#auto_join_rooms:
# - "#discuss:example.com"
autocreate_auto_join_rooms: true
auto_join_rooms:
- "#discuss:example.com"
trusted_key_servers:
- server_name: "matrix.org"

68
index.html Normal file
View File

@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Synapse is running</title>
<style>
body {
font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
max-width: 40em;
margin: auto;
text-align: center;
}
h1, p {
margin: 1.5em;
}
hr {
border: none;
background-color: #ccc;
color: #ccc;
height: 1px;
width: 7em;
margin-top: 4em;
}
.logo {
display: block;
width: 12em;
margin: 4em auto;
}
</style>
</head>
<body>
<div class="logo">
<svg role="img" aria-label="[Matrix logo]" viewBox="0 0 200 85" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="parent" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="child" transform="translate(-122.000000, -6.000000)" fill="#000000" fill-rule="nonzero">
<g id="matrix-logo" transform="translate(122.000000, 6.000000)">
<polygon id="left-bracket" points="2.24708861 1.93811009 2.24708861 82.7268844 8.10278481 82.7268844 8.10278481 84.6652459 0 84.6652459 0 0 8.10278481 0 8.10278481 1.93811009"></polygon>
<path d="M24.8073418,27.5493174 L24.8073418,31.6376991 L24.924557,31.6376991 C26.0227848,30.0814294 27.3455696,28.8730642 28.8951899,28.0163743 C30.4437975,27.1611927 32.2189873,26.7318422 34.218481,26.7318422 C36.1394937,26.7318422 37.8946835,27.102622 39.4825316,27.8416679 C41.0708861,28.5819706 42.276962,29.8856073 43.1005063,31.7548404 C44.0017722,30.431345 45.2270886,29.2629486 46.7767089,28.2506569 C48.3253165,27.2388679 50.158481,26.7318422 52.2764557,26.7318422 C53.8843038,26.7318422 55.3736709,26.9269101 56.7473418,27.3162917 C58.1189873,27.7056734 59.295443,28.3285835 60.2759494,29.185022 C61.255443,30.0422147 62.02,31.1615927 62.5701266,32.5426532 C63.1187342,33.9262275 63.3936709,35.5898349 63.3936709,37.5372459 L63.3936709,57.7443688 L55.0410127,57.7441174 L55.0410127,40.6319376 C55.0410127,39.6201486 55.0020253,38.6661761 54.9232911,37.7700202 C54.8440506,36.8751211 54.6293671,36.0968606 54.2764557,35.4339817 C53.9232911,34.772611 53.403038,34.2464807 52.7177215,33.8568477 C52.0313924,33.4689743 51.0997468,33.2731523 49.9235443,33.2731523 C48.7473418,33.2731523 47.7962025,33.4983853 47.0706329,33.944578 C46.344557,34.393033 45.7764557,34.9774826 45.3650633,35.6969211 C44.9534177,36.4181193 44.6787342,37.2353431 44.5417722,38.150855 C44.4037975,39.0653615 44.3356962,39.9904257 44.3356962,40.9247908 L44.3356962,57.7443688 L35.9835443,57.7443688 L35.9835443,40.8079009 C35.9835443,39.9124991 35.963038,39.0263982 35.9253165,38.150855 C35.8853165,37.2743064 35.7192405,36.4666349 35.424557,35.7263321 C35.1303797,34.9872862 34.64,34.393033 33.9539241,33.944578 C33.2675949,33.4983853 32.2579747,33.2731523 30.9248101,33.2731523 C30.5321519,33.2731523 30.0126582,33.3608826 29.3663291,33.5365945 C28.7192405,33.7118037 28.0913924,34.0433688 27.4840506,34.5292789 C26.875443,35.0164459 26.3564557,35.7172826 25.9250633,36.6315376 C25.4934177,37.5470495 25.2779747,38.7436 25.2779747,40.2229486 L25.2779747,57.7441174 L16.9260759,57.7443688 L16.9260759,27.5493174 L24.8073418,27.5493174 Z" id="m"></path>
<path d="M68.7455696,31.9886202 C69.6075949,30.7033339 70.7060759,29.672189 72.0397468,28.8926716 C73.3724051,28.1141596 74.8716456,27.5596239 76.5387342,27.2283101 C78.2050633,26.8977505 79.8817722,26.7315908 81.5678481,26.7315908 C83.0974684,26.7315908 84.6458228,26.8391798 86.2144304,27.0525982 C87.7827848,27.2675248 89.2144304,27.6865688 90.5086076,28.3087248 C91.8025316,28.9313835 92.8610127,29.7983798 93.6848101,30.9074514 C94.5083544,32.0170257 94.92,33.4870734 94.92,35.3173431 L94.92,51.026844 C94.92,52.3913138 94.998481,53.6941963 95.1556962,54.9400165 C95.3113924,56.1865908 95.5863291,57.120956 95.9787342,57.7436147 L87.5091139,57.7436147 C87.3518987,57.276055 87.2240506,56.7996972 87.1265823,56.3125303 C87.0278481,55.8266202 86.9592405,55.3301523 86.9207595,54.8236294 C85.5873418,56.1865908 84.0182278,57.1405633 82.2156962,57.6857982 C80.4113924,58.2295248 78.5683544,58.503022 76.6860759,58.503022 C75.2346835,58.503022 73.8817722,58.3275615 72.6270886,57.9776459 C71.3718987,57.6269761 70.2744304,57.082244 69.3334177,56.3411872 C68.3921519,55.602644 67.656962,54.6680275 67.1275949,53.5390972 C66.5982278,52.410167 66.3331646,51.065556 66.3331646,49.5087835 C66.3331646,47.7961578 66.6367089,46.384178 67.2455696,45.2756092 C67.8529114,44.1652807 68.6367089,43.2799339 69.5987342,42.6173064 C70.5589873,41.9556844 71.6567089,41.4592165 72.8924051,41.1284055 C74.1273418,40.7978459 75.3721519,40.5356606 76.6270886,40.3398385 C77.8820253,40.1457761 79.116962,39.9896716 80.3329114,39.873033 C81.5483544,39.7558917 82.6270886,39.5804312 83.5681013,39.3469028 C84.5093671,39.1133743 85.2536709,38.7732624 85.8032911,38.3250587 C86.3513924,37.8773578 86.6063291,37.2252881 86.5678481,36.3680954 C86.5678481,35.4731963 86.4210127,34.7620532 86.1268354,34.2366771 C85.8329114,33.7113009 85.4405063,33.3018092 84.9506329,33.0099615 C84.4602532,32.7181138 83.8916456,32.5232972 83.2450633,32.4255119 C82.5977215,32.3294862 81.9010127,32.2797138 81.156962,32.2797138 C79.5098734,32.2797138 78.2159494,32.6303835 77.2746835,33.3312202 C76.3339241,34.0320569 75.7837975,35.2007046 75.6275949,36.8354037 L67.275443,36.8354037 C67.3924051,34.8892495 67.8817722,33.2726495 68.7455696,31.9886202 Z M85.2440506,43.6984752 C84.7149367,43.873433 84.1460759,44.0189798 83.5387342,44.1361211 C82.9306329,44.253011 82.2936709,44.350545 81.6270886,44.4279688 C80.96,44.5066495 80.2934177,44.6034294 79.6273418,44.7203193 C78.9994937,44.8362037 78.3820253,44.9933138 77.7749367,45.1871248 C77.1663291,45.3829468 76.636962,45.6451321 76.1865823,45.9759431 C75.7349367,46.3070055 75.3724051,46.7263009 75.0979747,47.2313156 C74.8232911,47.7375872 74.6863291,48.380356 74.6863291,49.1588679 C74.6863291,49.8979138 74.8232911,50.5218294 75.0979747,51.026844 C75.3724051,51.5338697 75.7455696,51.9328037 76.2159494,52.2246514 C76.6863291,52.5164991 77.2349367,52.7213706 77.8632911,52.8375064 C78.4898734,52.9546477 79.136962,53.012967 79.8037975,53.012967 C81.4506329,53.012967 82.724557,52.740978 83.6273418,52.1952404 C84.5288608,51.6507596 85.1949367,50.9981872 85.6270886,50.2382771 C86.0579747,49.4793725 86.323038,48.7119211 86.4212658,47.9321523 C86.518481,47.1536404 86.5681013,46.5304789 86.5681013,46.063422 L86.5681013,42.9677248 C86.2146835,43.2799339 85.7736709,43.5230147 85.2440506,43.6984752 Z" id="a"></path>
<path d="M116.917975,27.5493174 L116.917975,33.0976917 L110.801266,33.0976917 L110.801266,48.0492936 C110.801266,49.4502128 111.036203,50.3850807 111.507089,50.8518862 C111.976962,51.3191945 112.918734,51.5527229 114.33038,51.5527229 C114.801013,51.5527229 115.251392,51.5336183 115.683038,51.4944037 C116.114177,51.4561945 116.526076,51.3968697 116.917975,51.3194459 L116.917975,57.7438661 C116.212152,57.860756 115.427595,57.9381798 114.565316,57.9778972 C113.702785,58.0153523 112.859747,58.0357138 112.036203,58.0357138 C110.742278,58.0357138 109.516456,57.9477321 108.36,57.7722716 C107.202785,57.5975651 106.183544,57.2577046 105.301519,56.7509303 C104.418987,56.2454128 103.722785,55.5242147 103.213418,54.5898495 C102.703038,53.6562385 102.448608,52.4292716 102.448608,50.9099541 L102.448608,33.0976917 L97.3903797,33.0976917 L97.3903797,27.5493174 L102.448608,27.5493174 L102.448608,18.4967596 L110.801013,18.4967596 L110.801013,27.5493174 L116.917975,27.5493174 Z" id="t"></path>
<path d="M128.857975,27.5493174 L128.857975,33.1565138 L128.975696,33.1565138 C129.367089,32.2213945 129.896203,31.3559064 130.563544,30.557033 C131.23038,29.7596679 131.99443,29.0776844 132.857215,28.5130936 C133.719241,27.9495083 134.641266,27.5113596 135.622532,27.1988991 C136.601772,26.8879468 137.622025,26.7315908 138.681013,26.7315908 C139.229873,26.7315908 139.836962,26.8296275 140.504304,27.0239413 L140.504304,34.7336477 C140.111646,34.6552183 139.641013,34.586844 139.092658,34.5290275 C138.543291,34.4704569 138.014177,34.4410459 137.504304,34.4410459 C135.974937,34.4410459 134.681013,34.6949358 133.622785,35.2004532 C132.564051,35.7067248 131.711392,36.397255 131.064051,37.2735523 C130.417215,38.1501009 129.955443,39.1714422 129.681266,40.3398385 C129.407089,41.5074807 129.269873,42.7736624 129.269873,44.1361211 L129.269873,57.7438661 L120.917722,57.7438661 L120.917722,27.5493174 L128.857975,27.5493174 Z" id="r"></path>
<path d="M144.033165,22.8767376 L144.033165,16.0435798 L152.386076,16.0435798 L152.386076,22.8767376 L144.033165,22.8767376 Z M152.386076,27.5493174 L152.386076,57.7438661 L144.033165,57.7438661 L144.033165,27.5493174 L152.386076,27.5493174 Z" id="i"></path>
<polygon id="x" points="156.738228 27.5493174 166.266582 27.5493174 171.619494 35.4337303 176.913418 27.5493174 186.147848 27.5493174 176.148861 41.6831927 187.383544 57.7441174 177.85443 57.7441174 171.501772 48.2245028 165.148861 57.7441174 155.797468 57.7441174 166.737468 41.8589046"></polygon>
<polygon id="right-bracket" points="197.580759 82.7268844 197.580759 1.93811009 191.725063 1.93811009 191.725063 0 199.828354 0 199.828354 84.6652459 191.725063 84.6652459 191.725063 82.7268844"></polygon>
</g>
</g>
</g>
</svg>
</div>
<h1>Synapse is running</h1>
<p>Your Synapse server is ready for messages.</p>
<p>To use this server you'll need <a href="https://matrix.org/docs/projects/try-matrix-now.html#clients" target="_blank" rel="noopener noreferrer">a Matrix client</a>.
</p>
<p>Welcome to the Matrix universe :)</p>
<hr>
<p>
<small>
<a href="https://matrix.org" target="_blank" rel="noopener noreferrer">
matrix.org
</a>
&nbsp; - &nbsp;
<a href="https://cloudron.io" target="_blank" rel="noopener noreferrer">
cloudron.io
</a>
</small>
</p>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 193 KiB

View File

@@ -21,46 +21,74 @@ if [[ ! -f /app/data/configs/homeserver.yaml ]]; then
# fix logging configuration
cp /app/pkg/homeserver.yaml.template /app/data/configs/homeserver.yaml
mv /app/data/configs/${server_name}.log.config /app/data/configs/log.config
yq w -i /app/data/configs/homeserver.yaml log_config /app/data/configs/log.config
yq w -i /app/data/configs/log.config handlers.file.filename /run/synapse/homeserver.log
yq eval -i ".log_config=\"/app/data/configs/log.config\"" /app/data/configs/homeserver.yaml
# delete default file and buffer handlers
yq eval -i "del(.handlers.file)" /app/data/configs/log.config
yq eval -i "del(.handlers.buffer)" /app/data/configs/log.config
mv /app/data/configs/${server_name}.signing.key /app/data/configs/signing.key
yq w -i /app/data/configs/homeserver.yaml server_name "${server_name}"
yq w -i /app/data/configs/homeserver.yaml registration_shared_secret "$(pwgen -1s 64)"
yq eval -i ".server_name=\"${server_name}\"" /app/data/configs/homeserver.yaml
yq eval -i ".registration_shared_secret=\"$(pwgen -1s 64)\"" /app/data/configs/homeserver.yaml
yq eval -i ".auto_join_rooms=[]" /app/data/configs/homeserver.yaml
yq eval -i ".auto_join_rooms[0]=\"#discuss:${server_name}\"" /app/data/configs/homeserver.yaml
if [[ -z "${CLOUDRON_LDAP_SERVER:-}" ]]; then
yq eval -i ".enable_registration=true" /app/data/configs/homeserver.yaml
yq eval -i ".password_config.pepper=\"$(pwgen -1s 12)\"" /app/data/configs/homeserver.yaml
# just setting enabled to false is not enough. see https://github.com/matrix-org/matrix-synapse-ldap3/issues/123
yq eval -i "del(.password_providers)" /app/data/configs/homeserver.yaml
fi
fi
echo "==> Ensure we log to console"
yq eval -i ".root.handlers=[\"console\"]" /app/data/configs/log.config
yq eval -i ".loggers.twisted.handlers=[\"console\"]" /app/data/configs/log.config
[[ ! -f /app/data/index.html ]] && cp /app/pkg/index.html /app/data/index.html
echo "==> Configuring synapse"
yq w -i /app/data/configs/homeserver.yaml public_baseurl "${CLOUDRON_APP_ORIGIN}"
yq eval -i ".public_baseurl=\"${CLOUDRON_APP_ORIGIN}\"" /app/data/configs/homeserver.yaml
# database
yq w -i /app/data/configs/homeserver.yaml database.args.user "${CLOUDRON_POSTGRESQL_USERNAME}"
yq w -i /app/data/configs/homeserver.yaml database.args.password "${CLOUDRON_POSTGRESQL_PASSWORD}"
yq w -i /app/data/configs/homeserver.yaml database.args.database "${CLOUDRON_POSTGRESQL_DATABASE}"
yq w -i /app/data/configs/homeserver.yaml database.args.host "${CLOUDRON_POSTGRESQL_HOST}"
yq eval -i ".database.args.user=\"${CLOUDRON_POSTGRESQL_USERNAME}\"" /app/data/configs/homeserver.yaml
yq eval -i ".database.args.password=\"${CLOUDRON_POSTGRESQL_PASSWORD}\"" /app/data/configs/homeserver.yaml
yq eval -i ".database.args.database=\"${CLOUDRON_POSTGRESQL_DATABASE}\"" /app/data/configs/homeserver.yaml
yq eval -i ".database.args.host=\"${CLOUDRON_POSTGRESQL_HOST}\"" /app/data/configs/homeserver.yaml
# email
yq w -i /app/data/configs/homeserver.yaml email.smtp_host "${CLOUDRON_MAIL_SMTP_SERVER}"
yq w -i /app/data/configs/homeserver.yaml email.smtp_port "${CLOUDRON_MAIL_SMTP_PORT}"
yq w -i /app/data/configs/homeserver.yaml email.smtp_user "${CLOUDRON_MAIL_SMTP_USERNAME}"
yq w -i /app/data/configs/homeserver.yaml email.smtp_pass "${CLOUDRON_MAIL_SMTP_PASSWORD}"
yq w -i /app/data/configs/homeserver.yaml email.notif_from "%(app)s <${CLOUDRON_MAIL_FROM}>"
yq eval -i ".email.smtp_host=\"${CLOUDRON_MAIL_SMTP_SERVER}\"" /app/data/configs/homeserver.yaml
yq eval -i ".email.smtp_port=${CLOUDRON_MAIL_SMTP_PORT}" /app/data/configs/homeserver.yaml
yq eval -i ".email.smtp_user=\"${CLOUDRON_MAIL_SMTP_USERNAME}\"" /app/data/configs/homeserver.yaml
yq eval -i ".email.smtp_pass=\"${CLOUDRON_MAIL_SMTP_PASSWORD}\"" /app/data/configs/homeserver.yaml
yq eval -i ".email.notif_from=\"${CLOUDRON_MAIL_FROM_DISPLAY_NAME:-Matrix} <${CLOUDRON_MAIL_FROM}>\"" /app/data/configs/homeserver.yaml
# ldap
yq w -i /app/data/configs/homeserver.yaml 'password_providers[0].config.uri' "${CLOUDRON_LDAP_URL}"
yq w -i /app/data/configs/homeserver.yaml 'password_providers[0].config.start_tls' false
yq w -i /app/data/configs/homeserver.yaml 'password_providers[0].config.base' "${CLOUDRON_LDAP_USERS_BASE_DN}"
yq w -i /app/data/configs/homeserver.yaml 'password_providers[0].config.bind_dn' "${CLOUDRON_LDAP_BIND_DN}"
yq w -i /app/data/configs/homeserver.yaml 'password_providers[0].config.bind_password' "${CLOUDRON_LDAP_BIND_PASSWORD}"
yq w -i /app/data/configs/homeserver.yaml 'password_providers[0].config.filter' "(objectClass=user)"
if [[ -n "${CLOUDRON_LDAP_SERVER:-}" ]]; then
yq eval -i ".password_providers[0].config.uri=\"${CLOUDRON_LDAP_URL}\"" /app/data/configs/homeserver.yaml
yq eval -i ".password_providers[0].config.start_tls=false" /app/data/configs/homeserver.yaml
yq eval -i ".password_providers[0].config.base=\"${CLOUDRON_LDAP_USERS_BASE_DN}\"" /app/data/configs/homeserver.yaml
yq eval -i ".password_providers[0].config.bind_dn=\"${CLOUDRON_LDAP_BIND_DN}\"" /app/data/configs/homeserver.yaml
yq eval -i ".password_providers[0].config.bind_password=\"${CLOUDRON_LDAP_BIND_PASSWORD}\"" /app/data/configs/homeserver.yaml
yq eval -i ".password_providers[0].config.filter=\"(objectClass=user)\"" /app/data/configs/homeserver.yaml
else
yq eval -i ".password_config.localdb_enabled=true" /app/data/configs/homeserver.yaml
# just setting enabled to false is not enough. see https://github.com/matrix-org/matrix-synapse-ldap3/issues/123
yq eval -i "del(.password_providers)" /app/data/configs/homeserver.yaml
fi
# turn (https://github.com/matrix-org/synapse/blob/master/docs/turn-howto.md#synapse-setup)
yq w -i /app/data/configs/homeserver.yaml turn_uris "[\"turn:${CLOUDRON_TURN_SERVER}:${CLOUDRON_TURN_TLS_PORT}?transport=udp\", \"turn:${CLOUDRON_TURN_SERVER}:${CLOUDRON_TURN_TLS_PORT}?transport=tcp\"]"
yq w -i /app/data/configs/homeserver.yaml turn_shared_secret "${CLOUDRON_TURN_SECRET}"
yq eval -i ".turn_uris=[]" /app/data/configs/homeserver.yaml
yq eval -i ".turn_uris[0]=\"turn:${CLOUDRON_TURN_SERVER}:${CLOUDRON_TURN_TLS_PORT}?transport=udp\"" /app/data/configs/homeserver.yaml
yq eval -i ".turn_uris[1]=\"turn:${CLOUDRON_TURN_SERVER}:${CLOUDRON_TURN_TLS_PORT}?transport=tcp\"" /app/data/configs/homeserver.yaml
yq eval -i ".turn_shared_secret=\"${CLOUDRON_TURN_SECRET}\"" /app/data/configs/homeserver.yaml
# fix permissions
echo "==> Fixing permissions"
chown -R cloudron.cloudron /app/data /run/synapse
echo "==> Starting synapse"
gosu cloudron:cloudron python3 -m synapse.app.homeserver --config-path /app/data/configs/homeserver.yaml
gosu cloudron:cloudron python3 -m synapse.app.homeserver --config-path /app/data/configs/homeserver.yaml -n

2549
test/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

19
test/package.json Normal file
View File

@@ -0,0 +1,19 @@
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"chromedriver": "^107.0.3",
"expect.js": "^0.3.1",
"mocha": "^10.1.0",
"selenium-server-standalone-jar": "^3.141.59",
"selenium-webdriver": "^4.6.0",
"superagent": "^8.0.3"
}
}

214
test/test.js Normal file
View File

@@ -0,0 +1,214 @@
#!/usr/bin/env node
/* jshint esversion: 8 */
/* global describe */
/* global before */
/* global after */
/* global it */
/* global xit */
'use strict';
require('chromedriver');
var execSync = require('child_process').execSync,
expect = require('expect.js'),
path = require('path'),
superagent = require('superagent'),
{ Builder, By, Key, until } = require('selenium-webdriver'),
{ Options } = require('selenium-webdriver/chrome');
describe('Application life cycle test', function () {
this.timeout(0);
const LOCATION = 'test';
const TEST_TIMEOUT = 10000;
const EXEC_ARGS = { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' };
const username = process.env.USERNAME;
const password = process.env.PASSWORD;
var app, browser;
var token, roomId;
before(function () {
if (!process.env.USERNAME) throw new Error('USERNAME env var not set');
if (!process.env.PASSWORD) throw new Error('PASSWORD env var not set');
browser = new Builder().forBrowser('chrome').setChromeOptions(new Options().windowSize({ width: 1280, height: 1024 })).build();
});
after(function () {
browser.quit();
});
function getAppInfo() {
var inspect = JSON.parse(execSync('cloudron inspect'));
app = inspect.apps.filter(function (a) { return a.location.indexOf(LOCATION) === 0; })[0];
expect(app).to.be.an('object');
}
async function checkLandingPage() {
await browser.get(`https://${app.fqdn}`);
await browser.wait(until.elementLocated(By.xpath('//h1[contains(text(),"Synapse is running")]')), TEST_TIMEOUT);
}
// https://matrix.org/docs/spec/client_server/latest#user-interactive-api-in-the-rest-api
function registerUser(done) {
superagent.post('https://' + app.fqdn + '/_matrix/client/r0/register?kind=user').send({
username: username,
password: password,
inhibit_login: false
}).end(function (error, result) {
// we will first get a 401
let session = result.body.session;
console.log('session is', session);
if (result.statusCode !== 401) return done(new Error('Expecting a 401 ' + result.statusCode));
superagent.post('https://' + app.fqdn + '/_matrix/client/r0/register?kind=user').send({
auth: {
type: 'm.login.dummy',
session: session
},
username: username,
password: password,
inhibit_login: false
}).end(function (error, result) {
if (error) return done(error);
if (result.statusCode !== 200) return done(new Error('Login failed with status ' + result.statusCode));
console.log('registered user with id', result.body.user_id);
done();
});
});
}
// https://matrix.org/docs/spec/client_server/latest
function checkLogin(done) {
superagent.post('https://' + app.fqdn + '/_matrix/client/r0/login').send({
type: 'm.login.password',
user: username,
password: password
}).end(function (error, result) {
if (error) return done(error);
if (result.statusCode !== 200) return done(new Error('Login failed with status ' + result.statusCode));
token = result.body.access_token;
if (!token) return done(new Error('No token'));
done();
});
}
function checkAutoJoinRoom(done) {
superagent.get('https://' + app.fqdn + '/_matrix/client/r0/joined_rooms?access_token=' + token).end(function (error, result) {
if (error) return done(error);
if (result.statusCode !== 200) return done(new Error('Room listing failed with status ' + result.statusCode));
if (result.body.joined_rooms.length !== 1) return done(new Error('User must have auto-joined discuss channel:' + result.statusCode));
done();
});
}
function createRoom(done) {
superagent.post('https://' + app.fqdn + '/_matrix/client/r0/createRoom?access_token=' + token).send({
room_alias_name: 'general'
}).end(function (error, result) {
if (error) return done(error);
if (result.statusCode !== 200) return done(new Error('Room creation failed with status ' + result.statusCode));
roomId = result.body.room_id;
if (!roomId) return done(new Error('No room id'));
done();
});
}
function checkRoom(done) {
superagent.get('https://' + app.fqdn + '/_matrix/client/r0/joined_rooms?access_token=' + token).end(function (error, result) {
if (error) return done(error);
if (result.statusCode !== 200) return done(new Error('Room listing failed with status ' + result.statusCode));
if (!result.body.joined_rooms.includes(roomId)) return done(new Error('No room in list: ' + JSON.stringify(result.body)));
done();
});
}
xit('build app', function () { execSync('cloudron build', EXEC_ARGS); });
// No SSO
it('install app (no sso)', function () { execSync('cloudron install --no-sso --location ' + LOCATION, EXEC_ARGS); });
it('can get app information', getAppInfo);
it('check landing page', checkLandingPage);
it('can register new user', registerUser);
it('can login', checkLogin);
it('check autojoin', checkAutoJoinRoom);
it('create room', createRoom);
it('check room', checkRoom);
it('uninstall app', function () { execSync('cloudron uninstall --app ' + app.id, EXEC_ARGS); });
// SSO
it('install app', function () { execSync('cloudron install --location ' + LOCATION, EXEC_ARGS); });
it('can get app information', getAppInfo);
it('check landing page', checkLandingPage);
it('can login', checkLogin);
it('check autojoin', checkAutoJoinRoom);
it('create room', createRoom);
it('check room', checkRoom);
it('can restart app', function () { execSync('cloudron restart'); });
it('check landing page', checkLandingPage);
it('check room', checkRoom);
it('backup app', function () { execSync('cloudron backup create --app ' + app.id, EXEC_ARGS); });
it('check landing page', checkLandingPage);
it('check room', checkRoom);
it('restore app', function () {
const backups = JSON.parse(execSync('cloudron backup list --raw'));
execSync('cloudron uninstall --app ' + app.id, EXEC_ARGS);
execSync('cloudron install --location ' + LOCATION, EXEC_ARGS);
getAppInfo();
execSync(`cloudron restore --backup ${backups[0].id} --app ${app.id}`, EXEC_ARGS);
});
it('check landing page', checkLandingPage);
it('check room', checkRoom);
it('move to different location', function () {
browser.manage().deleteAllCookies();
execSync('cloudron configure --location ' + LOCATION + '2', EXEC_ARGS);
getAppInfo();
});
it('check landing page', checkLandingPage);
it('check room', checkRoom);
it('uninstall app', function () { execSync('cloudron uninstall --app ' + app.id, EXEC_ARGS); });
// test update
it('can install app', function () { execSync('cloudron install --appstore-id org.matrix.synapse --location ' + LOCATION, EXEC_ARGS); });
it('can get app information', getAppInfo);
it('check landing page', checkLandingPage);
it('can login', checkLogin);
it('create room', createRoom);
it('check room', checkRoom);
it('can update', function () { execSync('cloudron update --app ' + LOCATION, EXEC_ARGS); });
it('check landing page', checkLandingPage);
it('check room', checkRoom);
it('uninstall app', function () { execSync('cloudron uninstall --app ' + app.id, EXEC_ARGS); });
});