diff --git a/maubot/client.py b/maubot/client.py
index 6014e0a..6edc2f5 100644
--- a/maubot/client.py
+++ b/maubot/client.py
@@ -46,8 +46,8 @@ class Client:
client: MaubotMatrixClient
started: bool
- remote_displayname: str
- remote_avatar_url: ContentURI
+ remote_displayname: Optional[str]
+ remote_avatar_url: Optional[ContentURI]
def __init__(self, db_instance: DBClient) -> None:
self.db_instance = db_instance
@@ -56,6 +56,8 @@ class Client:
self.references = set()
self.started = False
self.sync_ok = True
+ self.remote_displayname = None
+ self.remote_avatar_url = None
self.client = MaubotMatrixClient(mxid=self.id, base_url=self.homeserver,
token=self.access_token, client_session=self.http_client,
log=self.log, loop=self.loop, store=self.db_instance)
diff --git a/maubot/management/frontend/src/pages/dashboard/Client.js b/maubot/management/frontend/src/pages/dashboard/Client.js
index a572591..062d6ad 100644
--- a/maubot/management/frontend/src/pages/dashboard/Client.js
+++ b/maubot/management/frontend/src/pages/dashboard/Client.js
@@ -30,18 +30,24 @@ const ClientListEntry = ({ entry }) => {
} else if (!entry.started) {
classes.push("stopped")
}
- const avatarURL = entry.avatar_url && api.getAvatarURL({
+ const avatarMXC = entry.avatar_url === "disable"
+ ? entry.remote_avatar_url
+ : entry.avatar_url
+ const avatarURL = avatarMXC && api.getAvatarURL({
id: entry.id,
- avatar_url: entry.avatar_url === "disabled"
- ? entry.remote_avatar_url
- : entry.avatar_url
+ avatar_url: avatarMXC,
})
+ const displayname = (
+ entry.displayname === "disable"
+ ? entry.remote_displayname
+ : entry.displayname
+ ) || entry.id
return (
: