diff --git a/src/components/LobbyScreen.vue b/src/components/LobbyScreen.vue
index 9c048e3ce74..4d95f9abdba 100644
--- a/src/components/LobbyScreen.vue
+++ b/src/components/LobbyScreen.vue
@@ -40,7 +40,6 @@ import moment from '@nextcloud/moment'
import NcRichText from '@nextcloud/vue/components/NcRichText'
import RoomService from 'vue-material-design-icons/RoomService.vue'
import MediaSettings from '../components/MediaSettings/MediaSettings.vue'
-import GuestWelcomeWindow from './GuestWelcomeWindow.vue'
import { useGetToken } from '../composables/useGetToken.ts'
import { futureRelativeTime, ONE_DAY_IN_MS } from '../utils/formattedTime.ts'
diff --git a/src/components/MediaSettings/MediaSettings.vue b/src/components/MediaSettings/MediaSettings.vue
index 3e416fcefd7..8fa5dbc7694 100644
--- a/src/components/MediaSettings/MediaSettings.vue
+++ b/src/components/MediaSettings/MediaSettings.vue
@@ -171,7 +171,9 @@
-
+
@@ -63,7 +63,11 @@ import { useActorStore } from '../stores/actor.ts'
import { useGuestNameStore } from '../stores/guestName.js'
const { compact = false } = defineProps<{
- compact: boolean
+ compact?: boolean
+}>()
+
+const emit = defineEmits<{
+ (event: 'update', value: string): void
}>()
const loginUrl = `${generateUrl('/login')}?redirect_url=${encodeURIComponent(window.location.pathname)}`
@@ -76,7 +80,7 @@ const usernameInput = useTemplateRef('usernameInput')
const guestUserName = ref(getGuestNickname() || '')
const isEditingUsername = ref(false)
-const actorDisplayName = computed(() => actorStore.displayName || guestUserName.value || t('spreed', 'Guest'))
+const actorDisplayName = computed(() => actorStore.displayName || guestUserName.value)
const displayNameLabel = computed(() => t('spreed', 'Display name: {name}', {
name: `${escapeHtml(actorDisplayName.value)}`,
}, { escape: false }))
@@ -104,6 +108,7 @@ EventBus.once('joined-conversation', () => {
subscribe('user:info:changed', updateDisplayNameFromPublicEvent)
onBeforeUnmount(() => {
unsubscribe('user:info:changed', updateDisplayNameFromPublicEvent)
+ updateDisplayName()
})
/** Update guest username from public page user menu */
@@ -116,6 +121,9 @@ function updateDisplayNameFromPublicEvent(payload: NextcloudUser) {
/** Set guest username locally and send request to server to update for other attendees */
function updateDisplayName() {
+ if (!guestUserName.value) {
+ return
+ }
guestNameStore.submitGuestUsername(token.value, guestUserName.value)
isEditingUsername.value = false
}
@@ -129,6 +137,11 @@ function toggleEdit() {
})
}
}
+
+// One-way binding to parent component
+watch(guestUserName, (newValue) => {
+ emit('update', newValue)
+}, { immediate: true })