Browse Source

Version picker deployed for v1.56 docs to Github Pages

Action Bot 4 months ago
parent
commit
62f845f9d6
100 changed files with 1844 additions and 6030 deletions
  1. 0 1
      v1.56/.nojekyll
  2. 0 26
      v1.56/.sample_config_header.yaml
  3. 17 64
      v1.56/404.html
  4. 16 67
      v1.56/CAPTCHA_SETUP.html
  5. 16 67
      v1.56/admin_api/account_validity.html
  6. 16 67
      v1.56/admin_api/delete_group.html
  7. 16 67
      v1.56/admin_api/event_reports.html
  8. 16 67
      v1.56/admin_api/media_admin_api.html
  9. 16 67
      v1.56/admin_api/purge_history_api.html
  10. 16 67
      v1.56/admin_api/register_api.html
  11. 16 67
      v1.56/admin_api/room_membership.html
  12. 16 67
      v1.56/admin_api/rooms.html
  13. 16 67
      v1.56/admin_api/server_notices.html
  14. 16 67
      v1.56/admin_api/statistics.html
  15. 16 67
      v1.56/admin_api/user_admin_api.html
  16. 16 67
      v1.56/admin_api/version_api.html
  17. 16 67
      v1.56/application_services.html
  18. 16 67
      v1.56/auth_chain_difference_algorithm.html
  19. 27 8
      v1.56/book.js
  20. 16 67
      v1.56/code_style.html
  21. 16 67
      v1.56/consent_tracking.html
  22. 5 0
      v1.56/css/general.css
  23. 3 3
      v1.56/css/variables.css
  24. 16 67
      v1.56/delegate.html
  25. 16 67
      v1.56/deprecation_policy.html
  26. 16 67
      v1.56/development/cas.html
  27. 18 69
      v1.56/development/contributing_guide.html
  28. 16 67
      v1.56/development/database_schema.html
  29. 16 67
      v1.56/development/demo.html
  30. 16 67
      v1.56/development/experimental_features.html
  31. 17 68
      v1.56/development/git.html
  32. 16 67
      v1.56/development/internal_documentation/index.html
  33. 16 67
      v1.56/development/releases.html
  34. 16 67
      v1.56/development/room-dag-concepts.html
  35. 16 67
      v1.56/development/saml.html
  36. 16 67
      v1.56/development/url_previews.html
  37. 78 0
      v1.56/docs/website_files/version-picker.css
  38. 127 0
      v1.56/docs/website_files/version-picker.js
  39. 1 0
      v1.56/docs/website_files/version.js
  40. 16 67
      v1.56/federate.html
  41. 16 65
      v1.56/index.html
  42. 16 67
      v1.56/jwt.html
  43. 16 67
      v1.56/log_contexts.html
  44. 16 67
      v1.56/manhole.html
  45. 16 67
      v1.56/media_repository.html
  46. 16 67
      v1.56/message_retention_policies.html
  47. 16 67
      v1.56/metrics-howto.html
  48. 16 67
      v1.56/modules/account_validity_callbacks.html
  49. 16 67
      v1.56/modules/background_update_controller_callbacks.html
  50. 16 67
      v1.56/modules/index.html
  51. 16 67
      v1.56/modules/password_auth_provider_callbacks.html
  52. 16 67
      v1.56/modules/porting_legacy_module.html
  53. 16 67
      v1.56/modules/presence_router_callbacks.html
  54. 16 67
      v1.56/modules/spam_checker_callbacks.html
  55. 16 67
      v1.56/modules/third_party_rules_callbacks.html
  56. 16 67
      v1.56/modules/writing_a_module.html
  57. 16 67
      v1.56/openid.html
  58. 16 67
      v1.56/opentracing.html
  59. 16 65
      v1.56/other/running_synapse_on_single_board_computers.html
  60. 16 67
      v1.56/password_auth_providers.html
  61. 16 67
      v1.56/postgres.html
  62. 111 161
      v1.56/print.html
  63. 16 67
      v1.56/replication.html
  64. 16 67
      v1.56/reverse_proxy.html
  65. 16 67
      v1.56/room_and_user_statistics.html
  66. 0 0
      v1.56/searchindex.js
  67. 0 0
      v1.56/searchindex.json
  68. 16 67
      v1.56/server_notices.html
  69. 16 67
      v1.56/setup/forward_proxy.html
  70. 16 67
      v1.56/setup/installation.html
  71. 16 67
      v1.56/sso_mapping_providers.html
  72. 16 67
      v1.56/structured_logging.html
  73. 16 67
      v1.56/synctl_workers.html
  74. 16 67
      v1.56/systemd-with-workers/index.html
  75. 16 67
      v1.56/tcp_replication.html
  76. 16 67
      v1.56/templates.html
  77. 16 67
      v1.56/turn-howto.html
  78. 16 67
      v1.56/upgrade.html
  79. 16 67
      v1.56/usage/administration/admin_api/background_updates.html
  80. 16 67
      v1.56/usage/administration/admin_api/federation.html
  81. 16 67
      v1.56/usage/administration/admin_api/index.html
  82. 16 67
      v1.56/usage/administration/admin_api/registration_tokens.html
  83. 16 67
      v1.56/usage/administration/admin_faq.html
  84. 21 72
      v1.56/usage/administration/database_maintenance_tools.html
  85. 16 67
      v1.56/usage/administration/index.html
  86. 16 67
      v1.56/usage/administration/request_log.html
  87. 16 67
      v1.56/usage/administration/state_groups.html
  88. 16 67
      v1.56/usage/administration/understanding_synapse_through_grafana_graphs.html
  89. 16 67
      v1.56/usage/administration/useful_sql_for_admins.html
  90. 16 67
      v1.56/usage/configuration/homeserver_sample_config.html
  91. 16 67
      v1.56/usage/configuration/index.html
  92. 16 67
      v1.56/usage/configuration/logging_sample_config.html
  93. 16 67
      v1.56/usage/configuration/user_authentication/index.html
  94. 16 67
      v1.56/usage/configuration/user_authentication/refresh_tokens.html
  95. 16 67
      v1.56/usage/configuration/user_authentication/single_sign_on/cas.html
  96. 16 67
      v1.56/usage/configuration/user_authentication/single_sign_on/index.html
  97. 16 67
      v1.56/usage/configuration/user_authentication/single_sign_on/saml.html
  98. 16 67
      v1.56/user_directory.html
  99. 13 1
      v1.56/website_files/theme/index.hbs
  100. 78 0
      v1.56/website_files/version-picker.css

+ 0 - 1
v1.56/.nojekyll

@@ -1 +0,0 @@
-This file makes sure that Github Pages doesn't process mdBook's output.

+ 0 - 26
v1.56/.sample_config_header.yaml

@@ -1,26 +0,0 @@
-# This file is maintained as an up-to-date snapshot of the default
-# homeserver.yaml configuration generated by Synapse.
-#
-# It is intended to act as a reference for the default configuration,
-# helping admins keep track of new options and other changes, and compare
-# their configs with the current default.  As such, many of the actual
-# config values shown are placeholders.
-#
-# It is *not* intended to be copied and used as the basis for a real
-# homeserver.yaml. Instead, if you are starting from scratch, please generate
-# a fresh config using Synapse by following the instructions in
-# https://matrix-org.github.io/synapse/latest/setup/installation.html.
-
-# Configuration options that take a time period can be set using a number
-# followed by a letter. Letters have the following meanings:
-# s = second
-# m = minute
-# h = hour
-# d = day
-# w = week
-# y = year
-# For example, setting redaction_retention_period: 5m would remove redacted
-# messages from the database after 5 minutes, rather than 5 months.
-
-################################################################################
-

+ 17 - 64
v1.56/404.html

@@ -3,56 +3,33 @@
     <head>
     <head>
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
-        <title></title>
-        
-        
+        <title>Page not found - Synapse</title>
         <base href="/synapse/">
         <base href="/synapse/">
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -109,7 +86,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -126,32 +102,35 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -162,8 +141,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -187,53 +164,29 @@
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
-
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
-
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/CAPTCHA_SETUP.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Registration Captcha - Synapse</title>
         <title>Registration Captcha - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/CAPTCHA_SETUP.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/CAPTCHA_SETUP.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -222,69 +199,41 @@ listeners section of the <code>homeserver.yaml</code> configuration file.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="usage/configuration/user_authentication/refresh_tokens.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="usage/configuration/user_authentication/refresh_tokens.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="application_services.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="application_services.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="usage/configuration/user_authentication/refresh_tokens.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="usage/configuration/user_authentication/refresh_tokens.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="application_services.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="application_services.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/admin_api/account_validity.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Account Validity - Synapse</title>
         <title>Account Validity - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/account_validity.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/account_validity.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -216,69 +193,41 @@ milliseconds since epoch:</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../usage/administration/admin_api/index.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../usage/administration/admin_api/index.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../usage/administration/admin_api/background_updates.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../usage/administration/admin_api/background_updates.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../usage/administration/admin_api/index.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../usage/administration/admin_api/index.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../usage/administration/admin_api/background_updates.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../usage/administration/admin_api/background_updates.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/admin_api/delete_group.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Delete Group - Synapse</title>
         <title>Delete Group - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/delete_group.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/delete_group.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -196,69 +173,41 @@ for a server admin: see <a href="../usage/administration/admin_api">Admin API</a
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../usage/administration/admin_api/background_updates.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../usage/administration/admin_api/background_updates.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../admin_api/event_reports.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../admin_api/event_reports.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../usage/administration/admin_api/background_updates.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../usage/administration/admin_api/background_updates.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../admin_api/event_reports.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../admin_api/event_reports.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/admin_api/event_reports.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Event Reports - Synapse</title>
         <title>Event Reports - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/event_reports.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/event_reports.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -340,69 +317,41 @@ have a canonical alias set.</li>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../admin_api/delete_group.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../admin_api/delete_group.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../admin_api/media_admin_api.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../admin_api/media_admin_api.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../admin_api/delete_group.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../admin_api/delete_group.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../admin_api/media_admin_api.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../admin_api/media_admin_api.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/admin_api/media_admin_api.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Media - Synapse</title>
         <title>Media - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/media_admin_api.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/media_admin_api.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -400,69 +377,41 @@ from the originating server.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../admin_api/event_reports.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../admin_api/event_reports.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../admin_api/purge_history_api.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../admin_api/purge_history_api.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../admin_api/event_reports.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../admin_api/event_reports.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../admin_api/purge_history_api.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../admin_api/purge_history_api.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/admin_api/purge_history_api.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Purge History - Synapse</title>
         <title>Purge History - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/purge_history_api.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/purge_history_api.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -236,69 +213,41 @@ a purge id:</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../admin_api/media_admin_api.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../admin_api/media_admin_api.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../admin_api/register_api.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../admin_api/register_api.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../admin_api/media_admin_api.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../admin_api/media_admin_api.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../admin_api/register_api.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../admin_api/register_api.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/admin_api/register_api.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Register Users - Synapse</title>
         <title>Register Users - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/register_api.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/register_api.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -248,69 +225,41 @@ def generate_mac(nonce, user, password, admin=False, user_type=None):
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../admin_api/purge_history_api.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../admin_api/purge_history_api.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../usage/administration/admin_api/registration_tokens.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../usage/administration/admin_api/registration_tokens.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../admin_api/purge_history_api.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../admin_api/purge_history_api.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../usage/administration/admin_api/registration_tokens.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../usage/administration/admin_api/registration_tokens.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/admin_api/room_membership.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Manipulate Room Membership - Synapse</title>
         <title>Manipulate Room Membership - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/room_membership.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/room_membership.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -213,69 +190,41 @@ for a server admin: see <a href="../usage/administration/admin_api">Admin API</a
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../usage/administration/admin_api/registration_tokens.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../usage/administration/admin_api/registration_tokens.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../admin_api/rooms.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../admin_api/rooms.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../usage/administration/admin_api/registration_tokens.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../usage/administration/admin_api/registration_tokens.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../admin_api/rooms.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../admin_api/rooms.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/admin_api/rooms.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Rooms - Synapse</title>
         <title>Rooms - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/rooms.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/rooms.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -996,69 +973,41 @@ that were deleted.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../admin_api/room_membership.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../admin_api/room_membership.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../admin_api/server_notices.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../admin_api/server_notices.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../admin_api/room_membership.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../admin_api/room_membership.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../admin_api/server_notices.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../admin_api/server_notices.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/admin_api/server_notices.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Server Notices - Synapse</title>
         <title>Server Notices - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/server_notices.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/server_notices.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -218,69 +195,41 @@ can be used. See <a href="../server_notices.html">the server notices documentati
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../admin_api/rooms.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../admin_api/rooms.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../admin_api/statistics.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../admin_api/statistics.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../admin_api/rooms.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../admin_api/rooms.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../admin_api/statistics.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../admin_api/statistics.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/admin_api/statistics.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Statistics - Synapse</title>
         <title>Statistics - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/statistics.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/statistics.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -263,69 +240,41 @@ about the user and their local media. Objects contain the following fields:
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../admin_api/server_notices.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../admin_api/server_notices.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../admin_api/user_admin_api.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../admin_api/user_admin_api.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../admin_api/server_notices.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../admin_api/server_notices.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../admin_api/user_admin_api.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../admin_api/user_admin_api.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/admin_api/user_admin_api.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Users - Synapse</title>
         <title>Users - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/user_admin_api.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/user_admin_api.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -1166,69 +1143,41 @@ for more information.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../admin_api/statistics.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../admin_api/statistics.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../admin_api/version_api.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../admin_api/version_api.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../admin_api/statistics.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../admin_api/statistics.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../admin_api/version_api.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../admin_api/version_api.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/admin_api/version_api.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Server Version - Synapse</title>
         <title>Server Version - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/version_api.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/admin_api/version_api.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -201,69 +178,41 @@ contains Synapse version information).</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../admin_api/user_admin_api.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../admin_api/user_admin_api.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../usage/administration/admin_api/federation.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../usage/administration/admin_api/federation.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../admin_api/user_admin_api.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../admin_api/user_admin_api.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../usage/administration/admin_api/federation.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../usage/administration/admin_api/federation.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/application_services.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Application Services - Synapse</title>
         <title>Application Services - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/application_services.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/application_services.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -213,69 +190,41 @@ namespaces:
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="CAPTCHA_SETUP.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="CAPTCHA_SETUP.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="server_notices.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="server_notices.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="CAPTCHA_SETUP.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="CAPTCHA_SETUP.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="server_notices.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="server_notices.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/auth_chain_difference_algorithm.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>The Auth Chain Difference Algorithm - Synapse</title>
         <title>The Auth Chain Difference Algorithm - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/auth_chain_difference_algorithm.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/auth_chain_difference_algorithm.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -278,69 +255,41 @@ level).</li>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="development/room-dag-concepts.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="development/room-dag-concepts.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="media_repository.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="media_repository.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="development/room-dag-concepts.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="development/room-dag-concepts.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="media_repository.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="media_repository.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 27 - 8
v1.56/book.js

@@ -108,9 +108,12 @@ function playground_text(playground) {
 
 
         let text = playground_text(code_block);
         let text = playground_text(code_block);
         let classes = code_block.querySelector('code').classList;
         let classes = code_block.querySelector('code').classList;
-        let has_2018 = classes.contains("edition2018");
-        let edition = has_2018 ? "2018" : "2015";
-
+        let edition = "2015";
+        if(classes.contains("edition2018")) {
+            edition = "2018";
+        } else if(classes.contains("edition2021")) {
+            edition = "2021";
+        }
         var params = {
         var params = {
             version: "stable",
             version: "stable",
             optimize: "0",
             optimize: "0",
@@ -133,7 +136,15 @@ function playground_text(playground) {
             body: JSON.stringify(params)
             body: JSON.stringify(params)
         })
         })
         .then(response => response.json())
         .then(response => response.json())
-        .then(response => result_block.innerText = response.result)
+        .then(response => {
+            if (response.result.trim() === '') {
+                result_block.innerText = "No output";
+                result_block.classList.add("result-no-output");
+            } else {
+                result_block.innerText = response.result;
+                result_block.classList.remove("result-no-output");
+            }
+        })
         .catch(error => result_block.innerText = "Playground Communication: " + error.message);
         .catch(error => result_block.innerText = "Playground Communication: " + error.message);
     }
     }
 
 
@@ -151,12 +162,13 @@ function playground_text(playground) {
     if (window.ace) {
     if (window.ace) {
         // language-rust class needs to be removed for editable
         // language-rust class needs to be removed for editable
         // blocks or highlightjs will capture events
         // blocks or highlightjs will capture events
-        Array
-            .from(document.querySelectorAll('code.editable'))
+        code_nodes
+            .filter(function (node) {return node.classList.contains("editable"); })
             .forEach(function (block) { block.classList.remove('language-rust'); });
             .forEach(function (block) { block.classList.remove('language-rust'); });
 
 
         Array
         Array
-            .from(document.querySelectorAll('code:not(.editable)'))
+        code_nodes
+            .filter(function (node) {return !node.classList.contains("editable"); })
             .forEach(function (block) { hljs.highlightBlock(block); });
             .forEach(function (block) { hljs.highlightBlock(block); });
     } else {
     } else {
         code_nodes.forEach(function (block) { hljs.highlightBlock(block); });
         code_nodes.forEach(function (block) { hljs.highlightBlock(block); });
@@ -359,7 +371,14 @@ function playground_text(playground) {
     });
     });
 
 
     themePopup.addEventListener('click', function (e) {
     themePopup.addEventListener('click', function (e) {
-        var theme = e.target.id || e.target.parentElement.id;
+        var theme;
+        if (e.target.className === "theme") {
+            theme = e.target.id;
+        } else if (e.target.parentElement.className === "theme") {
+            theme = e.target.parentElement.id;
+        } else {
+            return;
+        }
         set_theme(theme);
         set_theme(theme);
     });
     });
 
 

+ 16 - 67
v1.56/code_style.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Code Style - Synapse</title>
         <title>Code Style - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/code_style.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/code_style.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -365,69 +342,41 @@ is left as an exercise for the reader!</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="development/contributing_guide.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="development/contributing_guide.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="development/releases.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="development/releases.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="development/contributing_guide.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="development/contributing_guide.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="development/releases.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="development/releases.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/consent_tracking.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Consent Tracking - Synapse</title>
         <title>Consent Tracking - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/consent_tracking.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/consent_tracking.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -348,69 +325,41 @@ URI that clients use to connect to the server. (It is used to construct
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="server_notices.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="server_notices.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="development/url_previews.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="development/url_previews.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="server_notices.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="server_notices.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="development/url_previews.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="development/url_previews.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 5 - 0
v1.56/css/general.css

@@ -12,6 +12,7 @@ html {
     color: var(--fg);
     color: var(--fg);
     background-color: var(--bg);
     background-color: var(--bg);
     text-size-adjust: none;
     text-size-adjust: none;
+    -webkit-text-size-adjust: none;
 }
 }
 
 
 body {
 body {
@@ -175,3 +176,7 @@ blockquote {
     margin: 5px 0px;
     margin: 5px 0px;
     font-weight: bold;
     font-weight: bold;
 }
 }
+
+.result-no-output {
+    font-style: italic;
+}

+ 3 - 3
v1.56/css/variables.css

@@ -67,7 +67,7 @@
 
 
     --links: #2b79a2;
     --links: #2b79a2;
 
 
-    --inline-code-color: #c5c8c6;;
+    --inline-code-color: #c5c8c6;
 
 
     --theme-popup-bg: #141617;
     --theme-popup-bg: #141617;
     --theme-popup-border: #43484d;
     --theme-popup-border: #43484d;
@@ -147,7 +147,7 @@
 
 
     --links: #2b79a2;
     --links: #2b79a2;
 
 
-    --inline-code-color: #c5c8c6;;
+    --inline-code-color: #c5c8c6;
 
 
     --theme-popup-bg: #161923;
     --theme-popup-bg: #161923;
     --theme-popup-border: #737480;
     --theme-popup-border: #737480;
@@ -228,7 +228,7 @@
 
 
         --links: #2b79a2;
         --links: #2b79a2;
 
 
-        --inline-code-color: #c5c8c6;;
+        --inline-code-color: #c5c8c6;
 
 
         --theme-popup-bg: #141617;
         --theme-popup-bg: #141617;
         --theme-popup-border: #43484d;
         --theme-popup-border: #43484d;

+ 16 - 67
v1.56/delegate.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Delegation - Synapse</title>
         <title>Delegation - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/delegate.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/delegate.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -259,69 +236,41 @@ reverse proxy.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="turn-howto.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="turn-howto.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="upgrade.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="upgrade.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="turn-howto.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="turn-howto.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="upgrade.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="upgrade.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/deprecation_policy.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Dependency Deprecation Policy - Synapse</title>
         <title>Dependency Deprecation Policy - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/deprecation_policy.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/deprecation_policy.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -208,69 +185,41 @@ to constantly update their platform dependencies to the latest versions.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="room_and_user_statistics.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="room_and_user_statistics.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="other/running_synapse_on_single_board_computers.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="other/running_synapse_on_single_board_computers.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="room_and_user_statistics.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="room_and_user_statistics.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="other/running_synapse_on_single_board_computers.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="other/running_synapse_on_single_board_computers.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/development/cas.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>CAS - Synapse</title>
         <title>CAS - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/cas.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/cas.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -249,69 +226,41 @@ and that the CAS server is on port 8000, both on localhost.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../development/saml.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../development/saml.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../development/room-dag-concepts.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../development/room-dag-concepts.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../development/saml.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../development/saml.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../development/room-dag-concepts.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../development/room-dag-concepts.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 18 - 69
v1.56/development/contributing_guide.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Contributing Guide - Synapse</title>
         <title>Contributing Guide - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/contributing_guide.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/contributing_guide.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -343,7 +320,7 @@ so we can run a specific test in this container with e.g.</p>
 <code>.tox-pg-container</code> and uses this as a tox environment. The output of any
 <code>.tox-pg-container</code> and uses this as a tox environment. The output of any
 <code>trial</code> runs goes into <code>_trial_temp</code> in your synapse source directory — the same
 <code>trial</code> runs goes into <code>_trial_temp</code> in your synapse source directory — the same
 as running <code>trial</code> directly on your host machine.</p>
 as running <code>trial</code> directly on your host machine.</p>
-<h2 id="run-the-integration-tests-a-hrefhttpsgithubcommatrix-orgsytestsytesta"><a class="header" href="#run-the-integration-tests-a-hrefhttpsgithubcommatrix-orgsytestsytesta">Run the integration tests (<a href="https://github.com/matrix-org/sytest">Sytest</a>).</a></h2>
+<h2 id="run-the-integration-tests-sytest"><a class="header" href="#run-the-integration-tests-sytest">Run the integration tests (<a href="https://github.com/matrix-org/sytest">Sytest</a>).</a></h2>
 <p>The integration tests are a more comprehensive suite of tests. They
 <p>The integration tests are a more comprehensive suite of tests. They
 run a full version of Synapse, including your changes, to check if
 run a full version of Synapse, including your changes, to check if
 anything was broken. They are slower than the unit tests but will
 anything was broken. They are slower than the unit tests but will
@@ -353,7 +330,7 @@ configuration:</p>
 <pre><code class="language-sh">$ docker run --rm -it -v /path/where/you/have/cloned/the/repository\:/src:ro -v /path/to/where/you/want/logs\:/logs matrixdotorg/sytest-synapse:buster
 <pre><code class="language-sh">$ docker run --rm -it -v /path/where/you/have/cloned/the/repository\:/src:ro -v /path/to/where/you/want/logs\:/logs matrixdotorg/sytest-synapse:buster
 </code></pre>
 </code></pre>
 <p>This configuration should generally cover  your needs. For more details about other configurations, see <a href="https://github.com/matrix-org/sytest/blob/develop/docker/README.md">documentation in the SyTest repo</a>.</p>
 <p>This configuration should generally cover  your needs. For more details about other configurations, see <a href="https://github.com/matrix-org/sytest/blob/develop/docker/README.md">documentation in the SyTest repo</a>.</p>
-<h2 id="run-the-integration-tests-a-hrefhttpsgithubcommatrix-orgcomplementcomplementa"><a class="header" href="#run-the-integration-tests-a-hrefhttpsgithubcommatrix-orgcomplementcomplementa">Run the integration tests (<a href="https://github.com/matrix-org/complement">Complement</a>).</a></h2>
+<h2 id="run-the-integration-tests-complement"><a class="header" href="#run-the-integration-tests-complement">Run the integration tests (<a href="https://github.com/matrix-org/complement">Complement</a>).</a></h2>
 <p><a href="https://github.com/matrix-org/complement">Complement</a> is a suite of black box tests that can be run on any homeserver implementation. It can also be thought of as end-to-end (e2e) tests.</p>
 <p><a href="https://github.com/matrix-org/complement">Complement</a> is a suite of black box tests that can be run on any homeserver implementation. It can also be thought of as end-to-end (e2e) tests.</p>
 <p>It's often nice to develop on Synapse and write Complement tests at the same time.
 <p>It's often nice to develop on Synapse and write Complement tests at the same time.
 Here is how to run your local Synapse checkout against your local Complement checkout.</p>
 Here is how to run your local Synapse checkout against your local Complement checkout.</p>
@@ -561,69 +538,41 @@ do!</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../usage/administration/admin_faq.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../usage/administration/admin_faq.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../code_style.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../code_style.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../usage/administration/admin_faq.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../usage/administration/admin_faq.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../code_style.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../code_style.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/development/database_schema.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Database Schemas - Synapse</title>
         <title>Database Schemas - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/database_schema.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/database_schema.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -349,69 +326,41 @@ in Python, evaluates to <code>True</code>.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../opentracing.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../opentracing.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../development/experimental_features.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../development/experimental_features.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../opentracing.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../opentracing.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../development/experimental_features.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../development/experimental_features.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/development/demo.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Demo scripts - Synapse</title>
         <title>Demo scripts - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/demo.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/demo.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -221,69 +198,41 @@ it won't work if your HS already has a room with that name.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../development/git.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../development/git.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../opentracing.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../opentracing.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../development/git.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../development/git.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../opentracing.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../opentracing.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/development/experimental_features.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Experimental features - Synapse</title>
         <title>Experimental features - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/experimental_features.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/experimental_features.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -220,69 +197,41 @@ configuration key (see the <code>synapse.config.experimental</code> file) and ei
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../development/database_schema.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../development/database_schema.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../log_contexts.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../log_contexts.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../development/database_schema.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../development/database_schema.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../log_contexts.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../log_contexts.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 17 - 68
v1.56/development/git.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Git Usage - Synapse</title>
         <title>Git Usage - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/git.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/git.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -284,7 +261,7 @@ that our active branches are ordered thus, from more-stable to less-stable:</p>
 <ul>
 <ul>
 <li><code>master</code> (tracks our last release).</li>
 <li><code>master</code> (tracks our last release).</li>
 <li><code>release-vX.Y</code> (the branch where we prepare the next release)<sup
 <li><code>release-vX.Y</code> (the branch where we prepare the next release)<sup
-   id="a3"><a href="#f3">3</a></sup>.</li>
+id="a3"><a href="#f3">3</a></sup>.</li>
 <li>PR branches which are targeting the release.</li>
 <li>PR branches which are targeting the release.</li>
 <li><code>develop</code> (our &quot;mainline&quot; branch containing our bleeding-edge).</li>
 <li><code>develop</code> (our &quot;mainline&quot; branch containing our bleeding-edge).</li>
 <li>regular PR branches.</li>
 <li>regular PR branches.</li>
@@ -308,69 +285,41 @@ the history of Synapse), we've had two releases in flight at once. Obviously,
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../development/releases.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../development/releases.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../development/demo.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../development/demo.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../development/releases.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../development/releases.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../development/demo.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../development/demo.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/development/internal_documentation/index.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Internal Documentation - Synapse</title>
         <title>Internal Documentation - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../../favicon.svg">
         <link rel="icon" href="../../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../../favicon.png">
         <link rel="shortcut icon" href="../../favicon.png">
