This commit is contained in:
MadLittleMods
2026-09-15 17:13:07 +00:00
parent e8d70adbc3
commit 39f561bd87
114 changed files with 383 additions and 137 deletions
+1 -1
View File
@@ -38,7 +38,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+5 -3
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
@@ -222,13 +222,15 @@ for a server admin: see <a href="../usage/administration/admin_api/">Admin API</
<p><strong>Query parameters:</strong></p>
<ul>
<li>
<p><code>action_name</code>: string - Is optional. Returns only the scheduled tasks with the given action name.</p>
<p><code>action_name</code>: string - Is optional. Returns only the scheduled tasks with the given action name.
May be given multiple times to return tasks matching any of the given action names.</p>
</li>
<li>
<p><code>resource_id</code>: string - Is optional. Returns only the scheduled tasks with the given resource id.</p>
</li>
<li>
<p><code>status</code>: string - Is optional. Returns only the scheduled tasks matching the given status, one of</p>
<p><code>status</code>: string - Is optional. Returns only the scheduled tasks matching the given status.
May be given multiple times to return tasks matching any of the given statuses. The status must be one of</p>
<ul>
<li>“scheduled” - Task is scheduled but not active</li>
<li>“active” - Task is active and probably running, and if not will be run on next scheduler loop run</li>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../../toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../../toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../../toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+121 -10
View File
@@ -38,7 +38,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
@@ -988,8 +988,10 @@ has already occurred, and such duplicate rows will need to be manually removed.<
<a href="https://nginx.org/en/docs/http/ngx_http_proxy_module.html">nginx</a>,
<a href="https://httpd.apache.org/docs/current/mod/mod_proxy_http.html">Apache</a>,
<a href="https://caddyserver.com/docs/quick-starts/reverse-proxy">Caddy</a>,
<a href="https://www.haproxy.org/">HAProxy</a> or
<a href="https://man.openbsd.org/relayd.8">relayd</a> in front of Synapse.
<a href="https://www.haproxy.org/">HAProxy</a>,
<a href="https://man.openbsd.org/relayd.8">relayd</a> or
<a href="https://www.lighttpd.net/">lighttpd</a>
in front of Synapse.
This has the advantage of being able to expose the default HTTPS port (443) to Matrix
clients without requiring Synapse to bind to a privileged port (port numbers less than
1024), avoiding the need for <code>CAP_NET_BIND_SERVICE</code> or running as root.</p>
@@ -1254,6 +1256,84 @@ relay "matrix_federation" {
forward to &lt;matrixserver&gt; port 8008 check tcp
}
</code></pre>
<h3 id="lighttpd"><a class="header" href="#lighttpd">lighttpd</a></h3>
<pre><code class="language-conf">server.modules = (
"mod_rewrite",
"mod_redirect",
"mod_access",
"mod_setenv",
"mod_openssl",
"mod_proxy",
"mod_accesslog"
)
server.username = "lighttpd"
server.groupname = "lighttpd"
# We set this to "disable" and use IPv6 `[::]` explicitly below,
# in order to listen on all incoming IPv6 addresses.
#
# If you only want to listen on specific IPv6 addresses, set this
# to "enable" and specify said addresses below.
server.use-ipv6 = "disable"
ssl.pemfile = "/etc/lighttpd/cert+privkey.pem"
ssl.ca-file = "/etc/lighttpd/fullchain.pem"
# redirect HTTP traffic to HTTPS, same for IPv6 below
$SERVER["socket"] == "0.0.0.0:80" {
url.redirect = (
"" =&gt; "https://${url.authority.noport}${url.path}${qsa}"
)
}
$SERVER["socket"] == "0.0.0.0:443" { ssl.engine = "enable" }
$SERVER["socket"] == "0.0.0.0:8448" { ssl.engine = "enable" }
$SERVER["socket"] == "[::]:80" {
url.redirect = (
"" =&gt; "https://${url.authority.noport}${url.path}${qsa}"
)
}
$SERVER["socket"] == "[::]:443" { ssl.engine = "enable" }
$SERVER["socket"] == "[::]:8448" { ssl.engine = "enable" }
# both lighttpd and synapse need permissions for socket r/w
$HTTP["url"] =~ "(/_matrix|_synapse/admin|/_synapse/client)" {
proxy.balance = "hash"
proxy.server = (
"" =&gt; (
"backend-socket" =&gt; (
"host" =&gt; "/var/lib/synapse/main_public.sock",
"port" =&gt; 0
)
)
)
proxy.forwarded = (
"for" =&gt; 1,
"proto" =&gt; 1,
"host" =&gt; 1,
)
}
# protect admin access IPv6 ULA only
$HTTP["remoteip"] !="fd00::/8" {
$HTTP["url"] =~ "^/_synapse/admin/" {
url.access-deny = ( "" )
}
}
</code></pre>
<p><a href="#delegation-of-incoming-federation-traffic">Delegation</a> example:</p>
<pre><code class="language-conf">url.rewrite-once = (
"^/\.well-known/matrix/client$" =&gt; "/.well-known/matrix/client.json",
"^/\.well-known/matrix/server$" =&gt; "/.well-known/matrix/server.json"
)
# This condition intentionally matches the post-rewrite URLs.
$HTTP["url"] =~ "^/\.well-known/matrix/(client|server)\.json$" {
mimetype.assign = ( ".json" =&gt; "application/json" )
setenv.set-response-header = ( "Access-Control-Allow-Origin" =&gt; "*" )
}
</code></pre>
<h2 id="health-check-endpoint"><a class="header" href="#health-check-endpoint">Health check endpoint</a></h2>
<p>Synapse exposes a health check endpoint for use by reverse proxies.
Each configured HTTP listener has a <code>/health</code> endpoint which always returns
@@ -2012,7 +2092,7 @@ v1.61.0.</p>
<tr><td>v1.85.0 v1.91.2</td><td>v1.83.0</td></tr>
<tr><td>v1.92.0 v1.97.0</td><td>v1.90.0</td></tr>
<tr><td>v1.98.0 v1.105.0</td><td>v1.96.0</td></tr>
<tr><td>v1.105.1 v1.159.0</td><td>v1.100.0</td></tr>
<tr><td>v1.105.1 v1.161.0</td><td>v1.100.0</td></tr>
</tbody>
</table>
</div>
@@ -2032,6 +2112,17 @@ database migrations are complete. You should wait until background updates from
each upgrade are complete before moving on to the next upgrade, to avoid
stacking them up. You can monitor the currently running background updates with
<a href="#status">the Admin API</a>.</p>
<h1 id="upgrading-to-v11610"><a class="header" href="#upgrading-to-v11610">Upgrading to v1.161.0</a></h1>
<h2 id="deprecation-of-matrix_rtclivekit_service_url"><a class="header" href="#deprecation-of-matrix_rtclivekit_service_url">Deprecation of <code>matrix_rtc.livekit_service_url</code></a></h2>
<p>When configuring the MatrixRTC LiveKit transport, the <code>livekit_service_url</code> is now
deprecated but should continue to be listed to ensure backwards compatibility with
older clients. A new sibling <code>url</code> config property is added that should be set to
your SFUs WebSocket URL. Clients that support <code>url</code> will use the Client-Server API
to (indirectly) interact with the LiveKit authorization service. The service needs
to be set up as an application service in order to support these endpoints. See
https://github.com/element-hq/lk-jwt-service and
https://element-hq.github.io/synapse/v1.161/usage/configuration/config_documentation.html#matrix_rtc
for further details.</p>
<h1 id="upgrading-to-v11590"><a class="header" href="#upgrading-to-v11590">Upgrading to v1.159.0</a></h1>
<h2 id="change-of-signing-key-expiry-date-for-the-debianubuntu-package-repository-2026"><a class="header" href="#change-of-signing-key-expiry-date-for-the-debianubuntu-package-repository-2026">Change of signing key expiry date for the Debian/Ubuntu package repository (2026)</a></h2>
<p>Administrators using the Debian/Ubuntu packages from <code>packages.matrix.org</code>,
@@ -4475,7 +4566,7 @@ shown.</p>
<hr>
<h3 id="include_profile_updates_in_sync"><a class="header" href="#include_profile_updates_in_sync"><code>include_profile_updates_in_sync</code></a></h3>
<p><em>(boolean)</em> Use this option to include updates of other users profiles in sync responses, for users who share rooms.
Requires an <a href="https://github.com/matrix-org/matrix-spec-proposals/pull/4429">MSC4429</a> compatible client, and is currently limited to legacy sync and local users only.
For legacy sync clients, requires <a href="https://github.com/matrix-org/matrix-spec-proposals/pull/4429">MSC4429</a> compatibility. For sliding sync clients, requires <a href="https://github.com/matrix-org/matrix-spec-proposals/pull/4262">MSC4262</a> compatibility. Note, profile updates via sync are currently limited to local users only.
This feature is under development and should be used with caution on busy servers or servers which depend on <code>limit_profile_requests_to_users_who_share_rooms</code> for ensuring profile information doesnt leak across rooms. Defaults to <code>false</code>.</p>
<p>Example configuration:</p>
<pre><code class="language-yaml">include_profile_updates_in_sync: true
@@ -5122,6 +5213,15 @@ For more details, see the <a href="#using-a-forward-proxy-with-synapse">forward
<pre><code class="language-yaml">redaction_retention_period: 28d
</code></pre>
<hr>
<h3 id="redaction_allowed_period"><a class="header" href="#redaction_allowed_period"><code>redaction_allowed_period</code></a></h3>
<p>How long after an <code>m.room.message</code> was sent a local user is still allowed to redact it. If a local user tries to redact a <code>m.room.message</code> older than this period Synapse responds with <code>403 M_FORBIDDEN</code> and does not redact the event.</p>
<p>Only applies to <code>m.room.message</code> events redacted by local users. Redactions of other event types and redactions received over federation are unaffected. When the target of the redaction is an edit (<code>m.replace</code>), the age and type are taken from the original event and not the edit.</p>
<p>Set to <code>null</code> (the default) to disable, allowing events to be redacted at any time.</p>
<p>Defaults to <code>null</code>.</p>
<p>Example configuration:</p>
<pre><code class="language-yaml">redaction_allowed_period: 7d
</code></pre>
<hr>
<h3 id="forgotten_room_retention_period"><a class="header" href="#forgotten_room_retention_period"><code>forgotten_room_retention_period</code></a></h3>
<p>How long to keep locally forgotten rooms before purging them from the DB. A value of <code>null</code> means its disabled. Defaults to <code>null</code>.</p>
<p>Example configuration:</p>
@@ -5285,9 +5385,11 @@ For more details, see the <a href="#using-a-forward-proxy-with-synapse">forward
<p>Options related to federation.</p>
<hr>
<h3 id="federation_domain_whitelist"><a class="header" href="#federation_domain_whitelist"><code>federation_domain_whitelist</code></a></h3>
<p><em>(array)</em> Restrict federation to the given whitelist of domains. N.B. we recommend also firewalling your federation listener to limit inbound federation traffic as early as possible, rather than relying purely on this application-layer restriction. If not specified, the default is to whitelist everything.</p>
<p><em>(null|array)</em> Restrict federation to the given whitelist of domains. N.B. we recommend also firewalling your federation listener to limit inbound federation traffic as early as possible, rather than relying purely on this application-layer restriction.</p>
<p>If specified as an empty list (<code>[]</code>), federation will be denied with all servers. Specifying an empty list (<code>[]</code>) here is the recommended way of disabling federation.</p>
<p>If unset or null, allows federation with all servers.</p>
<p>Note: this does not stop a server from joining rooms that servers not on the whitelist are in. As such, this option is really only useful to establish a “private federation”, where a group of servers all whitelist each other and have the same whitelist.</p>
<p>Defaults to <code>[]</code>.</p>
<p>Defaults to <code>null</code>.</p>
<p>Example configuration:</p>
<pre><code class="language-yaml">federation_domain_whitelist:
- lon.example.com
@@ -6495,7 +6597,12 @@ These limits are applied in addition to the <code>max_upload_size</code> limit a
<p><code>type</code> (string): The type of transport to use to connect to the selective forwarding unit (SFU).</p>
</li>
<li>
<p><code>livekit_service_url</code> (string): The base URL of the LiveKit service. Should only be used with LiveKit-based transports.</p>
<p><code>url</code> (string): The WebSocket URL of the LiveKit SFU. If type is “livekit”, either this or <code>livekit_service_url</code> is required.</p>
<p>Clients that support <code>url</code> will use the Client-Server API to (indirectly) interact with the LiveKit authorization service. The service needs to be set up as an application service in order to support these endpoints. See https://github.com/element-hq/lk-jwt-service for further details.</p>
</li>
<li>
<p><code>livekit_service_url</code> (string): Deprecated. The HTTP URL of the LiveKit authorization service. If type is “livekit”, either this or <code>url</code> is required.</p>
<p>Clients that dont support <code>url</code> will use <code>livekit_service_url</code> to directly interact with the LiveKit authorization service. This mode of operation is deprecated and should only be used for backwards compatibility.</p>
</li>
</ul>
</li>
@@ -6504,6 +6611,7 @@ These limits are applied in addition to the <code>max_upload_size</code> limit a
<pre><code class="language-yaml">matrix_rtc:
transports:
- type: livekit
url: wss://livekit.example.com
livekit_service_url: https://matrix-rtc.example.com/livekit/jwt
</code></pre>
<hr>
@@ -7644,6 +7752,7 @@ Its recommended to leave this option as it is. We expect to remove this optio
<li>“off”: this option will take no effect</li>
</ul>
<p>Note that this option will only affect rooms created after it is set. It will also not affect rooms created by other servers.</p>
<p>A client may supply its own <code>m.room.encryption</code> event in the <code>initial_state</code> of its <code>/createRoom</code> request. If that event is valid (it specifies an <code>algorithm</code> as a string), it takes precedence and this option will not overwrite it, allowing the client to, for example, choose a different encryption algorithm. An empty or otherwise invalid <code>m.room.encryption</code> event does not disable forced encryption: the default will still be applied on top of it.</p>
<p>Defaults to <code>"off"</code>.</p>
<p>Example configuration:</p>
<pre><code class="language-yaml">encryption_enabled_by_default_for_room_type: invite
@@ -15476,13 +15585,15 @@ for a server admin: see <a href="usage/administration/admin_api">Admin API</a>.<
<p><strong>Query parameters:</strong></p>
<ul>
<li>
<p><code>action_name</code>: string - Is optional. Returns only the scheduled tasks with the given action name.</p>
<p><code>action_name</code>: string - Is optional. Returns only the scheduled tasks with the given action name.
May be given multiple times to return tasks matching any of the given action names.</p>
</li>
<li>
<p><code>resource_id</code>: string - Is optional. Returns only the scheduled tasks with the given resource id.</p>
</li>
<li>
<p><code>status</code>: string - Is optional. Returns only the scheduled tasks matching the given status, one of</p>
<p><code>status</code>: string - Is optional. Returns only the scheduled tasks matching the given status.
May be given multiple times to return tasks matching any of the given statuses. The status must be one of</p>
<ul>
<li>“scheduled” - Task is scheduled but not active</li>
<li>“active” - Task is active and probably running, and if not will be run on next scheduler loop run</li>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+83 -3
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
@@ -202,8 +202,10 @@
<a href="https://nginx.org/en/docs/http/ngx_http_proxy_module.html">nginx</a>,
<a href="https://httpd.apache.org/docs/current/mod/mod_proxy_http.html">Apache</a>,
<a href="https://caddyserver.com/docs/quick-starts/reverse-proxy">Caddy</a>,
<a href="https://www.haproxy.org/">HAProxy</a> or
<a href="https://man.openbsd.org/relayd.8">relayd</a> in front of Synapse.
<a href="https://www.haproxy.org/">HAProxy</a>,
<a href="https://man.openbsd.org/relayd.8">relayd</a> or
<a href="https://www.lighttpd.net/">lighttpd</a>
in front of Synapse.
This has the advantage of being able to expose the default HTTPS port (443) to Matrix
clients without requiring Synapse to bind to a privileged port (port numbers less than
1024), avoiding the need for <code>CAP_NET_BIND_SERVICE</code> or running as root.</p>
@@ -468,6 +470,84 @@ relay "matrix_federation" {
forward to &lt;matrixserver&gt; port 8008 check tcp
}
</code></pre>
<h3 id="lighttpd"><a class="header" href="#lighttpd">lighttpd</a></h3>
<pre><code class="language-conf">server.modules = (
"mod_rewrite",
"mod_redirect",
"mod_access",
"mod_setenv",
"mod_openssl",
"mod_proxy",
"mod_accesslog"
)
server.username = "lighttpd"
server.groupname = "lighttpd"
# We set this to "disable" and use IPv6 `[::]` explicitly below,
# in order to listen on all incoming IPv6 addresses.
#
# If you only want to listen on specific IPv6 addresses, set this
# to "enable" and specify said addresses below.
server.use-ipv6 = "disable"
ssl.pemfile = "/etc/lighttpd/cert+privkey.pem"
ssl.ca-file = "/etc/lighttpd/fullchain.pem"
# redirect HTTP traffic to HTTPS, same for IPv6 below
$SERVER["socket"] == "0.0.0.0:80" {
url.redirect = (
"" =&gt; "https://${url.authority.noport}${url.path}${qsa}"
)
}
$SERVER["socket"] == "0.0.0.0:443" { ssl.engine = "enable" }
$SERVER["socket"] == "0.0.0.0:8448" { ssl.engine = "enable" }
$SERVER["socket"] == "[::]:80" {
url.redirect = (
"" =&gt; "https://${url.authority.noport}${url.path}${qsa}"
)
}
$SERVER["socket"] == "[::]:443" { ssl.engine = "enable" }
$SERVER["socket"] == "[::]:8448" { ssl.engine = "enable" }
# both lighttpd and synapse need permissions for socket r/w
$HTTP["url"] =~ "(/_matrix|_synapse/admin|/_synapse/client)" {
proxy.balance = "hash"
proxy.server = (
"" =&gt; (
"backend-socket" =&gt; (
"host" =&gt; "/var/lib/synapse/main_public.sock",
"port" =&gt; 0
)
)
)
proxy.forwarded = (
"for" =&gt; 1,
"proto" =&gt; 1,
"host" =&gt; 1,
)
}
# protect admin access IPv6 ULA only
$HTTP["remoteip"] !="fd00::/8" {
$HTTP["url"] =~ "^/_synapse/admin/" {
url.access-deny = ( "" )
}
}
</code></pre>
<p><a href="delegate.html">Delegation</a> example:</p>
<pre><code class="language-conf">url.rewrite-once = (
"^/\.well-known/matrix/client$" =&gt; "/.well-known/matrix/client.json",
"^/\.well-known/matrix/server$" =&gt; "/.well-known/matrix/server.json"
)
# This condition intentionally matches the post-rewrite URLs.
$HTTP["url"] =~ "^/\.well-known/matrix/(client|server)\.json$" {
mimetype.assign = ( ".json" =&gt; "application/json" )
setenv.set-response-header = ( "Access-Control-Allow-Origin" =&gt; "*" )
}
</code></pre>
<h2 id="health-check-endpoint"><a class="header" href="#health-check-endpoint">Health check endpoint</a></h2>
<p>Synapse exposes a health check endpoint for use by reverse proxies.
Each configured HTTP listener has a <code>/health</code> endpoint which always returns
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+31 -7
View File
@@ -1,6 +1,6 @@
{
"$schema": "https://element-hq.github.io/synapse/latest/schema/v1/meta.schema.json",
"$id": "https://element-hq.github.io/synapse/schema/synapse/v1.159/synapse-config.schema.json",
"$id": "https://element-hq.github.io/synapse/schema/synapse/v1.161/synapse-config.schema.json",
"type": "object",
"properties": {
"modules": {
@@ -221,7 +221,7 @@
},
"include_profile_updates_in_sync": {
"type": "boolean",
"description": "Use this option to include updates of other users' profiles in sync responses, for users who share rooms.\nRequires an [MSC4429](https://github.com/matrix-org/matrix-spec-proposals/pull/4429) compatible client, and is currently limited to legacy sync and local users only.\nThis feature is under development and should be used with caution on busy servers or servers which depend on `limit_profile_requests_to_users_who_share_rooms` for ensuring profile information doesn't leak across rooms.",
"description": "Use this option to include updates of other users' profiles in sync responses, for users who share rooms.\nFor legacy sync clients, requires [MSC4429](https://github.com/matrix-org/matrix-spec-proposals/pull/4429) compatibility. For sliding sync clients, requires [MSC4262](https://github.com/matrix-org/matrix-spec-proposals/pull/4262) compatibility. Note, profile updates via sync are currently limited to local users only.\nThis feature is under development and should be used with caution on busy servers or servers which depend on `limit_profile_requests_to_users_who_share_rooms` for ensuring profile information doesn't leak across rooms.",
"default": false,
"examples": [
true
@@ -1125,6 +1125,21 @@
"28d"
]
},
"redaction_allowed_period": {
"oneOf": [
{
"$ref": "#/$defs/duration"
},
{
"type": "null"
}
],
"description": "How long after an `m.room.message` was sent a local user is still allowed to redact it. If a local user tries to redact a `m.room.message` older than this period Synapse responds with `403 M_FORBIDDEN` and does not redact the event.\n\nOnly applies to `m.room.message` events redacted by local users. Redactions of other event types and redactions received over federation are unaffected. When the target of the redaction is an edit (`m.replace`), the age and type are taken from the original event and not the edit.\n\nSet to `null` (the default) to disable, allowing events to be redacted at any time.",
"default": null,
"examples": [
"7d"
]
},
"forgotten_room_retention_period": {
"oneOf": [
{
@@ -1387,12 +1402,15 @@
]
},
"federation_domain_whitelist": {
"type": "array",
"description": "Restrict federation to the given whitelist of domains. N.B. we recommend also firewalling your federation listener to limit inbound federation traffic as early as possible, rather than relying purely on this application-layer restriction. If not specified, the default is to whitelist everything.\n\nNote: this does not stop a server from joining rooms that servers not on the whitelist are in. As such, this option is really only useful to establish a \"private federation\", where a group of servers all whitelist each other and have the same whitelist.",
"type": [
"null",
"array"
],
"description": "Restrict federation to the given whitelist of domains. N.B. we recommend also firewalling your federation listener to limit inbound federation traffic as early as possible, rather than relying purely on this application-layer restriction.\n\nIf specified as an empty list (`[]`), federation will be denied with all servers. Specifying an empty list (`[]`) here is the recommended way of disabling federation.\n\nIf unset or null, allows federation with all servers.\n\nNote: this does not stop a server from joining rooms that servers not on the whitelist are in. As such, this option is really only useful to establish a \"private federation\", where a group of servers all whitelist each other and have the same whitelist.",
"items": {
"type": "string"
},
"default": [],
"default": null,
"examples": [
[
"lon.example.com",
@@ -2605,9 +2623,14 @@
"description": "The type of transport to use to connect to the selective forwarding unit (SFU).",
"example": "livekit"
},
"url": {
"type": "string",
"description": "The WebSocket URL of the LiveKit SFU. If type is \"livekit\", either this or `livekit_service_url` is required.\n\nClients that support `url` will use the Client-Server API to (indirectly) interact with the LiveKit authorization service. The service needs to be set up as an application service in order to support these endpoints. See https://github.com/element-hq/lk-jwt-service for further details.",
"example": "wss://livekit.example.com"
},
"livekit_service_url": {
"type": "string",
"description": "The base URL of the LiveKit service. Should only be used with LiveKit-based transports.",
"description": "Deprecated. The HTTP URL of the LiveKit authorization service. If type is \"livekit\", either this or `url` is required.\n\nClients that don't support `url` will use `livekit_service_url` to directly interact with the LiveKit authorization service. This mode of operation is deprecated and should only be used for backwards compatibility.",
"example": "https://matrix-rtc.example.com/livekit/jwt"
}
}
@@ -2622,6 +2645,7 @@
"transports": [
{
"type": "livekit",
"url": "wss://livekit.example.com",
"livekit_service_url": "https://matrix-rtc.example.com/livekit/jwt"
}
]
@@ -4084,7 +4108,7 @@
},
"encryption_enabled_by_default_for_room_type": {
"type": "string",
"description": "Controls whether locally-created rooms should be end-to-end encrypted by default.\n\nPossible options are \"all\", \"invite\", and \"off\". They are defined as:\n\n* \"all\": any locally-created room\n* \"invite\": any room created with the `private_chat` or `trusted_private_chat` room creation presets\n* \"off\": this option will take no effect\n\nNote that this option will only affect rooms created after it is set. It will also not affect rooms created by other servers.",
"description": "Controls whether locally-created rooms should be end-to-end encrypted by default.\n\nPossible options are \"all\", \"invite\", and \"off\". They are defined as:\n\n* \"all\": any locally-created room\n* \"invite\": any room created with the `private_chat` or `trusted_private_chat` room creation presets\n* \"off\": this option will take no effect\n\nNote that this option will only affect rooms created after it is set. It will also not affect rooms created by other servers.\n\nA client may supply its own `m.room.encryption` event in the `initial_state` of its `/createRoom` request. If that event is valid (it specifies an `algorithm` as a string), it takes precedence and this option will not overwrite it, allowing the client to, for example, choose a different encryption algorithm. An empty or otherwise invalid `m.room.encryption` event does not disable forced encryption: the default will still be applied on top of it.",
"enum": [
"all",
"invite",
+1 -1
View File
@@ -437,7 +437,7 @@ window.search = window.search || {};
if (yes) {
loadSearchScript(
window.path_to_searchindex_js ||
path_to_root + 'searchindex-35ac8dfb.js',
path_to_root + 'searchindex-cd06e18a.js',
'mdbook-search-index');
search_wrap.classList.remove('hidden');
searchicon.setAttribute('aria-expanded', 'true');
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
+13 -2
View File
@@ -37,7 +37,7 @@
const path_to_root = "";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="toc-64310643.js"></script>
@@ -310,7 +310,7 @@ v1.61.0.</p>
<tr><td>v1.85.0 v1.91.2</td><td>v1.83.0</td></tr>
<tr><td>v1.92.0 v1.97.0</td><td>v1.90.0</td></tr>
<tr><td>v1.98.0 v1.105.0</td><td>v1.96.0</td></tr>
<tr><td>v1.105.1 v1.159.0</td><td>v1.100.0</td></tr>
<tr><td>v1.105.1 v1.161.0</td><td>v1.100.0</td></tr>
</tbody>
</table>
</div>
@@ -330,6 +330,17 @@ database migrations are complete. You should wait until background updates from
each upgrade are complete before moving on to the next upgrade, to avoid
stacking them up. You can monitor the currently running background updates with
<a href="usage/administration/admin_api/background_updates.html#status">the Admin API</a>.</p>
<h1 id="upgrading-to-v11610"><a class="header" href="#upgrading-to-v11610">Upgrading to v1.161.0</a></h1>
<h2 id="deprecation-of-matrix_rtclivekit_service_url"><a class="header" href="#deprecation-of-matrix_rtclivekit_service_url">Deprecation of <code>matrix_rtc.livekit_service_url</code></a></h2>
<p>When configuring the MatrixRTC LiveKit transport, the <code>livekit_service_url</code> is now
deprecated but should continue to be listed to ensure backwards compatibility with
older clients. A new sibling <code>url</code> config property is added that should be set to
your SFUs WebSocket URL. Clients that support <code>url</code> will use the Client-Server API
to (indirectly) interact with the LiveKit authorization service. The service needs
to be set up as an application service in order to support these endpoints. See
https://github.com/element-hq/lk-jwt-service and
https://element-hq.github.io/synapse/v1.161/usage/configuration/config_documentation.html#matrix_rtc
for further details.</p>
<h1 id="upgrading-to-v11590"><a class="header" href="#upgrading-to-v11590">Upgrading to v1.159.0</a></h1>
<h2 id="change-of-signing-key-expiry-date-for-the-debianubuntu-package-repository-2026"><a class="header" href="#change-of-signing-key-expiry-date-for-the-debianubuntu-package-repository-2026">Change of signing key expiry date for the Debian/Ubuntu package repository (2026)</a></h2>
<p>Administrators using the Debian/Ubuntu packages from <code>packages.matrix.org</code>,
@@ -37,7 +37,7 @@
const path_to_root = "../../../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../../../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../../../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../../../toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../../../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../../../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../../../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../../../toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../../../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../../../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../../../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../../../toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../../../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../../../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../../../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../../../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../../toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../../toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../../../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../../../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../../../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../../../toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../../toc-64310643.js"></script>
+1 -1
View File
@@ -37,7 +37,7 @@
const path_to_root = "../../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../../toc-64310643.js"></script>
@@ -37,7 +37,7 @@
const path_to_root = "../../";
const default_light_theme = "light";
const default_dark_theme = "navy";
window.path_to_searchindex_js = "../../searchindex-35ac8dfb.js";
window.path_to_searchindex_js = "../../searchindex-cd06e18a.js";
</script>
<!-- Start loading toc.js asap -->
<script src="../../toc-64310643.js"></script>

Some files were not shown because too many files have changed in this diff Show More