diff --git a/.changeset/fix-myroomnick.md b/.changeset/fix-myroomnick.md new file mode 100644 index 000000000..44b1e41e9 --- /dev/null +++ b/.changeset/fix-myroomnick.md @@ -0,0 +1,5 @@ +--- +default: patch +--- + +Fix `/myroomnick` and room cosmetics display name not updating name. diff --git a/src/app/hooks/useCommands.ts b/src/app/hooks/useCommands.ts index c4987f6ba..1a9818ed0 100644 --- a/src/app/hooks/useCommands.ts +++ b/src/app/hooks/useCommands.ts @@ -497,7 +497,19 @@ export const useCommands = (mx: MatrixClient, room: Room): CommandRecord => { ?.getStateEvents(EventType.RoomMember, mx.getSafeUserId()); const content = mEvent?.getContent(); if (!content) return; - await mx.sendStateEvent(room.roomId, EventType.RoomMember, content, mx.getSafeUserId()); + const updatedContent: RoomMemberEventContent = { ...content }; + const withDisplay = updatedContent as RoomMemberEventContent & { displayname?: string }; + if (nick == null || nick === '') { + delete withDisplay.displayname; + } else { + withDisplay.displayname = nick; + } + await mx.sendStateEvent( + room.roomId, + EventType.RoomMember, + updatedContent, + mx.getSafeUserId() + ); }, }, [Command.AddPerMessageProfileToAccount]: {