-        
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/chrome.css">
         <link rel="stylesheet" href="../../css/chrome.css">
-        
         <link rel="stylesheet" href="../../css/print.css" media="print">
         <link rel="stylesheet" href="../../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../../fonts/fonts.css">
         <link rel="stylesheet" href="../../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/internal_documentation/README.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/internal_documentation/README.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -196,69 +173,41 @@ under the Usage section of the documentation.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../../tcp_replication.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../../tcp_replication.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../../development/saml.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../../development/saml.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../../tcp_replication.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../../tcp_replication.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../../development/saml.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../../development/saml.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/development/releases.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Release Cycle - Synapse</title>
         <title>Release Cycle - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/releases.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/releases.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -217,69 +194,41 @@ found in the <a href="https://matrix.org/blog/category/security">security catego
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../code_style.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../code_style.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../development/git.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../development/git.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../code_style.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../code_style.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../development/git.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../development/git.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/development/room-dag-concepts.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Room DAG concepts - Synapse</title>
         <title>Room DAG concepts - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/room-dag-concepts.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/room-dag-concepts.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -275,69 +252,41 @@ notes from @Azrenbeth, https://pastebin.com/seUGVGeT</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../development/cas.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../development/cas.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../auth_chain_difference_algorithm.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../auth_chain_difference_algorithm.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../development/cas.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../development/cas.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../auth_chain_difference_algorithm.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../auth_chain_difference_algorithm.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/development/saml.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>SAML - Synapse</title>
         <title>SAML - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/saml.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/saml.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -225,69 +202,41 @@ samling page and clear the site data. In Chrome, this will be a button on the Ap
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../development/internal_documentation/index.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../development/internal_documentation/index.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../development/cas.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../development/cas.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../development/internal_documentation/index.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../development/internal_documentation/index.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../development/cas.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../development/cas.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/development/url_previews.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>URL Previews - Synapse</title>
         <title>URL Previews - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/url_previews.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/development/url_previews.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -271,69 +248,41 @@ deleted every 10 seconds. The default expiration time is 1 hour from download.</
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../consent_tracking.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../consent_tracking.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../user_directory.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../user_directory.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../consent_tracking.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../consent_tracking.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../user_directory.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../user_directory.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 78 - 0
v1.56/docs/website_files/version-picker.css

@@ -0,0 +1,78 @@
+.version-picker {
+    display: flex;
+    align-items: center;
+}
+
+.version-picker .dropdown {
+    width: 130px;
+    max-height: 29px;
+    margin-left: 10px;
+    display: inline-block;
+    border-radius: 4px;
+    border: 1px solid var(--theme-popup-border);
+    position: relative;
+    font-size: 13px;
+    color: var(--fg);
+    height: 100%;
+    text-align: left;
+}
+.version-picker .dropdown .select {
+    cursor: pointer;
+    display: block;
+    padding: 5px 2px 5px 15px;
+}
+.version-picker .dropdown .select > i {
+    font-size: 10px;
+    color: var(--fg);
+    cursor: pointer;
+    float: right;
+    line-height: 20px !important;
+}
+.version-picker .dropdown:hover {
+    border: 1px solid var(--theme-popup-border);
+}
+.version-picker .dropdown:active {
+    background-color: var(--theme-popup-bg);
+}
+.version-picker .dropdown.active:hover,
+.version-picker .dropdown.active {
+    border: 1px solid var(--theme-popup-border);
+    border-radius: 2px 2px 0 0;
+    background-color: var(--theme-popup-bg);
+}
+.version-picker .dropdown.active .select > i {
+    transform: rotate(-180deg);
+}
+.version-picker .dropdown .dropdown-menu {
+    position: absolute;
+    background-color: var(--theme-popup-bg);
+    width: 100%;
+    left: -1px;
+    right: 1px;
+    margin-top: 1px;
+    border: 1px solid var(--theme-popup-border);
+    border-radius: 0 0 4px 4px;
+    overflow: hidden;
+    display: none;
+    max-height: 300px;
+    overflow-y: auto;
+    z-index: 9;
+}
+.version-picker .dropdown .dropdown-menu li {
+    font-size: 12px;
+    padding: 6px 20px;
+    cursor: pointer;
+} 
+.version-picker .dropdown .dropdown-menu {
+    padding: 0;
+    list-style: none;
+}
+.version-picker .dropdown .dropdown-menu li:hover {
+    background-color: var(--theme-hover);
+}
+.version-picker .dropdown .dropdown-menu li.active::before {
+    display: inline-block;
+    content: "✓";
+    margin-inline-start: -14px;
+    width: 14px;
+}

+ 127 - 0
v1.56/docs/website_files/version-picker.js

@@ -0,0 +1,127 @@
+
+const dropdown = document.querySelector('.version-picker .dropdown');
+const dropdownMenu = dropdown.querySelector('.dropdown-menu');
+
+fetchVersions(dropdown, dropdownMenu).then(() => {
+    initializeVersionDropdown(dropdown, dropdownMenu);
+});
+
+/**
+ * Initialize the dropdown functionality for version selection.
+ * 
+ * @param {Element} dropdown - The dropdown element.
+ * @param {Element} dropdownMenu - The dropdown menu element.
+ */
+function initializeVersionDropdown(dropdown, dropdownMenu) {
+    // Toggle the dropdown menu on click
+    dropdown.addEventListener('click', function () {
+        this.setAttribute('tabindex', 1);
+        this.classList.toggle('active');
+        dropdownMenu.style.display = (dropdownMenu.style.display === 'block') ? 'none' : 'block';
+    });
+  
+    // Remove the 'active' class and hide the dropdown menu on focusout
+    dropdown.addEventListener('focusout', function () {
+        this.classList.remove('active');
+        dropdownMenu.style.display = 'none';
+    });
+  
+    // Handle item selection within the dropdown menu
+    const dropdownMenuItems = dropdownMenu.querySelectorAll('li');    
+    dropdownMenuItems.forEach(function (item) {
+        item.addEventListener('click', function () {
+            dropdownMenuItems.forEach(function (item) {
+                item.classList.remove('active');
+            });
+            this.classList.add('active');
+            dropdown.querySelector('span').textContent = this.textContent;
+            dropdown.querySelector('input').value = this.getAttribute('id');
+
+            window.location.href = changeVersion(window.location.href, this.textContent);
+        });
+    });
+};
+
+/**
+ * This function fetches the available versions from a GitHub repository
+ * and inserts them into the version picker.
+ * 
+ * @param {Element} dropdown - The dropdown element.
+ * @param {Element} dropdownMenu - The dropdown menu element.
+ * @returns {Promise<Array<string>>} A promise that resolves with an array of available versions.
+ */
+function fetchVersions(dropdown, dropdownMenu) {
+    return new Promise((resolve, reject) => {
+        window.addEventListener("load", () => {
+
+            fetch("https://api.github.com/repos/matrix-org/synapse/git/trees/gh-pages", {
+                cache: "force-cache",
+            }).then(res => 
+                res.json()
+            ).then(resObject => {
+                const excluded = ['dev-docs', 'v1.91.0', 'v1.80.0', 'v1.69.0'];
+                const tree = resObject.tree.filter(item => item.type === "tree" && !excluded.includes(item.path));
+                const versions = tree.map(item => item.path).sort(sortVersions);
+
+                // Create a list of <li> items for versions
+                versions.forEach((version) => {
+                    const li = document.createElement("li");
+                    li.textContent = version;
+                    li.id = version;
+    
+                    if (window.SYNAPSE_VERSION === version) {
+                        li.classList.add('active');
+                        dropdown.querySelector('span').textContent = version;
+                        dropdown.querySelector('input').value = version;
+                    }
+    
+                    dropdownMenu.appendChild(li);
+                });
+
+                resolve(versions);
+
+            }).catch(ex => {
+                console.error("Failed to fetch version data", ex);
+                reject(ex);
+            })
+        });
+    });
+}
+
+/**
+ * Custom sorting function to sort an array of version strings.
+ *
+ * @param {string} a - The first version string to compare.
+ * @param {string} b - The second version string to compare.
+ * @returns {number} - A negative number if a should come before b, a positive number if b should come before a, or 0 if they are equal.
+ */
+function sortVersions(a, b) {
+    // Put 'develop' and 'latest' at the top
+    if (a === 'develop' || a === 'latest') return -1;
+    if (b === 'develop' || b === 'latest') return 1;
+
+    const versionA = (a.match(/v\d+(\.\d+)+/) || [])[0];
+    const versionB = (b.match(/v\d+(\.\d+)+/) || [])[0];
+
+    return versionB.localeCompare(versionA);
+}
+
+/**
+ * Change the version in a URL path.
+ *
+ * @param {string} url - The original URL to be modified.
+ * @param {string} newVersion - The new version to replace the existing version in the URL.
+ * @returns {string} The updated URL with the new version.
+ */
+function changeVersion(url, newVersion) {
+    const parsedURL = new URL(url);
+    const pathSegments = parsedURL.pathname.split('/');
+  
+    // Modify the version
+    pathSegments[2] = newVersion;
+
+    // Reconstruct the URL
+    parsedURL.pathname = pathSegments.join('/');
+  
+    return parsedURL.href;
+}

+ 1 - 0
v1.56/docs/website_files/version.js

@@ -0,0 +1 @@
+window.SYNAPSE_VERSION = 'v1.56';

+ 16 - 67
v1.56/federate.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Federation - Synapse</title>
         <title>Federation - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/federate.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/federate.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -240,69 +217,41 @@ useful just for development purposes. See
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="upgrade.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="upgrade.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="usage/configuration/index.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="usage/configuration/index.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="upgrade.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="upgrade.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="usage/configuration/index.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="usage/configuration/index.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 65
v1.56/index.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Welcome and Overview - Synapse</title>
         <title>Welcome and Overview - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/welcome_and_overview.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/welcome_and_overview.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -272,61 +249,35 @@ Policy</a>. Thank you!</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
-
-                        
                             <a rel="next" href="setup/installation.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="setup/installation.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
-
-                
                     <a rel="next" href="setup/installation.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="setup/installation.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/jwt.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>JSON Web Tokens - Synapse</title>
         <title>JSON Web Tokens - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/jwt.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/jwt.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -277,69 +254,41 @@ eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZXN0LXVzZXIifQ.Ag71GT8v01UO3w80
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="password_auth_providers.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="password_auth_providers.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="usage/configuration/user_authentication/refresh_tokens.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="usage/configuration/user_authentication/refresh_tokens.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="password_auth_providers.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="password_auth_providers.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="usage/configuration/user_authentication/refresh_tokens.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="usage/configuration/user_authentication/refresh_tokens.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/log_contexts.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Log Contexts - Synapse</title>
         <title>Log Contexts - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/log_contexts.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/log_contexts.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -483,69 +460,41 @@ lead to leaked logcontexts which are incredibly hard to track down.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="development/experimental_features.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="development/experimental_features.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="replication.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="replication.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="development/experimental_features.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="development/experimental_features.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="replication.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="replication.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/manhole.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Manhole - Synapse</title>
         <title>Manhole - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/manhole.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/manhole.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -254,69 +231,41 @@ parts of the process.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="usage/administration/admin_api/federation.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="usage/administration/admin_api/federation.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="metrics-howto.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="metrics-howto.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="usage/administration/admin_api/federation.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="usage/administration/admin_api/federation.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="metrics-howto.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="metrics-howto.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/media_repository.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Media Repository - Synapse</title>
         <title>Media Repository - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/media_repository.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/media_repository.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -250,69 +227,41 @@ url_cache_thumbnails/yyyy-mm-dd/aaaaaaaaaaaaaaaa/128-96-image-jpeg-scale
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="auth_chain_difference_algorithm.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="auth_chain_difference_algorithm.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="room_and_user_statistics.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="room_and_user_statistics.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="auth_chain_difference_algorithm.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="auth_chain_difference_algorithm.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="room_and_user_statistics.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="room_and_user_statistics.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/message_retention_policies.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Message Retention Policies - Synapse</title>
         <title>Message Retention Policies - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/message_retention_policies.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/message_retention_policies.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -343,69 +320,41 @@ operating system, the server admin needs to run <code>VACUUM FULL;</code> (or
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="user_directory.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="user_directory.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="modules/index.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="modules/index.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="user_directory.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="user_directory.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="modules/index.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="modules/index.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/metrics-howto.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Monitoring - Synapse</title>
         <title>Monitoring - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/metrics-howto.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/metrics-howto.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -427,69 +404,41 @@ renamed.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="manhole.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="manhole.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="usage/administration/understanding_synapse_through_grafana_graphs.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="usage/administration/understanding_synapse_through_grafana_graphs.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="manhole.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="manhole.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="usage/administration/understanding_synapse_through_grafana_graphs.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="usage/administration/understanding_synapse_through_grafana_graphs.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/modules/account_validity_callbacks.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Account validity callbacks - Synapse</title>
         <title>Account validity callbacks - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/account_validity_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/account_validity_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -216,69 +193,41 @@ represented by their Matrix user ID.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../modules/presence_router_callbacks.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../modules/presence_router_callbacks.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../modules/password_auth_provider_callbacks.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../modules/password_auth_provider_callbacks.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../modules/presence_router_callbacks.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../modules/presence_router_callbacks.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../modules/password_auth_provider_callbacks.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../modules/password_auth_provider_callbacks.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/modules/background_update_controller_callbacks.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Background update controller callbacks - Synapse</title>
         <title>Background update controller callbacks - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/background_update_controller_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/background_update_controller_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -234,69 +211,41 @@ ensure that progress is always made.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../modules/password_auth_provider_callbacks.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../modules/password_auth_provider_callbacks.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../modules/porting_legacy_module.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../modules/porting_legacy_module.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../modules/password_auth_provider_callbacks.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../modules/password_auth_provider_callbacks.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../modules/porting_legacy_module.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../modules/porting_legacy_module.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/modules/index.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Pluggable Modules - Synapse</title>
         <title>Pluggable Modules - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/index.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/index.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -229,69 +206,41 @@ another part of Synapse's configuration file.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../message_retention_policies.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../message_retention_policies.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../modules/writing_a_module.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../modules/writing_a_module.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../message_retention_policies.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../message_retention_policies.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../modules/writing_a_module.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../modules/writing_a_module.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/modules/password_auth_provider_callbacks.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Password auth provider callbacks - Synapse</title>
         <title>Password auth provider callbacks - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/password_auth_provider_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/password_auth_provider_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -422,69 +399,41 @@ class MyAuthProvider:
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../modules/account_validity_callbacks.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../modules/account_validity_callbacks.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../modules/background_update_controller_callbacks.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../modules/background_update_controller_callbacks.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../modules/account_validity_callbacks.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../modules/account_validity_callbacks.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../modules/background_update_controller_callbacks.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../modules/background_update_controller_callbacks.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/modules/porting_legacy_module.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Porting a legacy module to the new interface - Synapse</title>
         <title>Porting a legacy module to the new interface - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/porting_legacy_module.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/porting_legacy_module.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -204,69 +181,41 @@ for more info).</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../modules/background_update_controller_callbacks.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../modules/background_update_controller_callbacks.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../workers.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../workers.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../modules/background_update_controller_callbacks.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../modules/background_update_controller_callbacks.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../workers.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../workers.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/modules/presence_router_callbacks.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Presence router callbacks - Synapse</title>
         <title>Presence router callbacks - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/presence_router_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/presence_router_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -269,69 +246,41 @@ class CustomPresenceRouter:
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../modules/third_party_rules_callbacks.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../modules/third_party_rules_callbacks.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../modules/account_validity_callbacks.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../modules/account_validity_callbacks.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../modules/third_party_rules_callbacks.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../modules/third_party_rules_callbacks.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../modules/account_validity_callbacks.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../modules/account_validity_callbacks.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/modules/spam_checker_callbacks.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Spam checker callbacks - Synapse</title>
         <title>Spam checker callbacks - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/spam_checker_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/spam_checker_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -411,69 +388,41 @@ class ListSpamChecker:
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../modules/writing_a_module.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../modules/writing_a_module.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../modules/third_party_rules_callbacks.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../modules/third_party_rules_callbacks.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../modules/writing_a_module.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../modules/writing_a_module.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../modules/third_party_rules_callbacks.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../modules/third_party_rules_callbacks.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/modules/third_party_rules_callbacks.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Third-party rules callbacks - Synapse</title>
         <title>Third-party rules callbacks - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/third_party_rules_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/third_party_rules_callbacks.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -396,69 +373,41 @@ class EventCensorer:
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../modules/spam_checker_callbacks.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../modules/spam_checker_callbacks.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../modules/presence_router_callbacks.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../modules/presence_router_callbacks.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../modules/spam_checker_callbacks.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../modules/spam_checker_callbacks.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../modules/presence_router_callbacks.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../modules/presence_router_callbacks.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/modules/writing_a_module.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Writing a module - Synapse</title>
         <title>Writing a module - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/writing_a_module.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/modules/writing_a_module.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -248,69 +225,41 @@ the callback name as the argument name and the function as its value. A
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../modules/index.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../modules/index.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../modules/spam_checker_callbacks.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../modules/spam_checker_callbacks.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../modules/index.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../modules/index.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../modules/spam_checker_callbacks.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../modules/spam_checker_callbacks.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/openid.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>OpenID Connect - Synapse</title>
         <title>OpenID Connect - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/openid.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/openid.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -706,69 +683,41 @@ needed to add OAuth2 capabilities to your Django projects. It supports
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="usage/configuration/user_authentication/single_sign_on/index.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="usage/configuration/user_authentication/single_sign_on/index.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="usage/configuration/user_authentication/single_sign_on/saml.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="usage/configuration/user_authentication/single_sign_on/saml.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="usage/configuration/user_authentication/single_sign_on/index.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="usage/configuration/user_authentication/single_sign_on/index.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="usage/configuration/user_authentication/single_sign_on/saml.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="usage/configuration/user_authentication/single_sign_on/saml.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/opentracing.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>OpenTracing - Synapse</title>
         <title>OpenTracing - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/opentracing.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/opentracing.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -260,69 +237,41 @@ logged to OpenTracing's logs.</li>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="development/demo.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="development/demo.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="development/database_schema.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="development/database_schema.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="development/demo.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="development/demo.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="development/database_schema.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="development/database_schema.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 65
v1.56/other/running_synapse_on_single_board_computers.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Running Synapse on a Single-Board Computer - Synapse</title>
         <title>Running Synapse on a Single-Board Computer - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/other/running_synapse_on_single_board_computers.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/other/running_synapse_on_single_board_computers.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -243,61 +220,35 @@ admin@homeserver:~$ sudo --user postgres psql matrix-synapse --command 'select c
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../deprecation_policy.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../deprecation_policy.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../deprecation_policy.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../deprecation_policy.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/password_auth_providers.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Password Auth Providers - Synapse</title>
         <title>Password Auth Providers - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/password_auth_providers.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/password_auth_providers.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -301,69 +278,41 @@ wait for the <code>Awaitable</code> to complete, but the result is ignored.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="sso_mapping_providers.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="sso_mapping_providers.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="jwt.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="jwt.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="sso_mapping_providers.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="sso_mapping_providers.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="jwt.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="jwt.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/postgres.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Using Postgres - Synapse</title>
         <title>Using Postgres - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/postgres.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/postgres.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -388,69 +365,41 @@ successfully.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="setup/installation.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="setup/installation.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="reverse_proxy.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="reverse_proxy.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="setup/installation.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="setup/installation.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="reverse_proxy.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="reverse_proxy.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 111 - 161
v1.56/print.html

@@ -4,55 +4,32 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Synapse</title>
         <title>Synapse</title>
-        
         <meta name="robots" content="noindex" />
         <meta name="robots" content="noindex" />
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -109,7 +86,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -126,32 +102,35 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -162,8 +141,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -180,7 +157,7 @@
                             <nav class="pagetoc"></nav>
                             <nav class="pagetoc"></nav>
                         </div>
                         </div>
 
 
-                        <div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="introduction"><a class="header" href="#introduction">Introduction</a></h1>
+                        <div style="break-before: page; page-break-before: always;"></div><h1 id="introduction"><a class="header" href="#introduction">Introduction</a></h1>
 <p>Welcome to the documentation repository for Synapse, a 
 <p>Welcome to the documentation repository for Synapse, a 
 <a href="https://matrix.org">Matrix</a> homeserver implementation developed by the matrix.org core 
 <a href="https://matrix.org">Matrix</a> homeserver implementation developed by the matrix.org core 
 team.</p>
 team.</p>
