From 75ed2167b8209a10b5565c60e42135929813c7dc Mon Sep 17 00:00:00 2001 From: N Pex Date: Tue, 23 Jul 2024 09:36:57 +0000 Subject: [PATCH] Show username and "change" in the welcome header --- src/components/Chat.vue | 14 +++++++++++++- .../welcome_headers/WelcomeHeaderChannel.vue | 8 ++------ .../welcome_headers/WelcomeHeaderChannelUser.vue | 9 +++++++++ 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/src/components/Chat.vue b/src/components/Chat.vue index 0fa3de7..80f8d8a 100644 --- a/src/components/Chat.vue +++ b/src/components/Chat.vue @@ -54,7 +54,7 @@ - +
@@ -478,6 +478,7 @@ export default { /** If we just created this room, show a small welcome header with info */ hideRoomWelcomeHeader: false, + newlyJoinedRoom: false, /** An array of recent emojis. Used in the "message operations" popup. */ recentEmojis: [], @@ -830,6 +831,7 @@ export default { this.typingMembers = []; this.initialLoadDone = false; this.hideRoomWelcomeHeader = false; + this.newlyJoinedRoom = false; // Stop RR timer this.stopRRTimer(); @@ -957,6 +959,16 @@ export default { }, onRoomJoined(initialEventId) { + // If our own join event is less than a minute old, consider this a "newly joined" room. + // + // Previously tried to look at initialEventId, but it seems like "this.room.getEventReadUpTo(this.$matrix.currentUserId, false)" + // always returns an event id? Strange. I would expect it to be null on a fresh room. + // + const joinEvent = this.room && this.room.currentState.getStateEvents("m.room.member", this.$matrix.currentUserId); + if (joinEvent) { + this.newlyJoinedRoom = joinEvent.getLocalAge() < 1 * 60000 /* 1 minute */; + } + // Listen to events this.$matrix.on("Room.timeline", this.onEvent); this.$matrix.on("RoomMember.typing", this.onUserTyping); diff --git a/src/components/welcome_headers/WelcomeHeaderChannel.vue b/src/components/welcome_headers/WelcomeHeaderChannel.vue index ae913ad..6d6c163 100644 --- a/src/components/welcome_headers/WelcomeHeaderChannel.vue +++ b/src/components/welcome_headers/WelcomeHeaderChannel.vue @@ -20,12 +20,8 @@ - -
-
diff --git a/src/components/welcome_headers/WelcomeHeaderChannelUser.vue b/src/components/welcome_headers/WelcomeHeaderChannelUser.vue index 30af81a..943f0e0 100644 --- a/src/components/welcome_headers/WelcomeHeaderChannelUser.vue +++ b/src/components/welcome_headers/WelcomeHeaderChannelUser.vue @@ -1,5 +1,11 @@