diff --git a/src/components/AdminSettings/StunServer.vue b/src/components/AdminSettings/StunServer.vue
index 37611fcf4cf..525eb53caa5 100644
--- a/src/components/AdminSettings/StunServer.vue
+++ b/src/components/AdminSettings/StunServer.vue
@@ -21,11 +21,12 @@
labelOutside />
-
+ :title="t('spreed', 'The server address is invalid')">
+
+
{
['Alice', 'guest-id', ATTENDEE.ACTOR_TYPE.EMAILS, PARTICIPANT.TYPE.GUEST, 'Alice(guest)'],
['', 'guest-id', ATTENDEE.ACTOR_TYPE.GUESTS, PARTICIPANT.TYPE.GUEST, 'Guest(guest)'],
// The role is rendered as an icon, its accessible name is part of the text content
- ['Alice', 'alice', ATTENDEE.ACTOR_TYPE.USERS, PARTICIPANT.TYPE.OWNER, 'AliceOwner'],
- ['Alice', 'alice', ATTENDEE.ACTOR_TYPE.USERS, PARTICIPANT.TYPE.MODERATOR, 'AliceModerator'],
- ['Alice', 'guest-id', ATTENDEE.ACTOR_TYPE.GUESTS, PARTICIPANT.TYPE.GUEST_MODERATOR, 'AliceModerator(guest)'],
+ ['Alice', 'alice', ATTENDEE.ACTOR_TYPE.USERS, PARTICIPANT.TYPE.OWNER, 'Alice'],
+ ['Alice', 'alice', ATTENDEE.ACTOR_TYPE.USERS, PARTICIPANT.TYPE.MODERATOR, 'Alice'],
+ ['Alice', 'guest-id', ATTENDEE.ACTOR_TYPE.GUESTS, PARTICIPANT.TYPE.GUEST_MODERATOR, 'Alice(guest)'],
['Bot', ATTENDEE.BRIDGE_BOT_ID, ATTENDEE.ACTOR_TYPE.USERS, PARTICIPANT.TYPE.USER, 'Bot(bot)'],
]
@@ -194,9 +194,9 @@ describe('ParticipantItem.vue', () => {
['Alice', 'guest-id', ATTENDEE.ACTOR_TYPE.EMAILS, PARTICIPANT.TYPE.GUEST, 'Alice(guest)(in the lobby)'],
['', 'guest-id', ATTENDEE.ACTOR_TYPE.GUESTS, PARTICIPANT.TYPE.GUEST, 'Guest(guest)(in the lobby)'],
// Owners and moderators can skip the lobby, so they get no lobby badge
- ['Alice', 'alice', ATTENDEE.ACTOR_TYPE.USERS, PARTICIPANT.TYPE.OWNER, 'AliceOwner'],
- ['Alice', 'alice', ATTENDEE.ACTOR_TYPE.USERS, PARTICIPANT.TYPE.MODERATOR, 'AliceModerator'],
- ['Alice', 'guest-id', ATTENDEE.ACTOR_TYPE.GUESTS, PARTICIPANT.TYPE.GUEST_MODERATOR, 'AliceModerator(guest)'],
+ ['Alice', 'alice', ATTENDEE.ACTOR_TYPE.USERS, PARTICIPANT.TYPE.OWNER, 'Alice'],
+ ['Alice', 'alice', ATTENDEE.ACTOR_TYPE.USERS, PARTICIPANT.TYPE.MODERATOR, 'Alice'],
+ ['Alice', 'guest-id', ATTENDEE.ACTOR_TYPE.GUESTS, PARTICIPANT.TYPE.GUEST_MODERATOR, 'Alice(guest)'],
]
it.each([
diff --git a/src/components/RightSidebar/Participants/ParticipantItem.vue b/src/components/RightSidebar/Participants/ParticipantItem.vue
index f9f29c9bd86..06c4af624d6 100644
--- a/src/components/RightSidebar/Participants/ParticipantItem.vue
+++ b/src/components/RightSidebar/Participants/ParticipantItem.vue
@@ -32,16 +32,13 @@
{{ computedName }}
-
-
+ :title="showOwnerIcon ? ownerIconLabel : moderatorIconLabel">
+
+
+
({{ t('spreed', 'bot') }})
({{ t('spreed', 'guest') }})
({{ t('spreed', 'in the lobby') }})
@@ -92,12 +89,12 @@
-
+ :title="callIcon.title">
+
+
diff --git a/src/components/RightSidebar/Participants/ParticipantsTab.vue b/src/components/RightSidebar/Participants/ParticipantsTab.vue
index 1f4d0730d5f..546a817cb31 100644
--- a/src/components/RightSidebar/Participants/ParticipantsTab.vue
+++ b/src/components/RightSidebar/Participants/ParticipantsTab.vue
@@ -241,6 +241,10 @@ export default {
},
canAddPhones() {
+ if (!this.canAdd) {
+ return false
+ }
+
const canModerateSipDialOut = hasTalkFeature(this.token, 'sip-support-dialout')
&& getTalkConfig(this.token, 'call', 'enabled')
&& getTalkConfig(this.token, 'call', 'sip-enabled')
@@ -250,6 +254,10 @@ export default {
},
hintAddPhones() {
+ if (!this.canAdd) {
+ return false
+ }
+
const canModerateSipDialOut = hasTalkFeature(this.token, 'sip-support-dialout')
&& getTalkConfig(this.token, 'call', 'sip-enabled')
&& getTalkConfig(this.token, 'call', 'sip-dialout-enabled')
diff --git a/src/components/RightSidebar/RightSidebar.vue b/src/components/RightSidebar/RightSidebar.vue
index 88004bfbc63..c9c5b82c298 100644
--- a/src/components/RightSidebar/RightSidebar.vue
+++ b/src/components/RightSidebar/RightSidebar.vue
@@ -370,6 +370,7 @@ export default {
return (this.getUserId || this.isGuestModerator)
&& (!this.isOneToOne || this.isInCall)
&& !this.isNoteToSelf
+ && !this.isChangelog
&& (!isChannelConversation(this.conversation) || this.$store.getters.isModerator)
},
@@ -385,6 +386,10 @@ export default {
return this.conversation.type === CONVERSATION.TYPE.NOTE_TO_SELF
},
+ isChangelog() {
+ return this.conversation.type === CONVERSATION.TYPE.CHANGELOG
+ },
+
breakoutRoomsText() {
return t('spreed', 'Breakout rooms')
},