@@ -265,7 +242,7 @@ reach out to us over email at: support (at) matrix.org</p>
 <p>If you've found a security issue in Synapse or any other Matrix.org Foundation
 <p>If you've found a security issue in Synapse or any other Matrix.org Foundation
 project, please report it to us in accordance with our <a href="https://www.matrix.org/security-disclosure-policy/">Security Disclosure
 project, please report it to us in accordance with our <a href="https://www.matrix.org/security-disclosure-policy/">Security Disclosure
 Policy</a>. Thank you!</p>
 Policy</a>. Thank you!</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="installation-instructions"><a class="header" href="#installation-instructions">Installation Instructions</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="installation-instructions"><a class="header" href="#installation-instructions">Installation Instructions</a></h1>
 <h2 id="choosing-your-server-name"><a class="header" href="#choosing-your-server-name">Choosing your server name</a></h2>
 <h2 id="choosing-your-server-name"><a class="header" href="#choosing-your-server-name">Choosing your server name</a></h2>
 <p>It is important to choose the name for your server before you install Synapse,
 <p>It is important to choose the name for your server before you install Synapse,
 because it cannot be changed later.</p>
 because it cannot be changed later.</p>
@@ -668,7 +645,7 @@ failing, e.g.:</p>
 </code></pre>
 </code></pre>
 <p>If you have any other problems, feel free to ask in
 <p>If you have any other problems, feel free to ask in
 <a href="https://matrix.to/#/#synapse:matrix.org">#synapse:matrix.org</a>.</p>
 <a href="https://matrix.to/#/#synapse:matrix.org">#synapse:matrix.org</a>.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="using-postgres"><a class="header" href="#using-postgres">Using Postgres</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="using-postgres"><a class="header" href="#using-postgres">Using Postgres</a></h1>
 <p>Synapse supports PostgreSQL versions 10 or later.</p>
 <p>Synapse supports PostgreSQL versions 10 or later.</p>
 <h2 id="install-postgres-client-libraries"><a class="header" href="#install-postgres-client-libraries">Install postgres client libraries</a></h2>
 <h2 id="install-postgres-client-libraries"><a class="header" href="#install-postgres-client-libraries">Install postgres client libraries</a></h2>
 <p>Synapse will require the python postgres client library in order to
 <p>Synapse will require the python postgres client library in order to
@@ -869,7 +846,7 @@ downgraded and then upgraded again.</p>
 <p>To fix the issue shut down Synapse (including any and all workers) and run the
 <p>To fix the issue shut down Synapse (including any and all workers) and run the
 SQL command included in the error message. Once done Synapse should start
 SQL command included in the error message. Once done Synapse should start
 successfully.</p>
 successfully.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="using-a-reverse-proxy-with-synapse"><a class="header" href="#using-a-reverse-proxy-with-synapse">Using a reverse proxy with Synapse</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="using-a-reverse-proxy-with-synapse"><a class="header" href="#using-a-reverse-proxy-with-synapse">Using a reverse proxy with Synapse</a></h1>
 <p>It is recommended to put a reverse proxy such as
 <p>It is recommended to put a reverse proxy such as
 <a href="https://nginx.org/en/docs/http/ngx_http_proxy_module.html">nginx</a>,
 <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://httpd.apache.org/docs/current/mod/mod_proxy_http.html">Apache</a>,
@@ -1095,7 +1072,7 @@ Each configured HTTP listener has a <code>/health</code> endpoint which always r
 <code>/_synapse/admin</code>. These require authentication through an access token of an
 <code>/_synapse/admin</code>. These require authentication through an access token of an
 admin user. However as access to these endpoints grants the caller a lot of power,
 admin user. However as access to these endpoints grants the caller a lot of power,
 we do not recommend exposing them to the public internet without good reason.</p>
 we do not recommend exposing them to the public internet without good reason.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="using-a-forward-proxy-with-synapse"><a class="header" href="#using-a-forward-proxy-with-synapse">Using a forward proxy with Synapse</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="using-a-forward-proxy-with-synapse"><a class="header" href="#using-a-forward-proxy-with-synapse">Using a forward proxy with Synapse</a></h1>
 <p>You can use Synapse with a forward or outbound proxy. An example of when
 <p>You can use Synapse with a forward or outbound proxy. An example of when
 this is necessary is in corporate environments behind a DMZ (demilitarized zone).
 this is necessary is in corporate environments behind a DMZ (demilitarized zone).
 Synapse supports routing outbound HTTP(S) requests via a proxy. Only HTTP(S)
 Synapse supports routing outbound HTTP(S) requests via a proxy. Only HTTP(S)
@@ -1170,7 +1147,7 @@ in Synapse can be deactivated.</p>
 <a href="setup/../usage/configuration/homeserver_sample_config.html">homserver.yaml</a>.</p>
 <a href="setup/../usage/configuration/homeserver_sample_config.html">homserver.yaml</a>.</p>
 <pre><code class="language-yaml">use_insecure_ssl_client_just_for_testing_do_not_use: true
 <pre><code class="language-yaml">use_insecure_ssl_client_just_for_testing_do_not_use: true
 </code></pre>
 </code></pre>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="overview-1"><a class="header" href="#overview-1">Overview</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="overview-1"><a class="header" href="#overview-1">Overview</a></h1>
 <p>This document explains how to enable VoIP relaying on your homeserver with
 <p>This document explains how to enable VoIP relaying on your homeserver with
 TURN.</p>
 TURN.</p>
 <p>The synapse Matrix homeserver supports integration with TURN server via the
 <p>The synapse Matrix homeserver supports integration with TURN server via the
@@ -1490,7 +1467,7 @@ Matrix clients!</p>
 entry in the results.</p>
 entry in the results.</p>
 </li>
 </li>
 </ul>
 </ul>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="delegation-of-incoming-federation-traffic"><a class="header" href="#delegation-of-incoming-federation-traffic">Delegation of incoming federation traffic</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="delegation-of-incoming-federation-traffic"><a class="header" href="#delegation-of-incoming-federation-traffic">Delegation of incoming federation traffic</a></h1>
 <p>In the following documentation, we use the term <code>server_name</code> to refer to that setting
 <p>In the following documentation, we use the term <code>server_name</code> to refer to that setting
 in your homeserver configuration file. It appears at the ends of user ids, and tells
 in your homeserver configuration file. It appears at the ends of user ids, and tells
 other homeservers where they can find your server.</p>
 other homeservers where they can find your server.</p>
@@ -1562,7 +1539,7 @@ find it using delegation.</p>
 idea, since it saves handling TLS traffic in Synapse. See
 idea, since it saves handling TLS traffic in Synapse. See
 <a href="reverse_proxy.html">the reverse proxy documentation</a> for information on setting up a
 <a href="reverse_proxy.html">the reverse proxy documentation</a> for information on setting up a
 reverse proxy.</p>
 reverse proxy.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="upgrading-synapse"><a class="header" href="#upgrading-synapse">Upgrading Synapse</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="upgrading-synapse"><a class="header" href="#upgrading-synapse">Upgrading Synapse</a></h1>
 <p>Before upgrading check if any special steps are required to upgrade from
 <p>Before upgrading check if any special steps are required to upgrade from
 the version you currently have installed to the current version of
 the version you currently have installed to the current version of
 Synapse. The extra instructions that may be required are listed later in
 Synapse. The extra instructions that may be required are listed later in
@@ -2894,7 +2871,7 @@ longer to restart than usual as it reinitializes the database.</p>
 using room aliases or by being reinvited. Alternatively, if any other
 using room aliases or by being reinvited. Alternatively, if any other
 homeserver sends a message to a room that the homeserver was previously
 homeserver sends a message to a room that the homeserver was previously
 in the local HS will automatically rejoin the room.</p>
 in the local HS will automatically rejoin the room.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="setting-up-federation"><a class="header" href="#setting-up-federation">Setting up federation</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="setting-up-federation"><a class="header" href="#setting-up-federation">Setting up federation</a></h1>
 <p>Federation is the process by which users on different servers can participate
 <p>Federation is the process by which users on different servers can participate
 in the same room. For this to work, those other servers must be able to contact
 in the same room. For this to work, those other servers must be able to contact
 yours to send messages.</p>
 yours to send messages.</p>
@@ -2947,10 +2924,10 @@ release of Synapse.</p>
 private federation, there is a script in the <code>demo</code> directory. This is mainly
 private federation, there is a script in the <code>demo</code> directory. This is mainly
 useful just for development purposes. See
 useful just for development purposes. See
 <a href="https://matrix-org.github.io/synapse/develop/development/demo.html">demo scripts</a>.</p>
 <a href="https://matrix-org.github.io/synapse/develop/development/demo.html">demo scripts</a>.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="configuration-1"><a class="header" href="#configuration-1">Configuration</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="configuration-1"><a class="header" href="#configuration-1">Configuration</a></h1>
 <p>This section contains information on tweaking Synapse via the various options in the configuration file. A configuration
 <p>This section contains information on tweaking Synapse via the various options in the configuration file. A configuration
 file should have been generated when you <a href="usage/configuration/../../setup/installation.html">installed Synapse</a>.</p>
 file should have been generated when you <a href="usage/configuration/../../setup/installation.html">installed Synapse</a>.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="homeserver-sample-configuration-file"><a class="header" href="#homeserver-sample-configuration-file">Homeserver Sample Configuration File</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="homeserver-sample-configuration-file"><a class="header" href="#homeserver-sample-configuration-file">Homeserver Sample Configuration File</a></h1>
 <p>Below is a sample homeserver configuration file. The homeserver configuration file 
 <p>Below is a sample homeserver configuration file. The homeserver configuration file 
 can be tweaked to change the behaviour of your homeserver. A restart of the server is 
 can be tweaked to change the behaviour of your homeserver. A restart of the server is 
 generally required to apply any changes made to this file.</p>
 generally required to apply any changes made to this file.</p>
@@ -5742,7 +5719,7 @@ background_updates:
     #
     #
     #default_batch_size: 50
     #default_batch_size: 50
 </code></pre>
 </code></pre>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="logging-sample-configuration-file"><a class="header" href="#logging-sample-configuration-file">Logging Sample Configuration File</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="logging-sample-configuration-file"><a class="header" href="#logging-sample-configuration-file">Logging Sample Configuration File</a></h1>
 <p>Below is a sample logging configuration file. This file can be tweaked to control how your
 <p>Below is a sample logging configuration file. This file can be tweaked to control how your
 homeserver will output logs. A restart of the server is generally required to apply any
 homeserver will output logs. A restart of the server is generally required to apply any
 changes made to this file. The value of the <code>log_config</code> option in your homeserver
 changes made to this file. The value of the <code>log_config</code> option in your homeserver
@@ -5835,7 +5812,7 @@ root:
 
 
 disable_existing_loggers: false
 disable_existing_loggers: false
 </code></pre>
 </code></pre>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="structured-logging"><a class="header" href="#structured-logging">Structured Logging</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="structured-logging"><a class="header" href="#structured-logging">Structured Logging</a></h1>
 <p>A structured logging system can be useful when your logs are destined for a
 <p>A structured logging system can be useful when your logs are destined for a
 machine to parse and process. By maintaining its machine-readable characteristics,
 machine to parse and process. By maintaining its machine-readable characteristics,
 it enables more efficient searching and aggregations when consumed by software
 it enables more efficient searching and aggregations when consumed by software
@@ -5973,7 +5950,7 @@ loggers:
 flexible. It allows for configuration that were not previously possible, such as
 flexible. It allows for configuration that were not previously possible, such as
 sending plain logs over the network, or using different handlers for different
 sending plain logs over the network, or using different handlers for different
 modules.</p>
 modules.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="templates"><a class="header" href="#templates">Templates</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="templates"><a class="header" href="#templates">Templates</a></h1>
 <p>Synapse uses parametrised templates to generate the content of emails it sends and
 <p>Synapse uses parametrised templates to generate the content of emails it sends and
 webpages it shows to users.</p>
 webpages it shows to users.</p>
 <p>By default, Synapse will use the templates listed <a href="https://github.com/matrix-org/synapse/tree/master/synapse/res/templates">here</a>.
 <p>By default, Synapse will use the templates listed <a href="https://github.com/matrix-org/synapse/tree/master/synapse/res/templates">here</a>.
@@ -6255,7 +6232,7 @@ When rendering, this template is given two variables:
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="user-authentication"><a class="header" href="#user-authentication">User Authentication</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="user-authentication"><a class="header" href="#user-authentication">User Authentication</a></h1>
 <p>Synapse supports multiple methods of authenticating users, either out-of-the-box or through custom pluggable
 <p>Synapse supports multiple methods of authenticating users, either out-of-the-box or through custom pluggable
 authentication modules.</p>
 authentication modules.</p>
 <p>Included in Synapse is support for authenticating users via:</p>
 <p>Included in Synapse is support for authenticating users via:</p>
@@ -6268,11 +6245,11 @@ authentication modules.</p>
 </ul>
 </ul>
 <p>Synapse can additionally be extended to support custom authentication schemes through optional &quot;password auth provider&quot;
 <p>Synapse can additionally be extended to support custom authentication schemes through optional &quot;password auth provider&quot;
 modules.</p>
 modules.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="single-sign-on"><a class="header" href="#single-sign-on">Single Sign-On</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="single-sign-on"><a class="header" href="#single-sign-on">Single Sign-On</a></h1>
 <p>Synapse supports single sign-on through the SAML, Open ID Connect or CAS protocols. 
 <p>Synapse supports single sign-on through the SAML, Open ID Connect or CAS protocols. 
 LDAP and other login methods are supported through first and third-party password
 LDAP and other login methods are supported through first and third-party password
 auth provider modules.</p>
 auth provider modules.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="configuring-synapse-to-authenticate-against-an-openid-connect-provider"><a class="header" href="#configuring-synapse-to-authenticate-against-an-openid-connect-provider">Configuring Synapse to authenticate against an OpenID Connect provider</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="configuring-synapse-to-authenticate-against-an-openid-connect-provider"><a class="header" href="#configuring-synapse-to-authenticate-against-an-openid-connect-provider">Configuring Synapse to authenticate against an OpenID Connect provider</a></h1>
 <p>Synapse can be configured to use an OpenID Connect Provider (OP) for
 <p>Synapse can be configured to use an OpenID Connect Provider (OP) for
 authentication, instead of its own local password database.</p>
 authentication, instead of its own local password database.</p>
 <p>Any OP should work with Synapse, as long as it supports the authorization code
 <p>Any OP should work with Synapse, as long as it supports the authorization code
@@ -6791,19 +6768,19 @@ needed to add OAuth2 capabilities to your Django projects. It supports
         display_name_template: &quot;{{ user.first_name }} {{ user.last_name }}&quot;
         display_name_template: &quot;{{ user.first_name }} {{ user.last_name }}&quot;
         email_template: &quot;{{ user.email }}&quot;
         email_template: &quot;{{ user.email }}&quot;
 </code></pre>
 </code></pre>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="saml"><a class="header" href="#saml">SAML</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="saml"><a class="header" href="#saml">SAML</a></h1>
 <p>Synapse supports authenticating users via the <a href="https://en.wikipedia.org/wiki/Security_Assertion_Markup_Language">Security Assertion
 <p>Synapse supports authenticating users via the <a href="https://en.wikipedia.org/wiki/Security_Assertion_Markup_Language">Security Assertion
 Markup Language</a>
 Markup Language</a>
 (SAML) protocol natively.</p>
 (SAML) protocol natively.</p>
 <p>Please see the <code>saml2_config</code> and <code>sso</code> sections of the <a href="usage/configuration/user_authentication/single_sign_on/../../../configuration/homeserver_sample_config.html">Synapse configuration
 <p>Please see the <code>saml2_config</code> and <code>sso</code> sections of the <a href="usage/configuration/user_authentication/single_sign_on/../../../configuration/homeserver_sample_config.html">Synapse configuration
 file</a> for more details.</p>
 file</a> for more details.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="cas"><a class="header" href="#cas">CAS</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="cas"><a class="header" href="#cas">CAS</a></h1>
 <p>Synapse supports authenticating users via the <a href="https://en.wikipedia.org/wiki/Central_Authentication_Service">Central Authentication
 <p>Synapse supports authenticating users via the <a href="https://en.wikipedia.org/wiki/Central_Authentication_Service">Central Authentication
 Service protocol</a>
 Service protocol</a>
 (CAS) natively.</p>
 (CAS) natively.</p>
 <p>Please see the <code>cas_config</code> and <code>sso</code> sections of the <a href="usage/configuration/user_authentication/single_sign_on/../../../configuration/homeserver_sample_config.html">Synapse configuration
 <p>Please see the <code>cas_config</code> and <code>sso</code> sections of the <a href="usage/configuration/user_authentication/single_sign_on/../../../configuration/homeserver_sample_config.html">Synapse configuration
 file</a> for more details.</p>
 file</a> for more details.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="sso-mapping-providers"><a class="header" href="#sso-mapping-providers">SSO Mapping Providers</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="sso-mapping-providers"><a class="header" href="#sso-mapping-providers">SSO Mapping Providers</a></h1>
 <p>A mapping provider is a Python class (loaded via a Python module) that
 <p>A mapping provider is a Python class (loaded via a Python module) that
 works out how to map attributes of a SSO response to Matrix-specific
 works out how to map attributes of a SSO response to Matrix-specific
 user attributes. Details such as user ID localpart, displayname, and even avatar
 user attributes. Details such as user ID localpart, displayname, and even avatar
@@ -7052,7 +7029,7 @@ complete registration using methods from the <code>ModuleApi</code>.</p>
 <p>Synapse has a built-in SAML mapping provider if a custom provider isn't
 <p>Synapse has a built-in SAML mapping provider if a custom provider isn't
 specified in the config. It is located at
 specified in the config. It is located at
 <a href="https://github.com/matrix-org/synapse/blob/develop/synapse/handlers/saml.py"><code>synapse.handlers.saml.DefaultSamlMappingProvider</code></a>.</p>
 <a href="https://github.com/matrix-org/synapse/blob/develop/synapse/handlers/saml.py"><code>synapse.handlers.saml.DefaultSamlMappingProvider</code></a>.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h2 style="color:red">
+<div style="break-before: page; page-break-before: always;"></div><h2 style="color:red">
 This page of the Synapse documentation is now deprecated. For up to date
 This page of the Synapse documentation is now deprecated. For up to date
 documentation on setting up or writing a password auth provider module, please see
 documentation on setting up or writing a password auth provider module, please see
 <a href="modules/index.html">this page</a>.
 <a href="modules/index.html">this page</a>.
@@ -7166,7 +7143,7 @@ device ID), and the (now deactivated) access token.</p>
 wait for the <code>Awaitable</code> to complete, but the result is ignored.</p>
 wait for the <code>Awaitable</code> to complete, but the result is ignored.</p>
 </li>
 </li>
 </ul>
 </ul>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="jwt-login-type"><a class="header" href="#jwt-login-type">JWT Login Type</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="jwt-login-type"><a class="header" href="#jwt-login-type">JWT Login Type</a></h1>
 <p>Synapse comes with a non-standard login type to support
 <p>Synapse comes with a non-standard login type to support
 <a href="https://en.wikipedia.org/wiki/JSON_Web_Token">JSON Web Tokens</a>. In general the
 <a href="https://en.wikipedia.org/wiki/JSON_Web_Token">JSON Web Tokens</a>. In general the
 documentation for
 documentation for
@@ -7256,7 +7233,7 @@ eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZXN0LXVzZXIifQ.Ag71GT8v01UO3w80
 </li>
 </li>
 </ol>
 </ol>
 <p>You should now be able to use the returned access token to query the client API.</p>
 <p>You should now be able to use the returned access token to query the client API.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="refresh-tokens"><a class="header" href="#refresh-tokens">Refresh Tokens</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="refresh-tokens"><a class="header" href="#refresh-tokens">Refresh Tokens</a></h1>
 <p>Synapse supports refresh tokens since version 1.49 (some earlier versions had support for an earlier, experimental draft of <a href="https://github.com/matrix-org/matrix-doc/blob/main/proposals/2918-refreshtokens.md#msc2918-refresh-tokens">MSC2918</a> which is not compatible).</p>
 <p>Synapse supports refresh tokens since version 1.49 (some earlier versions had support for an earlier, experimental draft of <a href="https://github.com/matrix-org/matrix-doc/blob/main/proposals/2918-refreshtokens.md#msc2918-refresh-tokens">MSC2918</a> which is not compatible).</p>
 <h2 id="background-and-motivation"><a class="header" href="#background-and-motivation">Background and motivation</a></h2>
 <h2 id="background-and-motivation"><a class="header" href="#background-and-motivation">Background and motivation</a></h2>
 <p>Synapse users' sessions are identified by <strong>access tokens</strong>; access tokens are
 <p>Synapse users' sessions are identified by <strong>access tokens</strong>; access tokens are
@@ -7378,7 +7355,7 @@ above requirements will still hold.</em></p>
 <li><code>refresh_token_lifetime</code> should be set to <code>L</code>; and</li>
 <li><code>refresh_token_lifetime</code> should be set to <code>L</code>; and</li>
 <li><code>refreshable_access_token_lifetime</code> should be set to <code>L - S</code>.</li>
 <li><code>refreshable_access_token_lifetime</code> should be set to <code>L - S</code>.</li>
 </ul>
 </ul>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="overview-2"><a class="header" href="#overview-2">Overview</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="overview-2"><a class="header" href="#overview-2">Overview</a></h1>
 <p>A captcha can be enabled on your homeserver to help prevent bots from registering
 <p>A captcha can be enabled on your homeserver to help prevent bots from registering
 accounts. Synapse currently uses Google's reCAPTCHA service which requires API keys
 accounts. Synapse currently uses Google's reCAPTCHA service which requires API keys
 from Google.</p>
 from Google.</p>
@@ -7413,7 +7390,7 @@ CAPTCHA is sent. If the client is connecting through a proxy or load balancer,
 it may be required to use the <code>X-Forwarded-For</code> (XFF) header instead of the origin
 it may be required to use the <code>X-Forwarded-For</code> (XFF) header instead of the origin
 IP address. This can be configured using the <code>x_forwarded</code> directive in the
 IP address. This can be configured using the <code>x_forwarded</code> directive in the
 listeners section of the <code>homeserver.yaml</code> configuration file.</p>
 listeners section of the <code>homeserver.yaml</code> configuration file.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="registering-an-application-service"><a class="header" href="#registering-an-application-service">Registering an Application Service</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="registering-an-application-service"><a class="header" href="#registering-an-application-service">Registering an Application Service</a></h1>
 <p>The registration of new application services depends on the homeserver used. 
 <p>The registration of new application services depends on the homeserver used. 
 In synapse, you need to create a new configuration file for your AS and add it
 In synapse, you need to create a new configuration file for your AS and add it
 to the list specified under the <code>app_service_config_files</code> config
 to the list specified under the <code>app_service_config_files</code> config
