diff --git a/maubot/instance.py b/maubot/instance.py index 4d797e4..895c700 100644 --- a/maubot/instance.py +++ b/maubot/instance.py @@ -276,7 +276,11 @@ class PluginInstance(DBInstance): def save_config(self, data: RecursiveDict[CommentedMap]) -> None: buf = io.StringIO() yaml.dump(data, buf) - self.config_str = buf.getvalue() + val = buf.getvalue() + if val != self.config_str: + self.config_str = val + self.log.debug("Creating background task to save updated config") + asyncio.create_task(self.update()) async def start_database( self, upgrade_table: UpgradeTable | None = None, actually_start: bool = True diff --git a/maubot/management/api/client_auth.py b/maubot/management/api/client_auth.py index c5baade..f630931 100644 --- a/maubot/management/api/client_auth.py +++ b/maubot/management/api/client_auth.py @@ -188,7 +188,7 @@ async def _do_sso(req: AuthRequestInfo) -> web.Response: / "client/auth_external_sso/complete" / waiter_id ) - sso_url = req.client.api.base_url.with_path(str(Path.login.sso.redirect)).with_query( + sso_url = req.client.api.base_url.with_path(str(Path.v3.login.sso.redirect)).with_query( {"redirectUrl": str(public_url)} ) sso_waiters[waiter_id] = req, asyncio.get_running_loop().create_future() diff --git a/maubot/management/frontend/src/pages/dashboard/Log.js b/maubot/management/frontend/src/pages/dashboard/Log.js index 5cd9833..b80e6ad 100644 --- a/maubot/management/frontend/src/pages/dashboard/Log.js +++ b/maubot/management/frontend/src/pages/dashboard/Log.js @@ -41,7 +41,7 @@ class LogEntry extends PureComponent { const req = this.props.line.matrix_http_request return <> - {req.method} {req.path} + {req.method} {req.url || req.path}