Enable Matrix message thread support.

This change enables experimental message threading support and upgrades
Synapse and Element to their latest stable versions.

Change-Id: I68334982168ffdac98a1602a157be727b04e58d6
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1286
Reviewed-by: informatic <informatic@hackerspace.pl>
Reviewed-by: q3k <q3k@hackerspace.pl>
diff --git a/app/matrix/lib/synapse.libsonnet b/app/matrix/lib/synapse.libsonnet
index 0bd4b74..3412715 100644
--- a/app/matrix/lib/synapse.libsonnet
+++ b/app/matrix/lib/synapse.libsonnet
@@ -252,32 +252,10 @@
         # Following paths can be handled by generic workers.
         # See: https://github.com/matrix-org/synapse/blob/master/docs/workers.md
         paths:: [
-            "/_matrix/client/(v2_alpha|r0)/sync",
-            "/_matrix/client/(api/v1|v2_alpha|r0)/events",
-            "/_matrix/client/(api/v1|r0)/initialSync",
-            "/_matrix/client/(api/v1|r0)/rooms/[^/]+/initialSync",
-            "/_matrix/client/(api/v1|r0|unstable)/publicRooms",
-            "/_matrix/client/(api/v1|r0|unstable)/rooms/.*/joined_members",
-            "/_matrix/client/(api/v1|r0|unstable)/rooms/.*/context/.*",
-            "/_matrix/client/(api/v1|r0|unstable)/rooms/.*/members",
-            "/_matrix/client/(api/v1|r0|unstable)/rooms/.*/state",
-            "/_matrix/client/(api/v1|r0|unstable)/account/3pid",
-            "/_matrix/client/(api/v1|r0|unstable)/keys/query",
-            "/_matrix/client/(api/v1|r0|unstable)/keys/changes",
-            "/_matrix/client/versions",
-            "/_matrix/client/(api/v1|r0|unstable)/voip/turnServer",
-            "/_matrix/client/(api/v1|r0|unstable)/joined_groups",
-            "/_matrix/client/(api/v1|r0|unstable)/publicised_groups",
-            "/_matrix/client/(api/v1|r0|unstable)/publicised_groups/",
-            # Blocked by https://github.com/matrix-org/synapse/issues/8966
-            # "/_matrix/client/(api/v1|r0|unstable)/login",
-            # "/_matrix/client/(r0|unstable)/register",
-            # "/_matrix/client/(r0|unstable)/auth/.*/fallback/web",
-            "/_matrix/client/(api/v1|r0|unstable)/rooms/.*/send",
-            "/_matrix/client/(api/v1|r0|unstable)/rooms/.*/state/",
-            "/_matrix/client/(api/v1|r0|unstable)/rooms/.*/(join|invite|leave|ban|unban|kick)",
-            "/_matrix/client/(api/v1|r0|unstable)/join/",
-            "/_matrix/client/(api/v1|r0|unstable)/profile/",
+            "/_matrix/client/(r0|v3)/sync",
+            "/_matrix/client/(api/v1|r0|v3)/events",
+            "/_matrix/client/(api/v1|r0|v3)/initialSync",
+            "/_matrix/client/(api/v1|r0|v3)/rooms/[^/]+/initialSync",
             "/_matrix/federation/v1/event/",
             "/_matrix/federation/v1/state/",
             "/_matrix/federation/v1/state_ids/",
@@ -287,19 +265,53 @@
             "/_matrix/federation/v1/query/",
             "/_matrix/federation/v1/make_join/",
             "/_matrix/federation/v1/make_leave/",
-            "/_matrix/federation/v1/send_join/",
-            "/_matrix/federation/v2/send_join/",
-            "/_matrix/federation/v1/send_leave/",
-            "/_matrix/federation/v2/send_leave/",
-            "/_matrix/federation/v1/invite/",
-            "/_matrix/federation/v2/invite/",
-            "/_matrix/federation/v1/query_auth/",
+            "/_matrix/federation/(v1|v2)/send_join/",
+            "/_matrix/federation/(v1|v2)/send_leave/",
+            "/_matrix/federation/(v1|v2)/invite/",
             "/_matrix/federation/v1/event_auth/",
             "/_matrix/federation/v1/exchange_third_party_invite/",
             "/_matrix/federation/v1/user/devices/",
             "/_matrix/federation/v1/get_groups_publicised",
             "/_matrix/key/v2/query",
+            "/_matrix/federation/(v1|unstable/org.matrix.msc2946)/hierarchy/",
             "/_matrix/federation/v1/send/",
+            "/_matrix/client/(api/v1|r0|v3|unstable)/createRoom",
+            "/_matrix/client/(api/v1|r0|v3|unstable)/publicRooms",
+            "/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/joined_members",
+            "/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/context/.*",
+            "/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/members",
+            "/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/state",
+            "/_matrix/client/(v1|unstable/org.matrix.msc2946)/rooms/.*/hierarchy",
+            "/_matrix/client/unstable/im.nheko.summary/rooms/.*/summary",
+            "/_matrix/client/(r0|v3|unstable)/account/3pid",
+            "/_matrix/client/(r0|v3|unstable)/devices",
+            "/_matrix/client/versions",
+            "/_matrix/client/(api/v1|r0|v3|unstable)/voip/turnServer",
+            "/_matrix/client/(r0|v3|unstable)/joined_groups",
+            "/_matrix/client/(r0|v3|unstable)/publicised_groups",
+            "/_matrix/client/(r0|v3|unstable)/publicised_groups/",
+            "/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/event/",
+            "/_matrix/client/(api/v1|r0|v3|unstable)/joined_rooms",
+            "/_matrix/client/(api/v1|r0|v3|unstable)/search",
+            "/_matrix/client/(r0|v3|unstable)/keys/query",
+            "/_matrix/client/(r0|v3|unstable)/keys/changes",
+            "/_matrix/client/(r0|v3|unstable)/keys/claim",
+            "/_matrix/client/(r0|v3|unstable)/room_keys/",
+            "/_matrix/client/(api/v1|r0|v3|unstable)/login",
+            "/_matrix/client/(r0|v3|unstable)/register",
+            "/_matrix/client/v1/register/m.login.registration_token/validity",
+            "/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/redact",
+            "/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/send",
+            "/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/state/",
+            "/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/(join|invite|leave|ban|unban|kick)",
+            "/_matrix/client/(api/v1|r0|v3|unstable)/join/",
+            "/_matrix/client/(api/v1|r0|v3|unstable)/profile/",
+            "/_matrix/client/(r0|v3|unstable)/sendToDevice/",
+            "/_matrix/client/(r0|v3|unstable)/.*/tags",
+            "/_matrix/client/(r0|v3|unstable)/.*/account_data",
+            "/_matrix/client/(r0|v3|unstable)/rooms/.*/receipt",
+            "/_matrix/client/(r0|v3|unstable)/rooms/.*/read_markers",
+            "/_matrix/client/(api/v1|r0|v3|unstable)/presence/",
         ],
     },