@@ -7439,7 +7416,7 @@ namespaces:
 <p><code>exclusive</code>: If enabled, only this application service is allowed to register users in its namespace(s).
 <p><code>exclusive</code>: If enabled, only this application service is allowed to register users in its namespace(s).
 <code>group_id</code>: All users of this application service are dynamically joined to this group. This is useful for e.g user organisation or flairs.</p>
 <code>group_id</code>: All users of this application service are dynamically joined to this group. This is useful for e.g user organisation or flairs.</p>
 <p>See the <a href="https://matrix.org/docs/spec/application_service/unstable.html">spec</a> for further details on how application services work.</p>
 <p>See the <a href="https://matrix.org/docs/spec/application_service/unstable.html">spec</a> for further details on how application services work.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="server-notices"><a class="header" href="#server-notices">Server Notices</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="server-notices"><a class="header" href="#server-notices">Server Notices</a></h1>
 <p>'Server Notices' are a new feature introduced in Synapse 0.30. They provide a
 <p>'Server Notices' are a new feature introduced in Synapse 0.30. They provide a
 channel whereby server administrators can send messages to users on the server.</p>
 channel whereby server administrators can send messages to users on the server.</p>
 <p>They are used as part of communication of the server polices (see
 <p>They are used as part of communication of the server polices (see
@@ -7483,7 +7460,7 @@ displayname and avatar of the Server Notices user.</p>
 <h2 id="sending-notices"><a class="header" href="#sending-notices">Sending notices</a></h2>
 <h2 id="sending-notices"><a class="header" href="#sending-notices">Sending notices</a></h2>
 <p>To send server notices to users you can use the
 <p>To send server notices to users you can use the
 <a href="admin_api/server_notices.html">admin_api</a>.</p>
 <a href="admin_api/server_notices.html">admin_api</a>.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="support-in-synapse-for-tracking-agreement-to-server-terms-and-conditions"><a class="header" href="#support-in-synapse-for-tracking-agreement-to-server-terms-and-conditions">Support in Synapse for tracking agreement to server terms and conditions</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="support-in-synapse-for-tracking-agreement-to-server-terms-and-conditions"><a class="header" href="#support-in-synapse-for-tracking-agreement-to-server-terms-and-conditions">Support in Synapse for tracking agreement to server terms and conditions</a></h1>
 <p>Synapse 0.30 introduces support for tracking whether users have agreed to the
 <p>Synapse 0.30 introduces support for tracking whether users have agreed to the
 terms and conditions set by the administrator of a server - and blocking access
 terms and conditions set by the administrator of a server - and blocking access
 to the server until they have.</p>
 to the server until they have.</p>
@@ -7644,7 +7621,7 @@ consent uri for that user.</p>
 <p>ensure that <code>public_baseurl</code> is set in <code>homeserver.yaml</code>, and gives the base
 <p>ensure that <code>public_baseurl</code> is set in <code>homeserver.yaml</code>, and gives the base
 URI that clients use to connect to the server. (It is used to construct
 URI that clients use to connect to the server. (It is used to construct
 <code>consent_uri</code> in the error.)</p>
 <code>consent_uri</code> in the error.)</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="url-previews-1"><a class="header" href="#url-previews-1">URL Previews</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="url-previews-1"><a class="header" href="#url-previews-1">URL Previews</a></h1>
 <p>The <code>GET /_matrix/media/r0/preview_url</code> endpoint provides a generic preview API
 <p>The <code>GET /_matrix/media/r0/preview_url</code> endpoint provides a generic preview API
 for URLs which outputs <a href="https://ogp.me/">Open Graph</a> responses (with some Matrix
 for URLs which outputs <a href="https://ogp.me/">Open Graph</a> responses (with some Matrix
 specific additions).</p>
 specific additions).</p>
@@ -7728,7 +7705,7 @@ provider and saves the local media metadata.</li>
 <p>The in-memory cache expires after 1 hour.</p>
 <p>The in-memory cache expires after 1 hour.</p>
 <p>Expired entries in the database cache (and their associated media files) are
 <p>Expired entries in the database cache (and their associated media files) are
 deleted every 10 seconds. The default expiration time is 1 hour from download.</p>
 deleted every 10 seconds. The default expiration time is 1 hour from download.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="user-directory-api-implementation"><a class="header" href="#user-directory-api-implementation">User Directory API Implementation</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="user-directory-api-implementation"><a class="header" href="#user-directory-api-implementation">User Directory API Implementation</a></h1>
 <p>The user directory is currently maintained based on the 'visible' users
 <p>The user directory is currently maintained based on the 'visible' users
 on this particular server - i.e. ones which your account shares a room with, or
 on this particular server - i.e. ones which your account shares a room with, or
 who are present in a publicly viewable room present on the server.</p>
 who are present in a publicly viewable room present on the server.</p>
@@ -7783,7 +7760,7 @@ is a local user and <code>M</code> is a local or remote user. <code>L</code> and
 different, but this isn't enforced by a constraint.</p>
 different, but this isn't enforced by a constraint.</p>
 </li>
 </li>
 </ul>
 </ul>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="message-retention-policies"><a class="header" href="#message-retention-policies">Message retention policies</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="message-retention-policies"><a class="header" href="#message-retention-policies">Message retention policies</a></h1>
 <p>Synapse admins can enable support for message retention policies on
 <p>Synapse admins can enable support for message retention policies on
 their homeserver. Message retention policies exist at a room level,
 their homeserver. Message retention policies exist at a room level,
 follow the semantics described in
 follow the semantics described in
@@ -7939,7 +7916,7 @@ space, it will start writing new data into where the purged data was.</p>
 operating system, the server admin needs to run <code>VACUUM FULL;</code> (or
 operating system, the server admin needs to run <code>VACUUM FULL;</code> (or
 <code>VACUUM;</code> for SQLite databases) on Synapse's database (see the related
 <code>VACUUM;</code> for SQLite databases) on Synapse's database (see the related
 <a href="https://www.postgresql.org/docs/current/sql-vacuum.html">PostgreSQL documentation</a>).</p>
 <a href="https://www.postgresql.org/docs/current/sql-vacuum.html">PostgreSQL documentation</a>).</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="modules"><a class="header" href="#modules">Modules</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="modules"><a class="header" href="#modules">Modules</a></h1>
 <p>Synapse supports extending its functionality by configuring external modules.</p>
 <p>Synapse supports extending its functionality by configuring external modules.</p>
 <p><strong>Note</strong>: When using third-party modules, you effectively allow someone else to run
 <p><strong>Note</strong>: When using third-party modules, you effectively allow someone else to run
 custom code on your Synapse homeserver. Server admins are encouraged to verify the
 custom code on your Synapse homeserver. Server admins are encouraged to verify the
@@ -7981,7 +7958,7 @@ another part of Synapse's configuration file.</p>
 <li>presence router</li>
 <li>presence router</li>
 <li>password auth providers</li>
 <li>password auth providers</li>
 </ul>
 </ul>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="writing-a-module"><a class="header" href="#writing-a-module">Writing a module</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="writing-a-module"><a class="header" href="#writing-a-module">Writing a module</a></h1>
 <p>A module is a Python class that uses Synapse's module API to interact with the
 <p>A module is a Python class that uses Synapse's module API to interact with the
 homeserver. It can register callbacks that Synapse will call on specific operations, as
 homeserver. It can register callbacks that Synapse will call on specific operations, as
 well as web resources to attach to Synapse's web server.</p>
 well as web resources to attach to Synapse's web server.</p>
@@ -8042,7 +8019,7 @@ the callback name as the argument name and the function as its value. A
 <code>register_[...]_callbacks</code> method exists for each category.</p>
 <code>register_[...]_callbacks</code> method exists for each category.</p>
 <p>Callbacks for each category can be found on their respective page of the
 <p>Callbacks for each category can be found on their respective page of the
 <a href="https://matrix-org.github.io/synapse">Synapse documentation website</a>.</p>
 <a href="https://matrix-org.github.io/synapse">Synapse documentation website</a>.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="spam-checker-callbacks"><a class="header" href="#spam-checker-callbacks">Spam checker callbacks</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="spam-checker-callbacks"><a class="header" href="#spam-checker-callbacks">Spam checker callbacks</a></h1>
 <p>Spam checker callbacks allow module developers to implement spam mitigation actions for
 <p>Spam checker callbacks allow module developers to implement spam mitigation actions for
 Synapse instances. Spam checker callbacks can be registered using the module API's
 Synapse instances. Spam checker callbacks can be registered using the module API's
 <code>register_spam_checker_callbacks</code> method.</p>
 <code>register_spam_checker_callbacks</code> method.</p>
@@ -8266,7 +8243,7 @@ class ListSpamChecker:
     async def check_event_for_spam(self, event: &quot;synapse.events.EventBase&quot;) -&gt; Union[bool, str]:
     async def check_event_for_spam(self, event: &quot;synapse.events.EventBase&quot;) -&gt; Union[bool, str]:
         return event.sender not in self.evil_users
         return event.sender not in self.evil_users
 </code></pre>
 </code></pre>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="third-party-rules-callbacks"><a class="header" href="#third-party-rules-callbacks">Third party rules callbacks</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="third-party-rules-callbacks"><a class="header" href="#third-party-rules-callbacks">Third party rules callbacks</a></h1>
 <p>Third party rules callbacks allow module developers to add extra checks to verify the
 <p>Third party rules callbacks allow module developers to add extra checks to verify the
 validity of incoming events. Third party event rules callbacks can be registered using
 validity of incoming events. Third party event rules callbacks can be registered using
 the module API's <code>register_third_party_rules_callbacks</code> method.</p>
 the module API's <code>register_third_party_rules_callbacks</code> method.</p>
@@ -8475,7 +8452,7 @@ class EventCensorer:
         event_dict[&quot;content&quot;] = new_event_content
         event_dict[&quot;content&quot;] = new_event_content
         return event_dict
         return event_dict
 </code></pre>
 </code></pre>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="presence-router-callbacks"><a class="header" href="#presence-router-callbacks">Presence router callbacks</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="presence-router-callbacks"><a class="header" href="#presence-router-callbacks">Presence router callbacks</a></h1>
 <p>Presence router callbacks allow module developers to specify additional users (local or remote)
 <p>Presence router callbacks allow module developers to specify additional users (local or remote)
 to receive certain presence updates from local users. Presence router callbacks can be 
 to receive certain presence updates from local users. Presence router callbacks can be 
 registered using the module API's <code>register_presence_router_callbacks</code> method.</p>
 registered using the module API's <code>register_presence_router_callbacks</code> method.</p>
@@ -8557,7 +8534,7 @@ class CustomPresenceRouter:
 
 
         return set()
         return set()
 </code></pre>
 </code></pre>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="account-validity-callbacks"><a class="header" href="#account-validity-callbacks">Account validity callbacks</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="account-validity-callbacks"><a class="header" href="#account-validity-callbacks">Account validity callbacks</a></h1>
 <p>Account validity callbacks allow module developers to add extra steps to verify the
 <p>Account validity callbacks allow module developers to add extra steps to verify the
 validity on an account, i.e. see if a user can be granted access to their account on the
 validity on an account, i.e. see if a user can be granted access to their account on the
 Synapse instance. Account validity callbacks can be registered using the module API's
 Synapse instance. Account validity callbacks can be registered using the module API's
@@ -8586,7 +8563,7 @@ any of the subsequent implementations of this callback.</p>
 operations to keep track of them. (e.g. add them to a database table). The user is
 operations to keep track of them. (e.g. add them to a database table). The user is
 represented by their Matrix user ID.</p>
 represented by their Matrix user ID.</p>
 <p>If multiple modules implement this callback, Synapse runs them all in order.</p>
 <p>If multiple modules implement this callback, Synapse runs them all in order.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="password-auth-provider-callbacks"><a class="header" href="#password-auth-provider-callbacks">Password auth provider callbacks</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="password-auth-provider-callbacks"><a class="header" href="#password-auth-provider-callbacks">Password auth provider callbacks</a></h1>
 <p>Password auth providers offer a way for server administrators to integrate
 <p>Password auth providers offer a way for server administrators to integrate
 their Synapse installation with an external authentication system. The callbacks can be
 their Synapse installation with an external authentication system. The callbacks can be
 registered by using the Module API's <code>register_password_auth_provider_callbacks</code> method.</p>
 registered by using the Module API's <code>register_password_auth_provider_callbacks</code> method.</p>
@@ -8821,7 +8798,7 @@ class MyAuthProvider:
         if self.credentials.get(username) == login_dict.get(&quot;password&quot;):
         if self.credentials.get(username) == login_dict.get(&quot;password&quot;):
             return self.api.get_qualified_user_id(username)
             return self.api.get_qualified_user_id(username)
 </code></pre>
 </code></pre>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="background-update-controller-callbacks"><a class="header" href="#background-update-controller-callbacks">Background update controller callbacks</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="background-update-controller-callbacks"><a class="header" href="#background-update-controller-callbacks">Background update controller callbacks</a></h1>
 <p>Background update controller callbacks allow module developers to control (e.g. rate-limit)
 <p>Background update controller callbacks allow module developers to control (e.g. rate-limit)
 how database background updates are run. A database background update is an operation
 how database background updates are run. A database background update is an operation
 Synapse runs on its database in the background after it starts. It's usually used to run
 Synapse runs on its database in the background after it starts. It's usually used to run
@@ -8868,7 +8845,7 @@ of the database. The module must return an integer representing the minimum numb
 elements to process in this iteration. This number must be at least 1, and is used to
 elements to process in this iteration. This number must be at least 1, and is used to
 ensure that progress is always made.</p>
 ensure that progress is always made.</p>
 <p>If this callback is not defined, Synapse will use a default value of 100.</p>
 <p>If this callback is not defined, Synapse will use a default value of 100.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="porting-an-existing-module-that-uses-the-old-interface"><a class="header" href="#porting-an-existing-module-that-uses-the-old-interface">Porting an existing module that uses the old interface</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="porting-an-existing-module-that-uses-the-old-interface"><a class="header" href="#porting-an-existing-module-that-uses-the-old-interface">Porting an existing module that uses the old interface</a></h1>
 <p>In order to port a module that uses Synapse's old module interface, its author needs to:</p>
 <p>In order to port a module that uses Synapse's old module interface, its author needs to:</p>
 <ul>
 <ul>
 <li>ensure the module's callbacks are all asynchronous.</li>
 <li>ensure the module's callbacks are all asynchronous.</li>
@@ -8885,7 +8862,7 @@ changes to the database should now be made by the module using the module API cl
 <p>The module's author should also update any example in the module's configuration to only
 <p>The module's author should also update any example in the module's configuration to only
 use the new <code>modules</code> section in Synapse's configuration file (see <a href="modules/index.html#using-modules">this section</a>
 use the new <code>modules</code> section in Synapse's configuration file (see <a href="modules/index.html#using-modules">this section</a>
 for more info).</p>
 for more info).</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="scaling-synapse-via-workers"><a class="header" href="#scaling-synapse-via-workers">Scaling synapse via workers</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="scaling-synapse-via-workers"><a class="header" href="#scaling-synapse-via-workers">Scaling synapse via workers</a></h1>
 <p>For small instances it recommended to run Synapse in the default monolith mode.
 <p>For small instances it recommended to run Synapse in the default monolith mode.
 For larger instances where performance is a concern it can be helpful to split
 For larger instances where performance is a concern it can be helpful to split
 out functionality into multiple separate python processes. These processes are
 out functionality into multiple separate python processes. These processes are
@@ -9379,7 +9356,7 @@ in systemd service files, but not required for synctl).</p>
 ====================================================================
 ====================================================================
                                                          Redis pub/sub channel
                                                          Redis pub/sub channel
 </code></pre>
 </code></pre>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h3 id="using-synctl-with-workers"><a class="header" href="#using-synctl-with-workers">Using synctl with workers</a></h3>
+<div style="break-before: page; page-break-before: always;"></div><h3 id="using-synctl-with-workers"><a class="header" href="#using-synctl-with-workers">Using synctl with workers</a></h3>
 <p>If you want to use <code>synctl</code> to manage your synapse processes, you will need to
 <p>If you want to use <code>synctl</code> to manage your synapse processes, you will need to
 create an an additional configuration file for the main synapse process. That
 create an an additional configuration file for the main synapse process. That
 configuration should look like this:</p>
 configuration should look like this:</p>
@@ -9402,7 +9379,7 @@ notifications.</p>
 <p>To manipulate a specific worker, you pass the -w option to synctl:</p>
 <p>To manipulate a specific worker, you pass the -w option to synctl:</p>
 <pre><code class="language-sh">synctl -w $CONFIG/workers/worker1.yaml restart
 <pre><code class="language-sh">synctl -w $CONFIG/workers/worker1.yaml restart
 </code></pre>
 </code></pre>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="setting-up-synapse-with-workers-and-systemd"><a class="header" href="#setting-up-synapse-with-workers-and-systemd">Setting up Synapse with Workers and Systemd</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="setting-up-synapse-with-workers-and-systemd"><a class="header" href="#setting-up-synapse-with-workers-and-systemd">Setting up Synapse with Workers and Systemd</a></h1>
 <p>This is a setup for managing synapse with systemd, including support for
 <p>This is a setup for managing synapse with systemd, including support for
 managing workers. It provides a <code>matrix-synapse</code> service for the master, as
 managing workers. It provides a <code>matrix-synapse</code> service for the master, as
 well as a <code>matrix-synapse-worker@</code> service template for any workers you
 well as a <code>matrix-synapse-worker@</code> service template for any workers you
@@ -9494,14 +9471,14 @@ systemctl restart matrix-synapse.target
 </code></pre>
 </code></pre>
 <p>In order to see their effect, you may run <code>systemd-analyze security matrix-synapse.service</code> before and after applying the hardening options to see
 <p>In order to see their effect, you may run <code>systemd-analyze security matrix-synapse.service</code> before and after applying the hardening options to see
 the changes being applied at a glance.</p>
 the changes being applied at a glance.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="administration"><a class="header" href="#administration">Administration</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="administration"><a class="header" href="#administration">Administration</a></h1>
 <p>This section contains information on managing your Synapse homeserver. This includes:</p>
 <p>This section contains information on managing your Synapse homeserver. This includes:</p>
 <ul>
 <ul>
 <li>Managing users, rooms and media via the Admin API.</li>
 <li>Managing users, rooms and media via the Admin API.</li>
 <li>Setting up metrics and monitoring to give you insight into your homeserver's health.</li>
 <li>Setting up metrics and monitoring to give you insight into your homeserver's health.</li>
 <li>Configuring structured logging.</li>
 <li>Configuring structured logging.</li>
 </ul>
 </ul>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="the-admin-api"><a class="header" href="#the-admin-api">The Admin API</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="the-admin-api"><a class="header" href="#the-admin-api">The Admin API</a></h1>
 <h2 id="authenticate-as-a-server-admin"><a class="header" href="#authenticate-as-a-server-admin">Authenticate as a server admin</a></h2>
 <h2 id="authenticate-as-a-server-admin"><a class="header" href="#authenticate-as-a-server-admin">Authenticate as a server admin</a></h2>
 <p>Many of the API calls in the admin api will require an <code>access_token</code> for a
 <p>Many of the API calls in the admin api will require an <code>access_token</code> for a
 server admin. (Note that a server admin is distinct from a room admin.)</p>
 server admin. (Note that a server admin is distinct from a room admin.)</p>
@@ -9519,7 +9496,7 @@ providing the token as either a query parameter or a request header. To add it a
 </code></pre>
 </code></pre>
 <p>For more details on access tokens in Matrix, please refer to the complete
 <p>For more details on access tokens in Matrix, please refer to the complete
 <a href="https://matrix.org/docs/spec/client_server/r0.6.1#using-access-tokens">matrix spec documentation</a>.</p>
 <a href="https://matrix.org/docs/spec/client_server/r0.6.1#using-access-tokens">matrix spec documentation</a>.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="account-validity-api"><a class="header" href="#account-validity-api">Account validity API</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="account-validity-api"><a class="header" href="#account-validity-api">Account validity API</a></h1>
 <p>This API allows a server administrator to manage the validity of an account. To
 <p>This API allows a server administrator to manage the validity of an account. To
 use it, you must enable the account validity feature (under
 use it, you must enable the account validity feature (under
 <code>account_validity</code>) in Synapse's configuration.</p>
 <code>account_validity</code>) in Synapse's configuration.</p>
@@ -9548,7 +9525,7 @@ milliseconds since epoch:</p>
     &quot;expiration_ts&quot;: 0
     &quot;expiration_ts&quot;: 0
 }
 }
 </code></pre>
 </code></pre>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="background-updates-api"><a class="header" href="#background-updates-api">Background Updates API</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="background-updates-api"><a class="header" href="#background-updates-api">Background Updates API</a></h1>
 <p>This API allows a server administrator to manage the background updates being
 <p>This API allows a server administrator to manage the background updates being
 run against the database.</p>
 run against the database.</p>
 <h2 id="status"><a class="header" href="#status">Status</a></h2>
 <h2 id="status"><a class="header" href="#status">Status</a></h2>
@@ -9618,7 +9595,7 @@ background updates which won't be cancelled once started.</p>
 </ul>
 </ul>
 </li>
 </li>
 </ul>
 </ul>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="delete-a-local-group"><a class="header" href="#delete-a-local-group">Delete a local group</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="delete-a-local-group"><a class="header" href="#delete-a-local-group">Delete a local group</a></h1>
 <p>This API lets a server admin delete a local group. Doing so will kick all
 <p>This API lets a server admin delete a local group. Doing so will kick all
 users out of the group so that their clients will correctly handle the group
 users out of the group so that their clients will correctly handle the group
 being deleted.</p>
 being deleted.</p>
@@ -9627,7 +9604,7 @@ for a server admin: see <a href="admin_api/../usage/administration/admin_api">Ad
 <p>The API is:</p>
 <p>The API is:</p>
 <pre><code>POST /_synapse/admin/v1/delete_group/&lt;group_id&gt;
 <pre><code>POST /_synapse/admin/v1/delete_group/&lt;group_id&gt;
 </code></pre>
 </code></pre>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="show-reported-events"><a class="header" href="#show-reported-events">Show reported events</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="show-reported-events"><a class="header" href="#show-reported-events">Show reported events</a></h1>
 <p>This API returns information about reported events.</p>
 <p>This API returns information about reported events.</p>
 <p>To use it, you will need to authenticate by providing an <code>access_token</code>
 <p>To use it, you will need to authenticate by providing an <code>access_token</code>
 for a server admin: see <a href="admin_api/../usage/administration/admin_api">Admin API</a>.</p>
 for a server admin: see <a href="admin_api/../usage/administration/admin_api">Admin API</a>.</p>
@@ -9780,7 +9757,7 @@ was reported.</li>
 have a canonical alias set.</li>
 have a canonical alias set.</li>
 <li><code>event_json</code>: object - Details of the original event that was reported.</li>
 <li><code>event_json</code>: object - Details of the original event that was reported.</li>
 </ul>
 </ul>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="querying-media"><a class="header" href="#querying-media">Querying media</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="querying-media"><a class="header" href="#querying-media">Querying media</a></h1>
 <p>These APIs allow extracting media information from the homeserver.</p>
 <p>These APIs allow extracting media information from the homeserver.</p>
 <p>Details about the format of the <code>media_id</code> and storage of the media in the file system
 <p>Details about the format of the <code>media_id</code> and storage of the media in the file system
 are documented under <a href="admin_api/../media_repository.html">media repository</a>.</p>
 are documented under <a href="admin_api/../media_repository.html">media repository</a>.</p>
@@ -9993,7 +9970,7 @@ All cached media that was last accessed before this timestamp will be removed.</
 </ul>
 </ul>
 <p>If the user re-requests purged remote media, synapse will re-request the media
 <p>If the user re-requests purged remote media, synapse will re-request the media
 from the originating server.</p>
 from the originating server.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="purge-history-api"><a class="header" href="#purge-history-api">Purge History API</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="purge-history-api"><a class="header" href="#purge-history-api">Purge History API</a></h1>
 <p>The purge history API allows server admins to purge historic events from their
 <p>The purge history API allows server admins to purge historic events from their
 database, reclaiming disk space.</p>
 database, reclaiming disk space.</p>
 <p>Depending on the amount of history being purged a call to the API may take
 <p>Depending on the amount of history being purged a call to the API may take
@@ -10042,7 +10019,7 @@ a purge id:</p>
 <p>To reclaim the disk space and return it to the operating system, you need to run
 <p>To reclaim the disk space and return it to the operating system, you need to run
 <code>VACUUM FULL;</code> on the database.</p>
 <code>VACUUM FULL;</code> on the database.</p>
 <p><a href="https://www.postgresql.org/docs/current/sql-vacuum.html">https://www.postgresql.org/docs/current/sql-vacuum.html</a></p>
 <p><a href="https://www.postgresql.org/docs/current/sql-vacuum.html">https://www.postgresql.org/docs/current/sql-vacuum.html</a></p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="shared-secret-registration"><a class="header" href="#shared-secret-registration">Shared-Secret Registration</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="shared-secret-registration"><a class="header" href="#shared-secret-registration">Shared-Secret Registration</a></h1>
 <p>This API allows for the creation of users in an administrative and
 <p>This API allows for the creation of users in an administrative and
 non-interactive way. This is generally used for bootstrapping a Synapse
 non-interactive way. This is generally used for bootstrapping a Synapse
 instance with administrator accounts.</p>
 instance with administrator accounts.</p>
@@ -10103,7 +10080,7 @@ def generate_mac(nonce, user, password, admin=False, user_type=None):
 
 
     return mac.hexdigest()
     return mac.hexdigest()
 </code></pre>
 </code></pre>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="registration-tokens"><a class="header" href="#registration-tokens">Registration Tokens</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="registration-tokens"><a class="header" href="#registration-tokens">Registration Tokens</a></h1>
 <p>This API allows you to manage tokens which can be used to authenticate
 <p>This API allows you to manage tokens which can be used to authenticate
 registration requests, as proposed in
 registration requests, as proposed in
 <a href="https://github.com/matrix-org/matrix-doc/blob/main/proposals/3231-token-authenticated-registration.md">MSC3231</a>.
 <a href="https://github.com/matrix-org/matrix-doc/blob/main/proposals/3231-token-authenticated-registration.md">MSC3231</a>.
@@ -10341,7 +10318,7 @@ the <a href="https://matrix.org/docs/spec/client_server/r0.6.1#api-standards">Ma
     &quot;error&quot;: &quot;No such registration token: 1234&quot;
     &quot;error&quot;: &quot;No such registration token: 1234&quot;
 }
 }
 </code></pre>
 </code></pre>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="edit-room-membership-api"><a class="header" href="#edit-room-membership-api">Edit Room Membership API</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="edit-room-membership-api"><a class="header" href="#edit-room-membership-api">Edit Room Membership API</a></h1>
 <p>This API allows an administrator to join an user account with a given <code>user_id</code>
 <p>This API allows an administrator to join an user account with a given <code>user_id</code>
 to a room with a given <code>room_id_or_alias</code>. You can only modify the membership of
 to a room with a given <code>room_id_or_alias</code>. You can only modify the membership of
 local users. The server administrator must be in the room and have permission to
 local users. The server administrator must be in the room and have permission to
@@ -10367,7 +10344,7 @@ for a server admin: see <a href="admin_api/../usage/administration/admin_api">Ad
   &quot;room_id&quot;: &quot;!636q39766251:server.com&quot;
   &quot;room_id&quot;: &quot;!636q39766251:server.com&quot;
 }
 }
 </code></pre>
 </code></pre>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="list-room-api"><a class="header" href="#list-room-api">List Room API</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="list-room-api"><a class="header" href="#list-room-api">List Room API</a></h1>
 <p>The List Room admin API allows server admins to get a list of rooms on their
 <p>The List Room admin API allows server admins to get a list of rooms on their
 server. There are various parameters available that allow for filtering and
 server. There are various parameters available that allow for filtering and
 sorting the returned list. This API supports pagination.</p>
 sorting the returned list. This API supports pagination.</p>
@@ -11176,7 +11153,7 @@ that were deleted.</p>
   ]
   ]
 }
 }
 </code></pre>
 </code></pre>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="server-notices-1"><a class="header" href="#server-notices-1">Server Notices</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="server-notices-1"><a class="header" href="#server-notices-1">Server Notices</a></h1>
 <p>The API to send notices is as follows:</p>
 <p>The API to send notices is as follows:</p>
 <pre><code>POST /_synapse/admin/v1/send_server_notice
 <pre><code>POST /_synapse/admin/v1/send_server_notice
 </code></pre>
 </code></pre>
@@ -11207,7 +11184,7 @@ ignored in the same way as with <code>PUT /_matrix/client/r0/rooms/{roomId}/send
 </code></pre>
 </code></pre>
 <p>Note that server notices must be enabled in <code>homeserver.yaml</code> before this API
 <p>Note that server notices must be enabled in <code>homeserver.yaml</code> before this API
 can be used. See <a href="admin_api/../server_notices.html">the server notices documentation</a> for more information.</p>
 can be used. See <a href="admin_api/../server_notices.html">the server notices documentation</a> for more information.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="users-media-usage-statistics"><a class="header" href="#users-media-usage-statistics">Users' media usage statistics</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="users-media-usage-statistics"><a class="header" href="#users-media-usage-statistics">Users' media usage statistics</a></h1>
 <p>Returns information about all local media usage of users. Gives the
 <p>Returns information about all local media usage of users. Gives the
 possibility to filter them by time and user.</p>
 possibility to filter them by time and user.</p>
 <p>To use it, you will need to authenticate by providing an <code>access_token</code>
 <p>To use it, you will need to authenticate by providing an <code>access_token</code>
@@ -11283,7 +11260,7 @@ about the user and their local media. Objects contain the following fields:
 <li><code>next_token</code> - integer - Opaque value used for pagination. See above.</li>
 <li><code>next_token</code> - integer - Opaque value used for pagination. See above.</li>
 <li><code>total</code> - integer - Total number of users after filtering.</li>
 <li><code>total</code> - integer - Total number of users after filtering.</li>
 </ul>
 </ul>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="user-admin-api"><a class="header" href="#user-admin-api">User Admin API</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="user-admin-api"><a class="header" href="#user-admin-api">User Admin API</a></h1>
 <p>To use it, you will need to authenticate by providing an <code>access_token</code>
 <p>To use it, you will need to authenticate by providing an <code>access_token</code>
 for a server admin: see <a href="admin_api/../usage/administration/admin_api">Admin API</a>.</p>
 for a server admin: see <a href="admin_api/../usage/administration/admin_api">Admin API</a>.</p>
 <h2 id="query-user-account"><a class="header" href="#query-user-account">Query User Account</a></h2>
 <h2 id="query-user-account"><a class="header" href="#query-user-account">Query User Account</a></h2>
@@ -12262,7 +12239,7 @@ for more information.</p>
 </code></pre>
 </code></pre>
 <p>The request and response format is the same as the
 <p>The request and response format is the same as the
 <a href="https://matrix.org/docs/spec/client_server/r0.6.0#get-matrix-client-r0-register-available">/_matrix/client/r0/register/available</a> API.</p>
 <a href="https://matrix.org/docs/spec/client_server/r0.6.0#get-matrix-client-r0-register-available">/_matrix/client/r0/register/available</a> API.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="version-api"><a class="header" href="#version-api">Version API</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="version-api"><a class="header" href="#version-api">Version API</a></h1>
 <p>This API returns the running Synapse version and the Python version
 <p>This API returns the running Synapse version and the Python version
 on which Synapse is being run. This is useful when a Synapse instance
 on which Synapse is being run. This is useful when a Synapse instance
 is behind a proxy that does not forward the 'Server' header (which also
 is behind a proxy that does not forward the 'Server' header (which also
@@ -12276,7 +12253,7 @@ contains Synapse version information).</p>
     &quot;python_version&quot;: &quot;3.7.8&quot;
     &quot;python_version&quot;: &quot;3.7.8&quot;
 }
 }
 </code></pre>
 </code></pre>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="federation-api"><a class="header" href="#federation-api">Federation API</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="federation-api"><a class="header" href="#federation-api">Federation API</a></h1>
 <p>This API allows a server administrator to manage Synapse's federation with other homeservers.</p>
 <p>This API allows a server administrator to manage Synapse's federation with other homeservers.</p>
 <p>Note: This API is new, experimental and &quot;subject to change&quot;.</p>
 <p>Note: This API is new, experimental and &quot;subject to change&quot;.</p>
 <h2 id="list-of-destinations"><a class="header" href="#list-of-destinations">List of destinations</a></h2>
 <h2 id="list-of-destinations"><a class="header" href="#list-of-destinations">List of destinations</a></h2>
@@ -12448,7 +12425,7 @@ even if the API already returns the http status 200.</p>
 <ul>
 <ul>
 <li><code>destination</code> - Name of the remote server.</li>
 <li><code>destination</code> - Name of the remote server.</li>
 </ul>
 </ul>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="using-the-synapse-manhole"><a class="header" href="#using-the-synapse-manhole">Using the synapse manhole</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="using-the-synapse-manhole"><a class="header" href="#using-the-synapse-manhole">Using the synapse manhole</a></h1>
 <p>The &quot;manhole&quot; allows server administrators to access a Python shell on a running
 <p>The &quot;manhole&quot; allows server administrators to access a Python shell on a running
 Synapse installation. This is a very powerful mechanism for administration and
 Synapse installation. This is a very powerful mechanism for administration and
 debugging.</p>
 debugging.</p>
@@ -12515,7 +12492,7 @@ parts of the process.</p>
 &gt;&gt;&gt; defer.ensureDeferred(hs.get_datastores().main.get_event('$1416420717069yeQaw:matrix.org'))
 &gt;&gt;&gt; defer.ensureDeferred(hs.get_datastores().main.get_event('$1416420717069yeQaw:matrix.org'))
 &lt;Deferred at 0x7ff253fc6998 current result: &lt;FrozenEvent event_id='$1416420717069yeQaw:matrix.org', type='m.room.create', state_key=''&gt;&gt;
 &lt;Deferred at 0x7ff253fc6998 current result: &lt;FrozenEvent event_id='$1416420717069yeQaw:matrix.org', type='m.room.create', state_key=''&gt;&gt;
 </code></pre>
 </code></pre>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="how-to-monitor-synapse-metrics-using-prometheus"><a class="header" href="#how-to-monitor-synapse-metrics-using-prometheus">How to monitor Synapse metrics using Prometheus</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="how-to-monitor-synapse-metrics-using-prometheus"><a class="header" href="#how-to-monitor-synapse-metrics-using-prometheus">How to monitor Synapse metrics using Prometheus</a></h1>
 <ol>
 <ol>
 <li>
 <li>
 <p>Install Prometheus:</p>
 <p>Install Prometheus:</p>
@@ -12755,7 +12732,7 @@ renamed.</p>
 <tr><td>python_twisted_reactor_pending_calls</td><td>reactor_pending_calls</td></tr>
 <tr><td>python_twisted_reactor_pending_calls</td><td>reactor_pending_calls</td></tr>
 <tr><td>python_twisted_reactor_tick_time</td><td>reactor_tick_time</td></tr>
 <tr><td>python_twisted_reactor_tick_time</td><td>reactor_tick_time</td></tr>
 </tbody></table>
 </tbody></table>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h2 id="understanding-synapse-through-grafana-graphs"><a class="header" href="#understanding-synapse-through-grafana-graphs">Understanding Synapse through Grafana graphs</a></h2>
+<div style="break-before: page; page-break-before: always;"></div><h2 id="understanding-synapse-through-grafana-graphs"><a class="header" href="#understanding-synapse-through-grafana-graphs">Understanding Synapse through Grafana graphs</a></h2>
 <p>It is possible to monitor much of the internal state of Synapse using <a href="https://prometheus.io">Prometheus</a> 
 <p>It is possible to monitor much of the internal state of Synapse using <a href="https://prometheus.io">Prometheus</a> 
 metrics and <a href="https://grafana.com/">Grafana</a>. 
 metrics and <a href="https://grafana.com/">Grafana</a>. 
 A guide for configuring Synapse to provide metrics is available <a href="usage/administration/../../metrics-howto.html">here</a> 
 A guide for configuring Synapse to provide metrics is available <a href="usage/administration/../../metrics-howto.html">here</a> 
@@ -12805,7 +12782,7 @@ indicator of problems, and a symptom of other problems though, so check other gr
 tried everything you can, it may just be a lack of system resources. Consider adding
 tried everything you can, it may just be a lack of system resources. Consider adding
 more CPU and RAM, and make use of <a href="usage/administration/../../workers.html">worker mode</a> 
 more CPU and RAM, and make use of <a href="usage/administration/../../workers.html">worker mode</a> 
 to make use of multiple CPU cores / multiple machines for your homeserver.</p>
 to make use of multiple CPU cores / multiple machines for your homeserver.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h2 id="some-useful-sql-queries-for-synapse-admins"><a class="header" href="#some-useful-sql-queries-for-synapse-admins">Some useful SQL queries for Synapse Admins</a></h2>
+<div style="break-before: page; page-break-before: always;"></div><h2 id="some-useful-sql-queries-for-synapse-admins"><a class="header" href="#some-useful-sql-queries-for-synapse-admins">Some useful SQL queries for Synapse Admins</a></h2>
 <h2 id="size-of-full-matrix-db"><a class="header" href="#size-of-full-matrix-db">Size of full matrix db</a></h2>
 <h2 id="size-of-full-matrix-db"><a class="header" href="#size-of-full-matrix-db">Size of full matrix db</a></h2>
 <p><code>SELECT pg_size_pretty( pg_database_size( 'matrix' ) );</code></p>
 <p><code>SELECT pg_size_pretty( pg_database_size( 'matrix' ) );</code></p>
 <h3 id="result-example"><a class="header" href="#result-example">Result example:</a></h3>
 <h3 id="result-example"><a class="header" href="#result-example">Result example:</a></h3>
@@ -12939,19 +12916,19 @@ WHERE room_id IN (WHERE room_id IN (
  '!YTvKGNlinIzlkMTVRl:matrix.org'
  '!YTvKGNlinIzlkMTVRl:matrix.org'
 )
 )
 </code></pre>
 </code></pre>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><p>This blog post by Victor Berger explains how to use many of the tools listed on this page: https://levans.fr/shrink-synapse-database.html</p>
+<div style="break-before: page; page-break-before: always;"></div><p>This blog post by Victor Berger explains how to use many of the tools listed on this page: https://levans.fr/shrink-synapse-database.html</p>
 <h1 id="list-of-useful-tools-and-scripts-for-maintenance-synapse-database"><a class="header" href="#list-of-useful-tools-and-scripts-for-maintenance-synapse-database">List of useful tools and scripts for maintenance Synapse database:</a></h1>
 <h1 id="list-of-useful-tools-and-scripts-for-maintenance-synapse-database"><a class="header" href="#list-of-useful-tools-and-scripts-for-maintenance-synapse-database">List of useful tools and scripts for maintenance Synapse database:</a></h1>
-<h2 id="a-hrefusageadministrationadmin_apimedia_admin_apihtmlpurge-remote-media-apipurge-remote-media-apia"><a class="header" href="#a-hrefusageadministrationadmin_apimedia_admin_apihtmlpurge-remote-media-apipurge-remote-media-apia"><a href="usage/administration/../../admin_api/media_admin_api.html#purge-remote-media-api">Purge Remote Media API</a></a></h2>
+<h2 id="purge-remote-media-api-1"><a class="header" href="#purge-remote-media-api-1"><a href="usage/administration/../../admin_api/media_admin_api.html#purge-remote-media-api">Purge Remote Media API</a></a></h2>
 <p>The purge remote media API allows server admins to purge old cached remote media.</p>
 <p>The purge remote media API allows server admins to purge old cached remote media.</p>
-<h2 id="a-hrefusageadministrationadmin_apimedia_admin_apihtmldelete-local-mediapurge-local-media-apia"><a class="header" href="#a-hrefusageadministrationadmin_apimedia_admin_apihtmldelete-local-mediapurge-local-media-apia"><a href="usage/administration/../../admin_api/media_admin_api.html#delete-local-media">Purge Local Media API</a></a></h2>
+<h2 id="purge-local-media-api"><a class="header" href="#purge-local-media-api"><a href="usage/administration/../../admin_api/media_admin_api.html#delete-local-media">Purge Local Media API</a></a></h2>
 <p>This API deletes the <em>local</em> media from the disk of your own server.</p>
 <p>This API deletes the <em>local</em> media from the disk of your own server.</p>
-<h2 id="a-hrefusageadministrationadmin_apipurge_history_apihtmlpurge-history-apia"><a class="header" href="#a-hrefusageadministrationadmin_apipurge_history_apihtmlpurge-history-apia"><a href="usage/administration/../../admin_api/purge_history_api.html">Purge History API</a></a></h2>
+<h2 id="purge-history-api-1"><a class="header" href="#purge-history-api-1"><a href="usage/administration/../../admin_api/purge_history_api.html">Purge History API</a></a></h2>
 <p>The purge history API allows server admins to purge historic events from their database, reclaiming disk space.</p>
 <p>The purge history API allows server admins to purge historic events from their database, reclaiming disk space.</p>
-<h2 id="a-hrefhttpsgithubcommatrix-orgrust-synapse-compress-statesynapse-compress-statea"><a class="header" href="#a-hrefhttpsgithubcommatrix-orgrust-synapse-compress-statesynapse-compress-statea"><a href="https://github.com/matrix-org/rust-synapse-compress-state">synapse-compress-state</a></a></h2>
+<h2 id="synapse-compress-state"><a class="header" href="#synapse-compress-state"><a href="https://github.com/matrix-org/rust-synapse-compress-state">synapse-compress-state</a></a></h2>
 <p>Tool for compressing (deduplicating) <code>state_groups_state</code> table.</p>
 <p>Tool for compressing (deduplicating) <code>state_groups_state</code> table.</p>
-<h2 id="a-hrefusageadministrationuseful_sql_for_adminshtmlsql-for-analyzing-synapse-postgresql-database-statsa"><a class="header" href="#a-hrefusageadministrationuseful_sql_for_adminshtmlsql-for-analyzing-synapse-postgresql-database-statsa"><a href="usage/administration/useful_sql_for_admins.html">SQL for analyzing Synapse PostgreSQL database stats</a></a></h2>
+<h2 id="sql-for-analyzing-synapse-postgresql-database-stats"><a class="header" href="#sql-for-analyzing-synapse-postgresql-database-stats"><a href="usage/administration/useful_sql_for_admins.html">SQL for analyzing Synapse PostgreSQL database stats</a></a></h2>
 <p>Some easy SQL that reports useful stats about your Synapse database.</p>
 <p>Some easy SQL that reports useful stats about your Synapse database.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="how-do-state-groups-work"><a class="header" href="#how-do-state-groups-work">How do State Groups work?</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="how-do-state-groups-work"><a class="header" href="#how-do-state-groups-work">How do State Groups work?</a></h1>
 <p>As a general rule, I encourage people who want to understand the deepest darkest secrets of the database schema to drop by #synapse-dev:matrix.org and ask questions.</p>
 <p>As a general rule, I encourage people who want to understand the deepest darkest secrets of the database schema to drop by #synapse-dev:matrix.org and ask questions.</p>
 <p>However, one question that comes up frequently is that of how &quot;state groups&quot; work, and why the <code>state_groups_state</code> table gets so big, so here's an attempt to answer that question.</p>
 <p>However, one question that comes up frequently is that of how &quot;state groups&quot; work, and why the <code>state_groups_state</code> table gets so big, so here's an attempt to answer that question.</p>
 <p>We need to be able to relatively quickly calculate the state of a room at any point in that room's history. In other words, we need to know the state of the room at each event in that room. This is done as follows:</p>
 <p>We need to be able to relatively quickly calculate the state of a room at any point in that room's history. In other words, we need to know the state of the room at each event in that room. This is done as follows:</p>
@@ -12964,7 +12941,7 @@ WHERE room_id IN (WHERE room_id IN (
 <p>There are various reasons that we can end up creating many more state groups than we need: see https://github.com/matrix-org/synapse/issues/3364 for more details.</p>
 <p>There are various reasons that we can end up creating many more state groups than we need: see https://github.com/matrix-org/synapse/issues/3364 for more details.</p>
 <h2 id="compression-tool"><a class="header" href="#compression-tool">Compression tool</a></h2>
 <h2 id="compression-tool"><a class="header" href="#compression-tool">Compression tool</a></h2>
 <p>There is a tool at https://github.com/matrix-org/rust-synapse-compress-state which can compress the <code>state_groups_state</code> on a room by-room basis (essentially, it reduces the number of &quot;full&quot; state groups). This can result in dramatic reductions of the storage used.</p>
 <p>There is a tool at https://github.com/matrix-org/rust-synapse-compress-state which can compress the <code>state_groups_state</code> on a room by-room basis (essentially, it reduces the number of &quot;full&quot; state groups). This can result in dramatic reductions of the storage used.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="request-log-format"><a class="header" href="#request-log-format">Request log format</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="request-log-format"><a class="header" href="#request-log-format">Request log format</a></h1>
 <p>HTTP request logs are written by synapse (see <a href="usage/administration/../synapse/http/site.py"><code>site.py</code></a> for details).</p>
 <p>HTTP request logs are written by synapse (see <a href="usage/administration/../synapse/http/site.py"><code>site.py</code></a> for details).</p>
 <p>See the following for how to decode the dense data available from the default logging configuration.</p>
 <p>See the following for how to decode the dense data available from the default logging configuration.</p>
 <pre><code>2020-10-01 12:00:00,000 - synapse.access.http.8008 - 311 - INFO - PUT-1000- 192.168.0.1 - 8008 - {another-matrix-server.com} Processed request: 0.100sec/-0.000sec (0.000sec, 0.000sec) (0.001sec/0.090sec/3) 11B !200 &quot;PUT /_matrix/federation/v1/send/1600000000000 HTTP/1.1&quot; &quot;Synapse/1.20.1&quot; [0 dbevts]
 <pre><code>2020-10-01 12:00:00,000 - synapse.access.http.8008 - 311 - INFO - PUT-1000- 192.168.0.1 - 8008 - {another-matrix-server.com} Processed request: 0.100sec/-0.000sec (0.000sec, 0.000sec) (0.001sec/0.090sec/3) 11B !200 &quot;PUT /_matrix/federation/v1/send/1600000000000 HTTP/1.1&quot; &quot;Synapse/1.20.1&quot; [0 dbevts]
@@ -12999,7 +12976,7 @@ the same data, but only the first request will report time/transactions in
 <code>KKKK</code>/<code>LLLL</code>/<code>MMMM</code>/<code>NNNN</code>/<code>OOOO</code> - the others will be awaiting the first query to return a
 <code>KKKK</code>/<code>LLLL</code>/<code>MMMM</code>/<code>NNNN</code>/<code>OOOO</code> - the others will be awaiting the first query to return a
 response and will simultaneously return with the first request, but with very
 response and will simultaneously return with the first request, but with very
 small processing times.</p>
 small processing times.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h2 id="admin-faq"><a class="header" href="#admin-faq">Admin FAQ</a></h2>
+<div style="break-before: page; page-break-before: always;"></div><h2 id="admin-faq"><a class="header" href="#admin-faq">Admin FAQ</a></h2>
 <h2 id="how-do-i-become-a-server-admin"><a class="header" href="#how-do-i-become-a-server-admin">How do I become a server admin?</a></h2>
 <h2 id="how-do-i-become-a-server-admin"><a class="header" href="#how-do-i-become-a-server-admin">How do I become a server admin?</a></h2>
 <p>If your server already has an admin account you should use the user admin API to promote other accounts to become admins. See <a href="usage/administration/../../admin_api/user_admin_api.html#Change-whether-a-user-is-a-server-administrator-or-not">User Admin API</a></p>
 <p>If your server already has an admin account you should use the user admin API to promote other accounts to become admins. See <a href="usage/administration/../../admin_api/user_admin_api.html#Change-whether-a-user-is-a-server-administrator-or-not">User Admin API</a></p>
 <p>If you don't have any admin accounts yet you won't be able to use the admin API so you'll have to edit the database manually. Manually editing the database is generally not recommended so once you have an admin account, use the admin APIs to make further changes.</p>
 <p>If you don't have any admin accounts yet you won't be able to use the admin API so you'll have to edit the database manually. Manually editing the database is generally not recommended so once you have an admin account, use the admin APIs to make further changes.</p>
@@ -13061,7 +13038,7 @@ LIMIT 10;
 </code></pre>
 </code></pre>
 <p>You can also use the <a href="usage/administration/../../admin_api/rooms.html#list-room-api">List Room API</a>
 <p>You can also use the <a href="usage/administration/../../admin_api/rooms.html#list-room-api">List Room API</a>
 and <code>order_by</code> <code>state_events</code>.</p>
 and <code>order_by</code> <code>state_events</code>.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="contributing"><a class="header" href="#contributing">Contributing</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="contributing"><a class="header" href="#contributing">Contributing</a></h1>
 <p>This document aims to get you started with contributing to Synapse!</p>
 <p>This document aims to get you started with contributing to Synapse!</p>
 <h1 id="1-who-can-contribute-to-synapse"><a class="header" href="#1-who-can-contribute-to-synapse">1. Who can contribute to Synapse?</a></h1>
 <h1 id="1-who-can-contribute-to-synapse"><a class="header" href="#1-who-can-contribute-to-synapse">1. Who can contribute to Synapse?</a></h1>
 <p>Everyone is welcome to contribute code to <a href="https://github.com/matrix-org">matrix.org
 <p>Everyone is welcome to contribute code to <a href="https://github.com/matrix-org">matrix.org
@@ -13222,7 +13199,7 @@ so we can run a specific test in this container with e.g.</p>
 <code>.tox-pg-container</code> and uses this as a tox environment. The output of any
 <code>.tox-pg-container</code> and uses this as a tox environment. The output of any
 <code>trial</code> runs goes into <code>_trial_temp</code> in your synapse source directory — the same
 <code>trial</code> runs goes into <code>_trial_temp</code> in your synapse source directory — the same
 as running <code>trial</code> directly on your host machine.</p>
 as running <code>trial</code> directly on your host machine.</p>
-<h2 id="run-the-integration-tests-a-hrefhttpsgithubcommatrix-orgsytestsytesta"><a class="header" href="#run-the-integration-tests-a-hrefhttpsgithubcommatrix-orgsytestsytesta">Run the integration tests (<a href="https://github.com/matrix-org/sytest">Sytest</a>).</a></h2>
+<h2 id="run-the-integration-tests-sytest"><a class="header" href="#run-the-integration-tests-sytest">Run the integration tests (<a href="https://github.com/matrix-org/sytest">Sytest</a>).</a></h2>
 <p>The integration tests are a more comprehensive suite of tests. They
 <p>The integration tests are a more comprehensive suite of tests. They
 run a full version of Synapse, including your changes, to check if
 run a full version of Synapse, including your changes, to check if
 anything was broken. They are slower than the unit tests but will
 anything was broken. They are slower than the unit tests but will
@@ -13232,7 +13209,7 @@ configuration:</p>
 <pre><code class="language-sh">$ docker run --rm -it -v /path/where/you/have/cloned/the/repository\:/src:ro -v /path/to/where/you/want/logs\:/logs matrixdotorg/sytest-synapse:buster
 <pre><code class="language-sh">$ docker run --rm -it -v /path/where/you/have/cloned/the/repository\:/src:ro -v /path/to/where/you/want/logs\:/logs matrixdotorg/sytest-synapse:buster
 </code></pre>
 </code></pre>
 <p>This configuration should generally cover  your needs. For more details about other configurations, see <a href="https://github.com/matrix-org/sytest/blob/develop/docker/README.md">documentation in the SyTest repo</a>.</p>
 <p>This configuration should generally cover  your needs. For more details about other configurations, see <a href="https://github.com/matrix-org/sytest/blob/develop/docker/README.md">documentation in the SyTest repo</a>.</p>
-<h2 id="run-the-integration-tests-a-hrefhttpsgithubcommatrix-orgcomplementcomplementa"><a class="header" href="#run-the-integration-tests-a-hrefhttpsgithubcommatrix-orgcomplementcomplementa">Run the integration tests (<a href="https://github.com/matrix-org/complement">Complement</a>).</a></h2>
+<h2 id="run-the-integration-tests-complement"><a class="header" href="#run-the-integration-tests-complement">Run the integration tests (<a href="https://github.com/matrix-org/complement">Complement</a>).</a></h2>
 <p><a href="https://github.com/matrix-org/complement">Complement</a> is a suite of black box tests that can be run on any homeserver implementation. It can also be thought of as end-to-end (e2e) tests.</p>
 <p><a href="https://github.com/matrix-org/complement">Complement</a> is a suite of black box tests that can be run on any homeserver implementation. It can also be thought of as end-to-end (e2e) tests.</p>
 <p>It's often nice to develop on Synapse and write Complement tests at the same time.
 <p>It's often nice to develop on Synapse and write Complement tests at the same time.
 Here is how to run your local Synapse checkout against your local Complement checkout.</p>
 Here is how to run your local Synapse checkout against your local Complement checkout.</p>
@@ -13435,7 +13412,7 @@ matrix together all the fragmented communication technologies out there we are
 reliant on contributions and collaboration from the community to do so. So
 reliant on contributions and collaboration from the community to do so. So
 please get involved - and we hope you have as much fun hacking on Matrix as we
 please get involved - and we hope you have as much fun hacking on Matrix as we
 do!</p>
 do!</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="code-style"><a class="header" href="#code-style">Code Style</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="code-style"><a class="header" href="#code-style">Code Style</a></h1>
 <h2 id="formatting-tools"><a class="header" href="#formatting-tools">Formatting tools</a></h2>
 <h2 id="formatting-tools"><a class="header" href="#formatting-tools">Formatting tools</a></h2>
 <p>The Synapse codebase uses a number of code formatting tools in order to
 <p>The Synapse codebase uses a number of code formatting tools in order to
 quickly and automatically check for formatting (and sometimes logical)
 quickly and automatically check for formatting (and sometimes logical)
@@ -13613,7 +13590,7 @@ frobber:
 and is maintained by a script, <code>scripts-dev/generate_sample_config.sh</code>.
 and is maintained by a script, <code>scripts-dev/generate_sample_config.sh</code>.
 Making sure that the output from this script matches the desired format
 Making sure that the output from this script matches the desired format
 is left as an exercise for the reader!</p>
 is left as an exercise for the reader!</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="synapse-release-cycle"><a class="header" href="#synapse-release-cycle">Synapse Release Cycle</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="synapse-release-cycle"><a class="header" href="#synapse-release-cycle">Synapse Release Cycle</a></h1>
 <p>Releases of Synapse follow a two week release cycle with new releases usually
 <p>Releases of Synapse follow a two week release cycle with new releases usually
 occurring on Tuesdays:</p>
 occurring on Tuesdays:</p>
 <ul>
 <ul>
@@ -13643,7 +13620,7 @@ be held to be released together.</p>
 <p>In some cases, a pre-disclosure of a security release will be issued as a notice
 <p>In some cases, a pre-disclosure of a security release will be issued as a notice
 to Synapse operators that there is an upcoming security release. These can be
 to Synapse operators that there is an upcoming security release. These can be
 found in the <a href="https://matrix.org/blog/category/security">security category of the Matrix blog</a>.</p>
 found in the <a href="https://matrix.org/blog/category/security">security category of the Matrix blog</a>.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="some-notes-on-how-we-use-git"><a class="header" href="#some-notes-on-how-we-use-git">Some notes on how we use git</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="some-notes-on-how-we-use-git"><a class="header" href="#some-notes-on-how-we-use-git">Some notes on how we use git</a></h1>
 <h2 id="on-keeping-the-commit-history-clean"><a class="header" href="#on-keeping-the-commit-history-clean">On keeping the commit history clean</a></h2>
 <h2 id="on-keeping-the-commit-history-clean"><a class="header" href="#on-keeping-the-commit-history-clean">On keeping the commit history clean</a></h2>
 <p>In an ideal world, our git commit history would be a linear progression of
 <p>In an ideal world, our git commit history would be a linear progression of
 commits each of which contains a single change building on what came
 commits each of which contains a single change building on what came
@@ -13745,7 +13722,7 @@ that our active branches are ordered thus, from more-stable to less-stable:</p>
 <ul>
 <ul>
 <li><code>master</code> (tracks our last release).</li>
 <li><code>master</code> (tracks our last release).</li>
 <li><code>release-vX.Y</code> (the branch where we prepare the next release)<sup
 <li><code>release-vX.Y</code> (the branch where we prepare the next release)<sup
-   id="a3"><a href="development/git.html#f3">3</a></sup>.</li>
+id="a3"><a href="development/git.html#f3">3</a></sup>.</li>
 <li>PR branches which are targeting the release.</li>
 <li>PR branches which are targeting the release.</li>
 <li><code>develop</code> (our &quot;mainline&quot; branch containing our bleeding-edge).</li>
 <li><code>develop</code> (our &quot;mainline&quot; branch containing our bleeding-edge).</li>
 <li>regular PR branches.</li>
 <li>regular PR branches.</li>
@@ -13764,7 +13741,7 @@ most intuitive name. <a href="development/git.html#a1">^</a></p>
 <p><b id="f3">[3]</b>: Very, very occasionally (I think this has happened once in
 <p><b id="f3">[3]</b>: Very, very occasionally (I think this has happened once in
 the history of Synapse), we've had two releases in flight at once. Obviously,
 the history of Synapse), we've had two releases in flight at once. Obviously,
 <code>release-v1.2</code> is more-stable than <code>release-v1.3</code>. <a href="development/git.html#a3">^</a></p>
 <code>release-v1.2</code> is more-stable than <code>release-v1.3</code>. <a href="development/git.html#a3">^</a></p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="synapse-demo-setup"><a class="header" href="#synapse-demo-setup">Synapse demo setup</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="synapse-demo-setup"><a class="header" href="#synapse-demo-setup">Synapse demo setup</a></h1>
 <p><strong>DO NOT USE THESE DEMO SERVERS IN PRODUCTION</strong></p>
 <p><strong>DO NOT USE THESE DEMO SERVERS IN PRODUCTION</strong></p>
 <p>Requires you to have a <a href="https://matrix-org.github.io/synapse/develop/development/contributing_guide.html#4-install-the-dependencies">Synapse development environment setup</a>.</p>
 <p>Requires you to have a <a href="https://matrix-org.github.io/synapse/develop/development/contributing_guide.html#4-install-the-dependencies">Synapse development environment setup</a>.</p>
 <p>The demo setup allows running three federation Synapse servers, with server
 <p>The demo setup allows running three federation Synapse servers, with server
@@ -13798,7 +13775,7 @@ it won't work if your HS already has a room with that name.</p>
 <p>To start a completely new set of servers, run:</p>
 <p>To start a completely new set of servers, run:</p>
 <pre><code class="language-sh">./demo/stop.sh; ./demo/clean.sh &amp;&amp; ./demo/start.sh
 <pre><code class="language-sh">./demo/stop.sh; ./demo/clean.sh &amp;&amp; ./demo/start.sh
 </code></pre>
 </code></pre>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="opentracing"><a class="header" href="#opentracing">OpenTracing</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="opentracing"><a class="header" href="#opentracing">OpenTracing</a></h1>
 <h2 id="background"><a class="header" href="#background">Background</a></h2>
 <h2 id="background"><a class="header" href="#background">Background</a></h2>
 <p>OpenTracing is a semi-standard being adopted by a number of distributed
 <p>OpenTracing is a semi-standard being adopted by a number of distributed
 tracing platforms. It is a common api for facilitating vendor-agnostic
 tracing platforms. It is a common api for facilitating vendor-agnostic
@@ -13871,7 +13848,7 @@ logged to OpenTracing's logs.</li>
 <h2 id="configuring-jaeger"><a class="header" href="#configuring-jaeger">Configuring Jaeger</a></h2>
 <h2 id="configuring-jaeger"><a class="header" href="#configuring-jaeger">Configuring Jaeger</a></h2>
 <p>Sampling strategies can be set as in this document:
 <p>Sampling strategies can be set as in this document:
 <a href="https://www.jaegertracing.io/docs/latest/sampling/">https://www.jaegertracing.io/docs/latest/sampling/</a>.</p>
 <a href="https://www.jaegertracing.io/docs/latest/sampling/">https://www.jaegertracing.io/docs/latest/sampling/</a>.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="synapse-database-schema-files"><a class="header" href="#synapse-database-schema-files">Synapse database schema files</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="synapse-database-schema-files"><a class="header" href="#synapse-database-schema-files">Synapse database schema files</a></h1>
 <p>Synapse's database schema is stored in the <code>synapse.storage.schema</code> module.</p>
 <p>Synapse's database schema is stored in the <code>synapse.storage.schema</code> module.</p>
 <h2 id="logical-databases"><a class="header" href="#logical-databases">Logical databases</a></h2>
 <h2 id="logical-databases"><a class="header" href="#logical-databases">Logical databases</a></h2>
 <p>Synapse supports splitting its datastore across multiple physical databases (which can
 <p>Synapse supports splitting its datastore across multiple physical databases (which can
@@ -14033,7 +14010,7 @@ default value is the <strong>string</strong> <code>&quot;FALSE&quot;</code> - wh
 in Python, evaluates to <code>True</code>.</p>
 in Python, evaluates to <code>True</code>.</p>
 </li>
 </li>
 </ul>
 </ul>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="implementing-experimental-features-in-synapse"><a class="header" href="#implementing-experimental-features-in-synapse">Implementing experimental features in Synapse</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="implementing-experimental-features-in-synapse"><a class="header" href="#implementing-experimental-features-in-synapse">Implementing experimental features in Synapse</a></h1>
 <p>It can be desirable to implement &quot;experimental&quot; features which are disabled by
 <p>It can be desirable to implement &quot;experimental&quot; features which are disabled by
 default and must be explicitly enabled via the Synapse configuration. This is
 default and must be explicitly enabled via the Synapse configuration. This is
 applicable for features which:</p>
 applicable for features which:</p>
@@ -14066,7 +14043,7 @@ but one should be used if unsure.</p>
 <p>New experimental configuration flags should be added under the <code>experimental</code>
 <p>New experimental configuration flags should be added under the <code>experimental</code>
 configuration key (see the <code>synapse.config.experimental</code> file) and either explain
 configuration key (see the <code>synapse.config.experimental</code> file) and either explain
 (briefly) what is being enabled, or include the MSC number.</p>
 (briefly) what is being enabled, or include the MSC number.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="log-contexts"><a class="header" href="#log-contexts">Log Contexts</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="log-contexts"><a class="header" href="#log-contexts">Log Contexts</a></h1>
 <p>To help track the processing of individual requests, synapse uses a
 <p>To help track the processing of individual requests, synapse uses a
 '<code>log context</code>' to track which request it is handling at any given
 '<code>log context</code>' to track which request it is handling at any given
 moment. This is done via a thread-local variable; a <code>logging.Filter</code> is
 moment. This is done via a thread-local variable; a <code>logging.Filter</code> is
@@ -14362,7 +14339,7 @@ chain are dropped. Dropping the the reference to an awaitable you're
 supposed to be awaiting is bad practice, so this doesn't
 supposed to be awaiting is bad practice, so this doesn't
 actually happen too much. Unfortunately, when it does happen, it will
 actually happen too much. Unfortunately, when it does happen, it will
 lead to leaked logcontexts which are incredibly hard to track down.</p>
 lead to leaked logcontexts which are incredibly hard to track down.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="replication-architecture"><a class="header" href="#replication-architecture">Replication Architecture</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="replication-architecture"><a class="header" href="#replication-architecture">Replication Architecture</a></h1>
 <h2 id="motivation"><a class="header" href="#motivation">Motivation</a></h2>
 <h2 id="motivation"><a class="header" href="#motivation">Motivation</a></h2>
 <p>We'd like to be able to split some of the work that synapse does into
 <p>We'd like to be able to split some of the work that synapse does into
 multiple python processes. In theory multiple synapse processes could
 multiple python processes. In theory multiple synapse processes could
@@ -14390,7 +14367,7 @@ minimal.</p>
 <p>There are read-only version of the synapse storage layer in
 <p>There are read-only version of the synapse storage layer in
 <code>synapse/replication/slave/storage</code> that use the response of the
 <code>synapse/replication/slave/storage</code> that use the response of the
 replication API to invalidate their caches.</p>
 replication API to invalidate their caches.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="tcp-replication"><a class="header" href="#tcp-replication">TCP Replication</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="tcp-replication"><a class="header" href="#tcp-replication">TCP Replication</a></h1>
 <h2 id="motivation-1"><a class="header" href="#motivation-1">Motivation</a></h2>
 <h2 id="motivation-1"><a class="header" href="#motivation-1">Motivation</a></h2>
 <p>Previously the workers used an HTTP long poll mechanism to get updates
 <p>Previously the workers used an HTTP long poll mechanism to get updates
 from the master, which had the problem of causing a lot of duplicate
 from the master, which had the problem of causing a lot of duplicate
@@ -14585,7 +14562,7 @@ workers understand to mean to expand to invalidate the correct caches.</p>
 <li><code>cs_cache_fake</code> ─ invalidates caches that depend on the current
 <li><code>cs_cache_fake</code> ─ invalidates caches that depend on the current
 state</li>
 state</li>
 </ol>
 </ol>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="internal-documentation"><a class="header" href="#internal-documentation">Internal Documentation</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="internal-documentation"><a class="header" href="#internal-documentation">Internal Documentation</a></h1>
 <p>This section covers implementation documentation for various parts of Synapse.</p>
 <p>This section covers implementation documentation for various parts of Synapse.</p>
 <p>If a developer is planning to make a change to a feature of Synapse, it can be useful for
 <p>If a developer is planning to make a change to a feature of Synapse, it can be useful for
 general documentation of how that feature is implemented to be available. This saves the
 general documentation of how that feature is implemented to be available. This saves the
@@ -14594,7 +14571,7 @@ code.</p>
 <p>Documentation that would be more useful for the perspective of a system administrator,
 <p>Documentation that would be more useful for the perspective of a system administrator,
 rather than a developer who's intending to change to code, should instead be placed
 rather than a developer who's intending to change to code, should instead be placed
 under the Usage section of the documentation.</p>
 under the Usage section of the documentation.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="how-to-test-saml-as-a-developer-without-a-server"><a class="header" href="#how-to-test-saml-as-a-developer-without-a-server">How to test SAML as a developer without a server</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="how-to-test-saml-as-a-developer-without-a-server"><a class="header" href="#how-to-test-saml-as-a-developer-without-a-server">How to test SAML as a developer without a server</a></h1>
 <p>https://fujifish.github.io/samling/samling.html (https://github.com/fujifish/samling) is a great resource for being able to tinker with the 
 <p>https://fujifish.github.io/samling/samling.html (https://github.com/fujifish/samling) is a great resource for being able to tinker with the 
 SAML options within Synapse without needing to deploy and configure a complicated software stack.</p>
 SAML options within Synapse without needing to deploy and configure a complicated software stack.</p>
 <p>To make Synapse (and therefore Element) use it:</p>
 <p>To make Synapse (and therefore Element) use it:</p>
@@ -14632,7 +14609,7 @@ The response must also be signed.</li>
 <p>If you try and repeat this process, you may be automatically logged in using the information you
 <p>If you try and repeat this process, you may be automatically logged in using the information you
 gave previously. To fix this, open your developer console (<code>F12</code> or <code>Ctrl+Shift+I</code>) while on the
 gave previously. To fix this, open your developer console (<code>F12</code> or <code>Ctrl+Shift+I</code>) while on the
 samling page and clear the site data. In Chrome, this will be a button on the Application tab.</p>
 samling page and clear the site data. In Chrome, this will be a button on the Application tab.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="how-to-test-cas-as-a-developer-without-a-server"><a class="header" href="#how-to-test-cas-as-a-developer-without-a-server">How to test CAS as a developer without a server</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="how-to-test-cas-as-a-developer-without-a-server"><a class="header" href="#how-to-test-cas-as-a-developer-without-a-server">How to test CAS as a developer without a server</a></h1>
 <p>The <a href="https://github.com/jbittel/django-mama-cas">django-mama-cas</a> project is an
 <p>The <a href="https://github.com/jbittel/django-mama-cas">django-mama-cas</a> project is an
 easy to run CAS implementation built on top of Django.</p>
 easy to run CAS implementation built on top of Django.</p>
 <h2 id="prerequisites"><a class="header" href="#prerequisites">Prerequisites</a></h2>
 <h2 id="prerequisites"><a class="header" href="#prerequisites">Prerequisites</a></h2>
@@ -14694,7 +14671,7 @@ and that the CAS server is on port 8000, both on localhost.</p>
 <li>http://localhost:8000/admin/</li>
 <li>http://localhost:8000/admin/</li>
 <li>Click &quot;logout&quot; in the top right.</li>
 <li>Click &quot;logout&quot; in the top right.</li>
 </ol>
 </ol>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="room-dag-concepts"><a class="header" href="#room-dag-concepts">Room DAG concepts</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="room-dag-concepts"><a class="header" href="#room-dag-concepts">Room DAG concepts</a></h1>
 <h2 id="edges"><a class="header" href="#edges">Edges</a></h2>
 <h2 id="edges"><a class="header" href="#edges">Edges</a></h2>
 <p>The word &quot;edge&quot; comes from graph theory lingo. An edge is just a connection
 <p>The word &quot;edge&quot; comes from graph theory lingo. An edge is just a connection
 between two events. In Synapse, we connect events by specifying their
 between two events. In Synapse, we connect events by specifying their
@@ -14782,7 +14759,7 @@ mappings of <code>event_id -&gt; state_group</code> and <code>state_group -&gt;
 <h3 id="stage-group-edges"><a class="header" href="#stage-group-edges">Stage group edges</a></h3>
 <h3 id="stage-group-edges"><a class="header" href="#stage-group-edges">Stage group edges</a></h3>
 <p>TODO: <code>state_group_edges</code> is a further optimization...
 <p>TODO: <code>state_group_edges</code> is a further optimization...
 notes from @Azrenbeth, https://pastebin.com/seUGVGeT</p>
 notes from @Azrenbeth, https://pastebin.com/seUGVGeT</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="auth-chain-difference-algorithm"><a class="header" href="#auth-chain-difference-algorithm">Auth Chain Difference Algorithm</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="auth-chain-difference-algorithm"><a class="header" href="#auth-chain-difference-algorithm">Auth Chain Difference Algorithm</a></h1>
 <p>The auth chain difference algorithm is used by V2 state resolution, where a
 <p>The auth chain difference algorithm is used by V2 state resolution, where a
 naive implementation can be a significant source of CPU and DB usage.</p>
 naive implementation can be a significant source of CPU and DB usage.</p>
 <h3 id="definitions"><a class="header" href="#definitions">Definitions</a></h3>
 <h3 id="definitions"><a class="header" href="#definitions">Definitions</a></h3>
@@ -14873,7 +14850,7 @@ level).</li>
 </ol>
 </ol>
 <p>So the final result is: Bob's second join <code>(2,2)</code>, the second power level
 <p>So the final result is: Bob's second join <code>(2,2)</code>, the second power level
 <code>(3,2)</code> and both of Alice's joins <code>(4,2)</code> &amp; <code>(4,3)</code>.</p>
 <code>(3,2)</code> and both of Alice's joins <code>(4,2)</code> &amp; <code>(4,3)</code>.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="media-repository"><a class="header" href="#media-repository">Media Repository</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="media-repository"><a class="header" href="#media-repository">Media Repository</a></h1>
 <p><em>Synapse implementation-specific details for the media repository</em></p>
 <p><em>Synapse implementation-specific details for the media repository</em></p>
 <p>The media repository</p>
 <p>The media repository</p>
 <ul>
 <ul>
@@ -14936,7 +14913,7 @@ date and <code>aaaaaaaaaaaaaaaa</code> is a random sequence of 16 case-sensitive
 <pre><code>url_cache/yyyy-mm-dd/aaaaaaaaaaaaaaaa
 <pre><code>url_cache/yyyy-mm-dd/aaaaaaaaaaaaaaaa
 url_cache_thumbnails/yyyy-mm-dd/aaaaaaaaaaaaaaaa/128-96-image-jpeg-scale
 url_cache_thumbnails/yyyy-mm-dd/aaaaaaaaaaaaaaaa/128-96-image-jpeg-scale
 </code></pre>
 </code></pre>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="room-and-user-statistics"><a class="header" href="#room-and-user-statistics">Room and User Statistics</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="room-and-user-statistics"><a class="header" href="#room-and-user-statistics">Room and User Statistics</a></h1>
 <p>Synapse maintains room and user statistics in various tables. These can be used
 <p>Synapse maintains room and user statistics in various tables. These can be used
 for administrative purposes but are also used when generating the public room
 for administrative purposes but are also used when generating the public room
 directory.</p>
 directory.</p>
@@ -14951,7 +14928,7 @@ table. Each subject can have only one.</li>
 <h3 id="overview-4"><a class="header" href="#overview-4">Overview</a></h3>
 <h3 id="overview-4"><a class="header" href="#overview-4">Overview</a></h3>
 <p>Stats correspond to the present values. Current rows contain the most up-to-date
 <p>Stats correspond to the present values. Current rows contain the most up-to-date
 statistics for a room. Each subject can only have one entry.</p>
 statistics for a room. Each subject can only have one entry.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h1 id="deprecation-policy-for-platform-dependencies"><a class="header" href="#deprecation-policy-for-platform-dependencies">Deprecation Policy for Platform Dependencies</a></h1>
+<div style="break-before: page; page-break-before: always;"></div><h1 id="deprecation-policy-for-platform-dependencies"><a class="header" href="#deprecation-policy-for-platform-dependencies">Deprecation Policy for Platform Dependencies</a></h1>
 <p>Synapse has a number of platform dependencies, including Python and PostgreSQL.
 <p>Synapse has a number of platform dependencies, including Python and PostgreSQL.
 This document outlines the policy towards which versions we support, and when we
 This document outlines the policy towards which versions we support, and when we
 drop support for versions in the future.</p>
 drop support for versions in the future.</p>
@@ -14972,7 +14949,7 @@ long process.</p>
 <p>By following the upstream support life cycles Synapse can ensure that its
 <p>By following the upstream support life cycles Synapse can ensure that its
 dependencies continue to get security patches, while not requiring system admins
 dependencies continue to get security patches, while not requiring system admins
 to constantly update their platform dependencies to the latest versions.</p>
 to constantly update their platform dependencies to the latest versions.</p>
-<div id="chapter_begin" style="break-before: page; page-break-before: always;"></div><h2 id="summary-of-performance-impact-of-running-on-resource-constrained-devices-such-as-sbcs"><a class="header" href="#summary-of-performance-impact-of-running-on-resource-constrained-devices-such-as-sbcs">Summary of performance impact of running on resource constrained devices such as SBCs</a></h2>
+<div style="break-before: page; page-break-before: always;"></div><h2 id="summary-of-performance-impact-of-running-on-resource-constrained-devices-such-as-sbcs"><a class="header" href="#summary-of-performance-impact-of-running-on-resource-constrained-devices-such-as-sbcs">Summary of performance impact of running on resource constrained devices such as SBCs</a></h2>
 <p>I've been running my homeserver on a cubietruck at home now for some time and am often replying to statements like &quot;you need loads of ram to join large rooms&quot; with &quot;it works fine for me&quot;. I thought it might be useful to curate a summary of the issues you're likely to run into to help as a scaling-down guide, maybe highlight these for development work or end up as documentation. It seems that once you get up to about 4x1.5GHz arm64 4GiB these issues are no longer a problem.</p>
 <p>I've been running my homeserver on a cubietruck at home now for some time and am often replying to statements like &quot;you need loads of ram to join large rooms&quot; with &quot;it works fine for me&quot;. I thought it might be useful to curate a summary of the issues you're likely to run into to help as a scaling-down guide, maybe highlight these for development work or end up as documentation. It seems that once you get up to about 4x1.5GHz arm64 4GiB these issues are no longer a problem.</p>
 <ul>
 <ul>
 <li><strong>Platform</strong>: 2x1GHz armhf 2GiB ram <a href="https://wiki.debian.org/CheapServerBoxHardware">Single-board computers</a>, SSD, postgres.</li>
 <li><strong>Platform</strong>: 2x1GHz armhf 2GiB ram <a href="https://wiki.debian.org/CheapServerBoxHardware">Single-board computers</a>, SSD, postgres.</li>
@@ -15033,61 +15010,34 @@ admin@homeserver:~$ sudo --user postgres psql matrix-synapse --command 'select c
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
-
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
-
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-        
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
         <script type="text/javascript">
         <script type="text/javascript">
         window.addEventListener('load', function() {
         window.addEventListener('load', function() {
             window.setTimeout(window.print, 100);
             window.setTimeout(window.print, 100);
         });
         });
         </script>
         </script>
-        
-        
-
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/replication.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Replication - Synapse</title>
         <title>Replication - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/replication.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/replication.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -215,69 +192,41 @@ replication API to invalidate their caches.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="log_contexts.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="log_contexts.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="tcp_replication.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="tcp_replication.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="log_contexts.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="log_contexts.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="tcp_replication.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="tcp_replication.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/reverse_proxy.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Configuring a Reverse Proxy - Synapse</title>
         <title>Configuring a Reverse Proxy - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/reverse_proxy.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/reverse_proxy.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -413,69 +390,41 @@ we do not recommend exposing them to the public internet without good reason.</p
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="postgres.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="postgres.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="setup/forward_proxy.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="setup/forward_proxy.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="postgres.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="postgres.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="setup/forward_proxy.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="setup/forward_proxy.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/room_and_user_statistics.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Room and User Statistics - Synapse</title>
         <title>Room and User Statistics - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/room_and_user_statistics.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/room_and_user_statistics.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -202,69 +179,41 @@ statistics for a room. Each subject can only have one entry.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="media_repository.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="media_repository.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="deprecation_policy.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="deprecation_policy.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="media_repository.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="media_repository.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="deprecation_policy.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="deprecation_policy.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

File diff suppressed because it is too large
+ 0 - 0
v1.56/searchindex.js


File diff suppressed because it is too large
+ 0 - 0
v1.56/searchindex.json


+ 16 - 67
v1.56/server_notices.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Server Notices - Synapse</title>
         <title>Server Notices - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/server_notices.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/server_notices.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -231,69 +208,41 @@ displayname and avatar of the Server Notices user.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="application_services.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="application_services.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="consent_tracking.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="consent_tracking.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="application_services.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="application_services.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="consent_tracking.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="consent_tracking.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/setup/forward_proxy.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Configuring a Forward/Outbound Proxy - Synapse</title>
         <title>Configuring a Forward/Outbound Proxy - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/setup/forward_proxy.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/setup/forward_proxy.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -262,69 +239,41 @@ in Synapse can be deactivated.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../reverse_proxy.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../reverse_proxy.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../turn-howto.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../turn-howto.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../reverse_proxy.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../reverse_proxy.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../turn-howto.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../turn-howto.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/setup/installation.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Installation - Synapse</title>
         <title>Installation - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/setup/installation.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/setup/installation.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -590,69 +567,41 @@ failing, e.g.:</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../welcome_and_overview.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../welcome_and_overview.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../postgres.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../postgres.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../welcome_and_overview.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../welcome_and_overview.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../postgres.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../postgres.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/sso_mapping_providers.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>SSO Mapping Providers - Synapse</title>
         <title>SSO Mapping Providers - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/sso_mapping_providers.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/sso_mapping_providers.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -436,69 +413,41 @@ specified in the config. It is located at
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="usage/configuration/user_authentication/single_sign_on/cas.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="usage/configuration/user_authentication/single_sign_on/cas.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="password_auth_providers.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="password_auth_providers.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="usage/configuration/user_authentication/single_sign_on/cas.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="usage/configuration/user_authentication/single_sign_on/cas.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="password_auth_providers.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="password_auth_providers.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/structured_logging.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Structured Logging - Synapse</title>
         <title>Structured Logging - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/structured_logging.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/structured_logging.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -325,69 +302,41 @@ modules.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="usage/configuration/logging_sample_config.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="usage/configuration/logging_sample_config.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="templates.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="templates.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="usage/configuration/logging_sample_config.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="usage/configuration/logging_sample_config.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="templates.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="templates.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/synctl_workers.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Using synctl with Workers - Synapse</title>
         <title>Using synctl with Workers - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/synctl_workers.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/synctl_workers.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -210,69 +187,41 @@ notifications.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="workers.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="workers.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="systemd-with-workers/index.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="systemd-with-workers/index.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="workers.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="workers.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="systemd-with-workers/index.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="systemd-with-workers/index.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/systemd-with-workers/index.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Systemd - Synapse</title>
         <title>Systemd - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../favicon.svg">
         <link rel="icon" href="../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../favicon.png">
         <link rel="shortcut icon" href="../favicon.png">
-        
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/variables.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/general.css">
         <link rel="stylesheet" href="../css/chrome.css">
         <link rel="stylesheet" href="../css/chrome.css">
-        
         <link rel="stylesheet" href="../css/print.css" media="print">
         <link rel="stylesheet" href="../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../fonts/fonts.css">
         <link rel="stylesheet" href="../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../highlight.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../tomorrow-night.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
         <link rel="stylesheet" href="../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/systemd-with-workers/README.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/systemd-with-workers/README.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -279,69 +256,41 @@ the changes being applied at a glance.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../synctl_workers.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../synctl_workers.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../usage/administration/index.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../usage/administration/index.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../synctl_workers.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../synctl_workers.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../usage/administration/index.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../usage/administration/index.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/tcp_replication.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>TCP Replication - Synapse</title>
         <title>TCP Replication - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/tcp_replication.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/tcp_replication.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -382,69 +359,41 @@ state</li>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="replication.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="replication.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="development/internal_documentation/index.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="development/internal_documentation/index.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="replication.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="replication.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="development/internal_documentation/index.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="development/internal_documentation/index.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/templates.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Templates - Synapse</title>
         <title>Templates - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/templates.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/templates.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -469,69 +446,41 @@ When rendering, this template is given two variables:
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="structured_logging.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="structured_logging.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="usage/configuration/user_authentication/index.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="usage/configuration/user_authentication/index.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="structured_logging.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="structured_logging.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="usage/configuration/user_authentication/index.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="usage/configuration/user_authentication/index.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/turn-howto.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Configuring a Turn Server - Synapse</title>
         <title>Configuring a Turn Server - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/turn-howto.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/turn-howto.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -507,69 +484,41 @@ entry in the results.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="setup/forward_proxy.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="setup/forward_proxy.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="delegate.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="delegate.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="setup/forward_proxy.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="setup/forward_proxy.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="delegate.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="delegate.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/upgrade.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Upgrading between Synapse Versions - Synapse</title>
         <title>Upgrading between Synapse Versions - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/upgrade.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/upgrade.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -1519,69 +1496,41 @@ in the local HS will automatically rejoin the room.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="delegate.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="delegate.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="federate.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="federate.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="delegate.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="delegate.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="federate.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="federate.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/usage/administration/admin_api/background_updates.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Background Updates - Synapse</title>
         <title>Background Updates - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../../../favicon.svg">
         <link rel="icon" href="../../../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../../../favicon.png">
         <link rel="shortcut icon" href="../../../favicon.png">
-        
         <link rel="stylesheet" href="../../../css/variables.css">
         <link rel="stylesheet" href="../../../css/variables.css">
         <link rel="stylesheet" href="../../../css/general.css">
         <link rel="stylesheet" href="../../../css/general.css">
         <link rel="stylesheet" href="../../../css/chrome.css">
         <link rel="stylesheet" href="../../../css/chrome.css">
-        
         <link rel="stylesheet" href="../../../css/print.css" media="print">
         <link rel="stylesheet" href="../../../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../../../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../../../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../../../fonts/fonts.css">
         <link rel="stylesheet" href="../../../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../../../highlight.css">
         <link rel="stylesheet" href="../../../highlight.css">
         <link rel="stylesheet" href="../../../tomorrow-night.css">
         <link rel="stylesheet" href="../../../tomorrow-night.css">
         <link rel="stylesheet" href="../../../ayu-highlight.css">
         <link rel="stylesheet" href="../../../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../../../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../../../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../../../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../../../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../../../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../../../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../../../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../../../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../../../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/admin_api/background_updates.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/admin_api/background_updates.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -257,69 +234,41 @@ background updates which won't be cancelled once started.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../../../admin_api/account_validity.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../../../admin_api/account_validity.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../../../admin_api/delete_group.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../../../admin_api/delete_group.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../../../admin_api/account_validity.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../../../admin_api/account_validity.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../../../admin_api/delete_group.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../../../admin_api/delete_group.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../../../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../../../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../../../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../../../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/usage/administration/admin_api/federation.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Federation - Synapse</title>
         <title>Federation - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../../../favicon.svg">
         <link rel="icon" href="../../../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../../../favicon.png">
         <link rel="shortcut icon" href="../../../favicon.png">
-        
         <link rel="stylesheet" href="../../../css/variables.css">
         <link rel="stylesheet" href="../../../css/variables.css">
         <link rel="stylesheet" href="../../../css/general.css">
         <link rel="stylesheet" href="../../../css/general.css">
         <link rel="stylesheet" href="../../../css/chrome.css">
         <link rel="stylesheet" href="../../../css/chrome.css">
-        
         <link rel="stylesheet" href="../../../css/print.css" media="print">
         <link rel="stylesheet" href="../../../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../../../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../../../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../../../fonts/fonts.css">
         <link rel="stylesheet" href="../../../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../../../highlight.css">
         <link rel="stylesheet" href="../../../highlight.css">
         <link rel="stylesheet" href="../../../tomorrow-night.css">
         <link rel="stylesheet" href="../../../tomorrow-night.css">
         <link rel="stylesheet" href="../../../ayu-highlight.css">
         <link rel="stylesheet" href="../../../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../../../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../../../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../../../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../../../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../../../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../../../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../../../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../../../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../../../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/admin_api/federation.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/admin_api/federation.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -359,69 +336,41 @@ even if the API already returns the http status 200.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../../../admin_api/version_api.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../../../admin_api/version_api.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../../../manhole.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../../../manhole.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../../../admin_api/version_api.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../../../admin_api/version_api.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../../../manhole.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../../../manhole.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../../../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../../../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../../../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../../../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/usage/administration/admin_api/index.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Admin API - Synapse</title>
         <title>Admin API - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../../../favicon.svg">
         <link rel="icon" href="../../../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../../../favicon.png">
         <link rel="shortcut icon" href="../../../favicon.png">
-        
         <link rel="stylesheet" href="../../../css/variables.css">
         <link rel="stylesheet" href="../../../css/variables.css">
         <link rel="stylesheet" href="../../../css/general.css">
         <link rel="stylesheet" href="../../../css/general.css">
         <link rel="stylesheet" href="../../../css/chrome.css">
         <link rel="stylesheet" href="../../../css/chrome.css">
-        
         <link rel="stylesheet" href="../../../css/print.css" media="print">
         <link rel="stylesheet" href="../../../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../../../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../../../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../../../fonts/fonts.css">
         <link rel="stylesheet" href="../../../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../../../highlight.css">
         <link rel="stylesheet" href="../../../highlight.css">
         <link rel="stylesheet" href="../../../tomorrow-night.css">
         <link rel="stylesheet" href="../../../tomorrow-night.css">
         <link rel="stylesheet" href="../../../ayu-highlight.css">
         <link rel="stylesheet" href="../../../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../../../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../../../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../../../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../../../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../../../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../../../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../../../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../../../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../../../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/admin_api/README.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/admin_api/README.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -205,69 +182,41 @@ providing the token as either a query parameter or a request header. To add it a
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../../../usage/administration/index.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../../../usage/administration/index.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../../../admin_api/account_validity.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../../../admin_api/account_validity.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../../../usage/administration/index.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../../../usage/administration/index.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../../../admin_api/account_validity.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../../../admin_api/account_validity.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../../../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../../../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../../../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../../../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/usage/administration/admin_api/registration_tokens.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Registration Tokens - Synapse</title>
         <title>Registration Tokens - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../../../favicon.svg">
         <link rel="icon" href="../../../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../../../favicon.png">
         <link rel="shortcut icon" href="../../../favicon.png">
-        
         <link rel="stylesheet" href="../../../css/variables.css">
         <link rel="stylesheet" href="../../../css/variables.css">
         <link rel="stylesheet" href="../../../css/general.css">
         <link rel="stylesheet" href="../../../css/general.css">
         <link rel="stylesheet" href="../../../css/chrome.css">
         <link rel="stylesheet" href="../../../css/chrome.css">
-        
         <link rel="stylesheet" href="../../../css/print.css" media="print">
         <link rel="stylesheet" href="../../../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../../../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../../../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../../../fonts/fonts.css">
         <link rel="stylesheet" href="../../../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../../../highlight.css">
         <link rel="stylesheet" href="../../../highlight.css">
         <link rel="stylesheet" href="../../../tomorrow-night.css">
         <link rel="stylesheet" href="../../../tomorrow-night.css">
         <link rel="stylesheet" href="../../../ayu-highlight.css">
         <link rel="stylesheet" href="../../../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../../../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../../../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../../../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../../../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../../../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../../../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../../../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../../../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../../../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/admin_api/registration_tokens.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/admin_api/registration_tokens.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -425,69 +402,41 @@ the <a href="https://matrix.org/docs/spec/client_server/r0.6.1#api-standards">Ma
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../../../admin_api/register_api.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../../../admin_api/register_api.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../../../admin_api/room_membership.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../../../admin_api/room_membership.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../../../admin_api/register_api.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../../../admin_api/register_api.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../../../admin_api/room_membership.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../../../admin_api/room_membership.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../../../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../../../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../../../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../../../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/usage/administration/admin_faq.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Admin FAQ - Synapse</title>
         <title>Admin FAQ - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../../favicon.svg">
         <link rel="icon" href="../../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../../favicon.png">
         <link rel="shortcut icon" href="../../favicon.png">
-        
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/chrome.css">
         <link rel="stylesheet" href="../../css/chrome.css">
-        
         <link rel="stylesheet" href="../../css/print.css" media="print">
         <link rel="stylesheet" href="../../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../../fonts/fonts.css">
         <link rel="stylesheet" href="../../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/admin_faq.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/admin_faq.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -249,69 +226,41 @@ and <code>order_by</code> <code>state_events</code>.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../../usage/administration/request_log.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../../usage/administration/request_log.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../../development/contributing_guide.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../../development/contributing_guide.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../../usage/administration/request_log.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../../usage/administration/request_log.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../../development/contributing_guide.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../../development/contributing_guide.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 21 - 72
v1.56/usage/administration/database_maintenance_tools.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Database Maintenance Tools - Synapse</title>
         <title>Database Maintenance Tools - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../../favicon.svg">
         <link rel="icon" href="../../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../../favicon.png">
         <link rel="shortcut icon" href="../../favicon.png">
-        
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/chrome.css">
         <link rel="stylesheet" href="../../css/chrome.css">
-        
         <link rel="stylesheet" href="../../css/print.css" media="print">
         <link rel="stylesheet" href="../../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../../fonts/fonts.css">
         <link rel="stylesheet" href="../../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/database_maintenance_tools.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/database_maintenance_tools.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -184,84 +161,56 @@
 
 
                         <p>This blog post by Victor Berger explains how to use many of the tools listed on this page: https://levans.fr/shrink-synapse-database.html</p>
                         <p>This blog post by Victor Berger explains how to use many of the tools listed on this page: https://levans.fr/shrink-synapse-database.html</p>
 <h1 id="list-of-useful-tools-and-scripts-for-maintenance-synapse-database"><a class="header" href="#list-of-useful-tools-and-scripts-for-maintenance-synapse-database">List of useful tools and scripts for maintenance Synapse database:</a></h1>
 <h1 id="list-of-useful-tools-and-scripts-for-maintenance-synapse-database"><a class="header" href="#list-of-useful-tools-and-scripts-for-maintenance-synapse-database">List of useful tools and scripts for maintenance Synapse database:</a></h1>
-<h2 id="a-hrefadmin_apimedia_admin_apihtmlpurge-remote-media-apipurge-remote-media-apia"><a class="header" href="#a-hrefadmin_apimedia_admin_apihtmlpurge-remote-media-apipurge-remote-media-apia"><a href="../../admin_api/media_admin_api.html#purge-remote-media-api">Purge Remote Media API</a></a></h2>
+<h2 id="purge-remote-media-api"><a class="header" href="#purge-remote-media-api"><a href="../../admin_api/media_admin_api.html#purge-remote-media-api">Purge Remote Media API</a></a></h2>
 <p>The purge remote media API allows server admins to purge old cached remote media.</p>
 <p>The purge remote media API allows server admins to purge old cached remote media.</p>
-<h2 id="a-hrefadmin_apimedia_admin_apihtmldelete-local-mediapurge-local-media-apia"><a class="header" href="#a-hrefadmin_apimedia_admin_apihtmldelete-local-mediapurge-local-media-apia"><a href="../../admin_api/media_admin_api.html#delete-local-media">Purge Local Media API</a></a></h2>
+<h2 id="purge-local-media-api"><a class="header" href="#purge-local-media-api"><a href="../../admin_api/media_admin_api.html#delete-local-media">Purge Local Media API</a></a></h2>
 <p>This API deletes the <em>local</em> media from the disk of your own server.</p>
 <p>This API deletes the <em>local</em> media from the disk of your own server.</p>
-<h2 id="a-hrefadmin_apipurge_history_apihtmlpurge-history-apia"><a class="header" href="#a-hrefadmin_apipurge_history_apihtmlpurge-history-apia"><a href="../../admin_api/purge_history_api.html">Purge History API</a></a></h2>
+<h2 id="purge-history-api"><a class="header" href="#purge-history-api"><a href="../../admin_api/purge_history_api.html">Purge History API</a></a></h2>
 <p>The purge history API allows server admins to purge historic events from their database, reclaiming disk space.</p>
 <p>The purge history API allows server admins to purge historic events from their database, reclaiming disk space.</p>
-<h2 id="a-hrefhttpsgithubcommatrix-orgrust-synapse-compress-statesynapse-compress-statea"><a class="header" href="#a-hrefhttpsgithubcommatrix-orgrust-synapse-compress-statesynapse-compress-statea"><a href="https://github.com/matrix-org/rust-synapse-compress-state">synapse-compress-state</a></a></h2>
+<h2 id="synapse-compress-state"><a class="header" href="#synapse-compress-state"><a href="https://github.com/matrix-org/rust-synapse-compress-state">synapse-compress-state</a></a></h2>
 <p>Tool for compressing (deduplicating) <code>state_groups_state</code> table.</p>
 <p>Tool for compressing (deduplicating) <code>state_groups_state</code> table.</p>
-<h2 id="a-hrefuseful_sql_for_adminshtmlsql-for-analyzing-synapse-postgresql-database-statsa"><a class="header" href="#a-hrefuseful_sql_for_adminshtmlsql-for-analyzing-synapse-postgresql-database-statsa"><a href="useful_sql_for_admins.html">SQL for analyzing Synapse PostgreSQL database stats</a></a></h2>
+<h2 id="sql-for-analyzing-synapse-postgresql-database-stats"><a class="header" href="#sql-for-analyzing-synapse-postgresql-database-stats"><a href="useful_sql_for_admins.html">SQL for analyzing Synapse PostgreSQL database stats</a></a></h2>
 <p>Some easy SQL that reports useful stats about your Synapse database.</p>
 <p>Some easy SQL that reports useful stats about your Synapse database.</p>
 
 
                     </main>
                     </main>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../../usage/administration/useful_sql_for_admins.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../../usage/administration/useful_sql_for_admins.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../../usage/administration/state_groups.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../../usage/administration/state_groups.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../../usage/administration/useful_sql_for_admins.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../../usage/administration/useful_sql_for_admins.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../../usage/administration/state_groups.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../../usage/administration/state_groups.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/usage/administration/index.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Administration - Synapse</title>
         <title>Administration - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../../favicon.svg">
         <link rel="icon" href="../../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../../favicon.png">
         <link rel="shortcut icon" href="../../favicon.png">
-        
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/chrome.css">
         <link rel="stylesheet" href="../../css/chrome.css">
-        
         <link rel="stylesheet" href="../../css/print.css" media="print">
         <link rel="stylesheet" href="../../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../../fonts/fonts.css">
         <link rel="stylesheet" href="../../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/README.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/README.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -194,69 +171,41 @@
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../../systemd-with-workers/index.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../../systemd-with-workers/index.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../../usage/administration/admin_api/index.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../../usage/administration/admin_api/index.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../../systemd-with-workers/index.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../../systemd-with-workers/index.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../../usage/administration/admin_api/index.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../../usage/administration/admin_api/index.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/usage/administration/request_log.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Request log format - Synapse</title>
         <title>Request log format - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../../favicon.svg">
         <link rel="icon" href="../../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../../favicon.png">
         <link rel="shortcut icon" href="../../favicon.png">
-        
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/chrome.css">
         <link rel="stylesheet" href="../../css/chrome.css">
-        
         <link rel="stylesheet" href="../../css/print.css" media="print">
         <link rel="stylesheet" href="../../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../../fonts/fonts.css">
         <link rel="stylesheet" href="../../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/request_log.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/request_log.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -222,69 +199,41 @@ small processing times.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../../usage/administration/state_groups.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../../usage/administration/state_groups.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../../usage/administration/admin_faq.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../../usage/administration/admin_faq.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../../usage/administration/state_groups.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../../usage/administration/state_groups.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../../usage/administration/admin_faq.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../../usage/administration/admin_faq.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/usage/administration/state_groups.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>State Groups - Synapse</title>
         <title>State Groups - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../../favicon.svg">
         <link rel="icon" href="../../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../../favicon.png">
         <link rel="shortcut icon" href="../../favicon.png">
-        
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/chrome.css">
         <link rel="stylesheet" href="../../css/chrome.css">
-        
         <link rel="stylesheet" href="../../css/print.css" media="print">
         <link rel="stylesheet" href="../../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../../fonts/fonts.css">
         <link rel="stylesheet" href="../../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/state_groups.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/state_groups.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -200,69 +177,41 @@
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../../usage/administration/database_maintenance_tools.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../../usage/administration/database_maintenance_tools.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../../usage/administration/request_log.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../../usage/administration/request_log.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../../usage/administration/database_maintenance_tools.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../../usage/administration/database_maintenance_tools.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../../usage/administration/request_log.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../../usage/administration/request_log.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/usage/administration/understanding_synapse_through_grafana_graphs.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Understanding Synapse Through Grafana Graphs - Synapse</title>
         <title>Understanding Synapse Through Grafana Graphs - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../../favicon.svg">
         <link rel="icon" href="../../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../../favicon.png">
         <link rel="shortcut icon" href="../../favicon.png">
-        
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/chrome.css">
         <link rel="stylesheet" href="../../css/chrome.css">
-        
         <link rel="stylesheet" href="../../css/print.css" media="print">
         <link rel="stylesheet" href="../../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../../fonts/fonts.css">
         <link rel="stylesheet" href="../../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/understanding_synapse_through_grafana_graphs.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/understanding_synapse_through_grafana_graphs.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -237,69 +214,41 @@ to make use of multiple CPU cores / multiple machines for your homeserver.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../../metrics-howto.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../../metrics-howto.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../../usage/administration/useful_sql_for_admins.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../../usage/administration/useful_sql_for_admins.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../../metrics-howto.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../../metrics-howto.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../../usage/administration/useful_sql_for_admins.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../../usage/administration/useful_sql_for_admins.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/usage/administration/useful_sql_for_admins.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Useful SQL for Admins - Synapse</title>
         <title>Useful SQL for Admins - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../../favicon.svg">
         <link rel="icon" href="../../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../../favicon.png">
         <link rel="shortcut icon" href="../../favicon.png">
-        
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/chrome.css">
         <link rel="stylesheet" href="../../css/chrome.css">
-        
         <link rel="stylesheet" href="../../css/print.css" media="print">
         <link rel="stylesheet" href="../../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../../fonts/fonts.css">
         <link rel="stylesheet" href="../../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/useful_sql_for_admins.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/administration/useful_sql_for_admins.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -321,69 +298,41 @@ WHERE room_id IN (WHERE room_id IN (
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../../usage/administration/understanding_synapse_through_grafana_graphs.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../../usage/administration/understanding_synapse_through_grafana_graphs.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../../usage/administration/database_maintenance_tools.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../../usage/administration/database_maintenance_tools.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../../usage/administration/understanding_synapse_through_grafana_graphs.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../../usage/administration/understanding_synapse_through_grafana_graphs.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../../usage/administration/database_maintenance_tools.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../../usage/administration/database_maintenance_tools.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/usage/configuration/homeserver_sample_config.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Homeserver Sample Config File - Synapse</title>
         <title>Homeserver Sample Config File - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../../favicon.svg">
         <link rel="icon" href="../../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../../favicon.png">
         <link rel="shortcut icon" href="../../favicon.png">
-        
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/chrome.css">
         <link rel="stylesheet" href="../../css/chrome.css">
-        
         <link rel="stylesheet" href="../../css/print.css" media="print">
         <link rel="stylesheet" href="../../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../../fonts/fonts.css">
         <link rel="stylesheet" href="../../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/configuration/homeserver_sample_config.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/configuration/homeserver_sample_config.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -2979,69 +2956,41 @@ background_updates:
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../../usage/configuration/index.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../../usage/configuration/index.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../../usage/configuration/logging_sample_config.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../../usage/configuration/logging_sample_config.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../../usage/configuration/index.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../../usage/configuration/index.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../../usage/configuration/logging_sample_config.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../../usage/configuration/logging_sample_config.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/usage/configuration/index.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Configuration - Synapse</title>
         <title>Configuration - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../../favicon.svg">
         <link rel="icon" href="../../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../../favicon.png">
         <link rel="shortcut icon" href="../../favicon.png">
-        
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/chrome.css">
         <link rel="stylesheet" href="../../css/chrome.css">
-        
         <link rel="stylesheet" href="../../css/print.css" media="print">
         <link rel="stylesheet" href="../../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../../fonts/fonts.css">
         <link rel="stylesheet" href="../../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/configuration/README.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/configuration/README.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -190,69 +167,41 @@ file should have been generated when you <a href="../../setup/installation.html"
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../../federate.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../../federate.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../../usage/configuration/homeserver_sample_config.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../../usage/configuration/homeserver_sample_config.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../../federate.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../../federate.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../../usage/configuration/homeserver_sample_config.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../../usage/configuration/homeserver_sample_config.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/usage/configuration/logging_sample_config.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Logging Sample Config File - Synapse</title>
         <title>Logging Sample Config File - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../../favicon.svg">
         <link rel="icon" href="../../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../../favicon.png">
         <link rel="shortcut icon" href="../../favicon.png">
-        
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/variables.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/general.css">
         <link rel="stylesheet" href="../../css/chrome.css">
         <link rel="stylesheet" href="../../css/chrome.css">
-        
         <link rel="stylesheet" href="../../css/print.css" media="print">
         <link rel="stylesheet" href="../../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../../fonts/fonts.css">
         <link rel="stylesheet" href="../../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../highlight.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../tomorrow-night.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
         <link rel="stylesheet" href="../../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/configuration/logging_sample_config.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/configuration/logging_sample_config.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -280,69 +257,41 @@ disable_existing_loggers: false
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../../usage/configuration/homeserver_sample_config.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../../usage/configuration/homeserver_sample_config.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../../structured_logging.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../../structured_logging.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../../usage/configuration/homeserver_sample_config.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../../usage/configuration/homeserver_sample_config.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../../structured_logging.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../../structured_logging.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/usage/configuration/user_authentication/index.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>User Authentication - Synapse</title>
         <title>User Authentication - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../../../favicon.svg">
         <link rel="icon" href="../../../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../../../favicon.png">
         <link rel="shortcut icon" href="../../../favicon.png">
-        
         <link rel="stylesheet" href="../../../css/variables.css">
         <link rel="stylesheet" href="../../../css/variables.css">
         <link rel="stylesheet" href="../../../css/general.css">
         <link rel="stylesheet" href="../../../css/general.css">
         <link rel="stylesheet" href="../../../css/chrome.css">
         <link rel="stylesheet" href="../../../css/chrome.css">
-        
         <link rel="stylesheet" href="../../../css/print.css" media="print">
         <link rel="stylesheet" href="../../../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../../../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../../../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../../../fonts/fonts.css">
         <link rel="stylesheet" href="../../../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../../../highlight.css">
         <link rel="stylesheet" href="../../../highlight.css">
         <link rel="stylesheet" href="../../../tomorrow-night.css">
         <link rel="stylesheet" href="../../../tomorrow-night.css">
         <link rel="stylesheet" href="../../../ayu-highlight.css">
         <link rel="stylesheet" href="../../../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../../../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../../../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../../../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../../../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../../../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../../../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../../../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../../../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../../../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/configuration/user_authentication/README.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/configuration/user_authentication/README.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -200,69 +177,41 @@ modules.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../../../templates.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../../../templates.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../../../usage/configuration/user_authentication/single_sign_on/index.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../../../usage/configuration/user_authentication/single_sign_on/index.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../../../templates.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../../../templates.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../../../usage/configuration/user_authentication/single_sign_on/index.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../../../usage/configuration/user_authentication/single_sign_on/index.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../../../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../../../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../../../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../../../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/usage/configuration/user_authentication/refresh_tokens.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Refresh Tokens - Synapse</title>
         <title>Refresh Tokens - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../../../favicon.svg">
         <link rel="icon" href="../../../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../../../favicon.png">
         <link rel="shortcut icon" href="../../../favicon.png">
-        
         <link rel="stylesheet" href="../../../css/variables.css">
         <link rel="stylesheet" href="../../../css/variables.css">
         <link rel="stylesheet" href="../../../css/general.css">
         <link rel="stylesheet" href="../../../css/general.css">
         <link rel="stylesheet" href="../../../css/chrome.css">
         <link rel="stylesheet" href="../../../css/chrome.css">
-        
         <link rel="stylesheet" href="../../../css/print.css" media="print">
         <link rel="stylesheet" href="../../../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../../../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../../../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../../../fonts/fonts.css">
         <link rel="stylesheet" href="../../../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../../../highlight.css">
         <link rel="stylesheet" href="../../../highlight.css">
         <link rel="stylesheet" href="../../../tomorrow-night.css">
         <link rel="stylesheet" href="../../../tomorrow-night.css">
         <link rel="stylesheet" href="../../../ayu-highlight.css">
         <link rel="stylesheet" href="../../../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../../../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../../../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../../../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../../../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../../../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../../../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../../../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../../../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../../../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/configuration/user_authentication/refresh_tokens.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/configuration/user_authentication/refresh_tokens.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -309,69 +286,41 @@ above requirements will still hold.</em></p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../../../jwt.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../../../jwt.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../../../CAPTCHA_SETUP.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../../../CAPTCHA_SETUP.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../../../jwt.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../../../jwt.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../../../CAPTCHA_SETUP.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../../../CAPTCHA_SETUP.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../../../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../../../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../../../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../../../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/usage/configuration/user_authentication/single_sign_on/cas.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>CAS - Synapse</title>
         <title>CAS - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../../../../favicon.svg">
         <link rel="icon" href="../../../../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../../../../favicon.png">
         <link rel="shortcut icon" href="../../../../favicon.png">
-        
         <link rel="stylesheet" href="../../../../css/variables.css">
         <link rel="stylesheet" href="../../../../css/variables.css">
         <link rel="stylesheet" href="../../../../css/general.css">
         <link rel="stylesheet" href="../../../../css/general.css">
         <link rel="stylesheet" href="../../../../css/chrome.css">
         <link rel="stylesheet" href="../../../../css/chrome.css">
-        
         <link rel="stylesheet" href="../../../../css/print.css" media="print">
         <link rel="stylesheet" href="../../../../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../../../../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../../../../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../../../../fonts/fonts.css">
         <link rel="stylesheet" href="../../../../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../../../../highlight.css">
         <link rel="stylesheet" href="../../../../highlight.css">
         <link rel="stylesheet" href="../../../../tomorrow-night.css">
         <link rel="stylesheet" href="../../../../tomorrow-night.css">
         <link rel="stylesheet" href="../../../../ayu-highlight.css">
         <link rel="stylesheet" href="../../../../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../../../../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../../../../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../../../../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../../../../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../../../../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../../../../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../../../../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../../../../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../../../../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/configuration/user_authentication/single_sign_on/cas.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/configuration/user_authentication/single_sign_on/cas.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -193,69 +170,41 @@ file</a> for more details.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../../../../usage/configuration/user_authentication/single_sign_on/saml.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../../../../usage/configuration/user_authentication/single_sign_on/saml.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../../../../sso_mapping_providers.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../../../../sso_mapping_providers.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../../../../usage/configuration/user_authentication/single_sign_on/saml.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../../../../usage/configuration/user_authentication/single_sign_on/saml.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../../../../sso_mapping_providers.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../../../../sso_mapping_providers.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../../../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../../../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../../../../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../../../../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../../../../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../../../../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/usage/configuration/user_authentication/single_sign_on/index.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>Single-Sign On - Synapse</title>
         <title>Single-Sign On - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../../../../favicon.svg">
         <link rel="icon" href="../../../../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../../../../favicon.png">
         <link rel="shortcut icon" href="../../../../favicon.png">
-        
         <link rel="stylesheet" href="../../../../css/variables.css">
         <link rel="stylesheet" href="../../../../css/variables.css">
         <link rel="stylesheet" href="../../../../css/general.css">
         <link rel="stylesheet" href="../../../../css/general.css">
         <link rel="stylesheet" href="../../../../css/chrome.css">
         <link rel="stylesheet" href="../../../../css/chrome.css">
-        
         <link rel="stylesheet" href="../../../../css/print.css" media="print">
         <link rel="stylesheet" href="../../../../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../../../../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../../../../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../../../../fonts/fonts.css">
         <link rel="stylesheet" href="../../../../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../../../../highlight.css">
         <link rel="stylesheet" href="../../../../highlight.css">
         <link rel="stylesheet" href="../../../../tomorrow-night.css">
         <link rel="stylesheet" href="../../../../tomorrow-night.css">
         <link rel="stylesheet" href="../../../../ayu-highlight.css">
         <link rel="stylesheet" href="../../../../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../../../../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../../../../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../../../../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../../../../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../../../../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../../../../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../../../../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../../../../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../../../../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/configuration/user_authentication/single_sign_on/README.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/configuration/user_authentication/single_sign_on/README.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -191,69 +168,41 @@ auth provider modules.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../../../../usage/configuration/user_authentication/index.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../../../../usage/configuration/user_authentication/index.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../../../../openid.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../../../../openid.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../../../../usage/configuration/user_authentication/index.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../../../../usage/configuration/user_authentication/index.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../../../../openid.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../../../../openid.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../../../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../../../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../../../../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../../../../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../../../../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../../../../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/usage/configuration/user_authentication/single_sign_on/saml.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>SAML - Synapse</title>
         <title>SAML - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="../../../../favicon.svg">
         <link rel="icon" href="../../../../favicon.svg">
-        
-        
         <link rel="shortcut icon" href="../../../../favicon.png">
         <link rel="shortcut icon" href="../../../../favicon.png">
-        
         <link rel="stylesheet" href="../../../../css/variables.css">
         <link rel="stylesheet" href="../../../../css/variables.css">
         <link rel="stylesheet" href="../../../../css/general.css">
         <link rel="stylesheet" href="../../../../css/general.css">
         <link rel="stylesheet" href="../../../../css/chrome.css">
         <link rel="stylesheet" href="../../../../css/chrome.css">
-        
         <link rel="stylesheet" href="../../../../css/print.css" media="print">
         <link rel="stylesheet" href="../../../../css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="../../../../FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="../../../../FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="../../../../fonts/fonts.css">
         <link rel="stylesheet" href="../../../../fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="../../../../highlight.css">
         <link rel="stylesheet" href="../../../../highlight.css">
         <link rel="stylesheet" href="../../../../tomorrow-night.css">
         <link rel="stylesheet" href="../../../../tomorrow-night.css">
         <link rel="stylesheet" href="../../../../ayu-highlight.css">
         <link rel="stylesheet" href="../../../../ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="../../../../docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="../../../../docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="../../../../docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="../../../../docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="../../../../docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="../../../../docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="../../../../docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="../../../../print.html" title="Print this book" aria-label="Print this book">
                         <a href="../../../../print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/configuration/user_authentication/single_sign_on/saml.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/usage/configuration/user_authentication/single_sign_on/saml.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -193,69 +170,41 @@ file</a> for more details.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="../../../../openid.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="../../../../openid.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="../../../../usage/configuration/user_authentication/single_sign_on/cas.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="../../../../usage/configuration/user_authentication/single_sign_on/cas.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="../../../../openid.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="../../../../openid.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="../../../../usage/configuration/user_authentication/single_sign_on/cas.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="../../../../usage/configuration/user_authentication/single_sign_on/cas.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="../../../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="../../../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../book.js" type="text/javascript" charset="utf-8"></script>
         <script src="../../../../book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="../../../../docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="../../../../docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="../../../../docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="../../../../docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 16 - 67
v1.56/user_directory.html

@@ -4,53 +4,31 @@
         <!-- Book generated using mdBook -->
         <!-- Book generated using mdBook -->
         <meta charset="UTF-8">
         <meta charset="UTF-8">
         <title>User Directory - Synapse</title>
         <title>User Directory - Synapse</title>
-        
-        
-
-
         <!-- Custom HTML head -->
         <!-- Custom HTML head -->
-        
-
-
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
         <meta name="description" content="">
         <meta name="description" content="">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta name="theme-color" content="#ffffff" />
         <meta name="theme-color" content="#ffffff" />
 
 
-        
         <link rel="icon" href="favicon.svg">
         <link rel="icon" href="favicon.svg">
-        
-        
         <link rel="shortcut icon" href="favicon.png">
         <link rel="shortcut icon" href="favicon.png">
-        
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/variables.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/general.css">
         <link rel="stylesheet" href="css/chrome.css">
         <link rel="stylesheet" href="css/chrome.css">
-        
         <link rel="stylesheet" href="css/print.css" media="print">
         <link rel="stylesheet" href="css/print.css" media="print">
-        
-
         <!-- Fonts -->
         <!-- Fonts -->
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
         <link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
-        
         <link rel="stylesheet" href="fonts/fonts.css">
         <link rel="stylesheet" href="fonts/fonts.css">
-        
-
         <!-- Highlight.js Stylesheets -->
         <!-- Highlight.js Stylesheets -->
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="highlight.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="tomorrow-night.css">
         <link rel="stylesheet" href="ayu-highlight.css">
         <link rel="stylesheet" href="ayu-highlight.css">
 
 
         <!-- Custom theme stylesheets -->
         <!-- Custom theme stylesheets -->
-        
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
         <link rel="stylesheet" href="docs/website_files/table-of-contents.css">
-        
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
         <link rel="stylesheet" href="docs/website_files/remove-nav-buttons.css">
-        
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
         <link rel="stylesheet" href="docs/website_files/indent-section-headers.css">
-        
-
-        
+        <link rel="stylesheet" href="docs/website_files/version-picker.css">
     </head>
     </head>
     <body>
     <body>
         <!-- Provide site root to javascript -->
         <!-- Provide site root to javascript -->
@@ -107,7 +85,6 @@
         <div id="page-wrapper" class="page-wrapper">
         <div id="page-wrapper" class="page-wrapper">
 
 
             <div class="page">
             <div class="page">
-                
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar-hover-placeholder"></div>
                 <div id="menu-bar" class="menu-bar sticky bordered">
                 <div id="menu-bar" class="menu-bar sticky bordered">
                     <div class="left-buttons">
                     <div class="left-buttons">
@@ -124,36 +101,38 @@
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                             <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                         </ul>
                         </ul>
-                        
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                         <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
-                        
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">Synapse</h1>
                     <h1 class="menu-title">Synapse</h1>
 
 
                     <div class="right-buttons">
                     <div class="right-buttons">
-                        
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                         <a href="print.html" title="Print this book" aria-label="Print this book">
                             <i id="print-button" class="fa fa-print"></i>
                             <i id="print-button" class="fa fa-print"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                         <a href="https://github.com/matrix-org/synapse" title="Git repository" aria-label="Git repository">
                             <i id="git-repository-button" class="fa fa-github"></i>
                             <i id="git-repository-button" class="fa fa-github"></i>
                         </a>
                         </a>
-                        
-                        
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/user_directory.md" title="Suggest an edit" aria-label="Suggest an edit">
                         <a href="https://github.com/matrix-org/synapse/edit/develop/docs/user_directory.md" title="Suggest an edit" aria-label="Suggest an edit">
                             <i id="git-edit-button" class="fa fa-edit"></i>
                             <i id="git-edit-button" class="fa fa-edit"></i>
                         </a>
                         </a>
-                        
-
                     </div>
                     </div>
                 </div>
                 </div>
 
 
-                
                 <div id="search-wrapper" class="hidden">
                 <div id="search-wrapper" class="hidden">
                     <form id="searchbar-outer" class="searchbar-outer">
                     <form id="searchbar-outer" class="searchbar-outer">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                         <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
@@ -164,8 +143,6 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                 </div>
                 </div>
-                
-
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                 <script type="text/javascript">
                 <script type="text/javascript">
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                     document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
@@ -242,69 +219,41 @@ different, but this isn't enforced by a constraint.</p>
 
 
                     <nav class="nav-wrapper" aria-label="Page navigation">
                     <nav class="nav-wrapper" aria-label="Page navigation">
                         <!-- Mobile navigation buttons -->
                         <!-- Mobile navigation buttons -->
-                        
                             <a rel="prev" href="development/url_previews.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                             <a rel="prev" href="development/url_previews.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                 <i class="fa fa-angle-left"></i>
                                 <i class="fa fa-angle-left"></i>
                             </a>
                             </a>
-                        
-
-                        
                             <a rel="next" href="message_retention_policies.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                             <a rel="next" href="message_retention_policies.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             </a>
                             </a>
-                        
-
                         <div style="clear: both"></div>
                         <div style="clear: both"></div>
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
 
 
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
             <nav class="nav-wide-wrapper" aria-label="Page navigation">
-                
                     <a rel="prev" href="development/url_previews.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                     <a rel="prev" href="development/url_previews.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                         <i class="fa fa-angle-left"></i>
                         <i class="fa fa-angle-left"></i>
                     </a>
                     </a>
-                
-
-                
                     <a rel="next" href="message_retention_policies.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                     <a rel="next" href="message_retention_policies.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                         <i class="fa fa-angle-right"></i>
                         <i class="fa fa-angle-right"></i>
                     </a>
                     </a>
-                
             </nav>
             </nav>
 
 
         </div>
         </div>
 
 
-        
-
-        
-
-        
-
-        
         <script type="text/javascript">
         <script type="text/javascript">
             window.playground_copyable = true;
             window.playground_copyable = true;
         </script>
         </script>
-        
-
-        
-
-        
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
         <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
-        
-
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
         <script src="book.js" type="text/javascript" charset="utf-8"></script>
 
 
         <!-- Custom JS scripts -->
         <!-- Custom JS scripts -->
-        
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
         <script type="text/javascript" src="docs/website_files/table-of-contents.js"></script>
-        
-
-        
-
+        <script type="text/javascript" src="docs/website_files/version-picker.js"></script>
+        <script type="text/javascript" src="docs/website_files/version.js"></script>
     </body>
     </body>
-</html>
+</html>

+ 13 - 1
v1.56/website_files/theme/index.hbs

@@ -131,6 +131,18 @@
                             <i class="fa fa-search"></i>
                             <i class="fa fa-search"></i>
                         </button>
                         </button>
                         {{/if}}
                         {{/if}}
+                        <div class="version-picker">
+                            <div class="dropdown">
+                                <div class="select">
+                                    <span></span>
+                                    <i class="fa fa-chevron-down"></i>
+                                </div>
+                                <input type="hidden" name="version">
+                                <ul class="dropdown-menu">
+                                    <!-- Versions will be added dynamically in version-picker.js -->
+                                </ul>
+                            </div>
+                        </div>      
                     </div>
                     </div>
 
 
                     <h1 class="menu-title">{{ book_title }}</h1>
                     <h1 class="menu-title">{{ book_title }}</h1>
@@ -309,4 +321,4 @@
         {{/if}}
         {{/if}}
 
 
     </body>
     </body>
-</html>
+</html>

+ 78 - 0
v1.56/website_files/version-picker.css

@@ -0,0 +1,78 @@
+.version-picker {
+    display: flex;
+    align-items: center;
+}
+
+.version-picker .dropdown {
+    width: 130px;
+    max-height: 29px;
+    margin-left: 10px;
+    display: inline-block;
+    border-radius: 4px;
+    border: 1px solid var(--theme-popup-border);
+    position: relative;
+    font-size: 13px;
+    color: var(--fg);
+    height: 100%;
+    text-align: left;
+}
+.version-picker .dropdown .select {
+    cursor: pointer;
+    display: block;
+    padding: 5px 2px 5px 15px;
+}
+.version-picker .dropdown .select > i {
+    font-size: 10px;
+    color: var(--fg);
+    cursor: pointer;
+    float: right;
+    line-height: 20px !important;
+}
+.version-picker .dropdown:hover {
+    border: 1px solid var(--theme-popup-border);
+}
+.version-picker .dropdown:active {
+    background-color: var(--theme-popup-bg);
+}
+.version-picker .dropdown.active:hover,
+.version-picker .dropdown.active {
+    border: 1px solid var(--theme-popup-border);
+    border-radius: 2px 2px 0 0;
+    background-color: var(--theme-popup-bg);
+}
+.version-picker .dropdown.active .select > i {
+    transform: rotate(-180deg);
+}
+.version-picker .dropdown .dropdown-menu {
+    position: absolute;
+    background-color: var(--theme-popup-bg);
+    width: 100%;
+    left: -1px;
+    right: 1px;
+    margin-top: 1px;
+    border: 1px solid var(--theme-popup-border);
+    border-radius: 0 0 4px 4px;
+    overflow: hidden;
+    display: none;
+    max-height: 300px;
+    overflow-y: auto;
+    z-index: 9;
+}
+.version-picker .dropdown .dropdown-menu li {
+    font-size: 12px;
+    padding: 6px 20px;
+    cursor: pointer;
+} 
+.version-picker .dropdown .dropdown-menu {
+    padding: 0;
+    list-style: none;
+}
+.version-picker .dropdown .dropdown-menu li:hover {
+    background-color: var(--theme-hover);
+}
+.version-picker .dropdown .dropdown-menu li.active::before {
+    display: inline-block;
+    content: "✓";
+    margin-inline-start: -14px;
+    width: 14px;
+}

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