diff --git a/src/App.vue b/src/App.vue index fbb847040c8..df1a5a1b7cd 100644 --- a/src/App.vue +++ b/src/App.vue @@ -66,6 +66,8 @@ import UploadEditor from './components/UploadEditor' import SettingsDialog from './components/SettingsDialog/SettingsDialog' import ConversationSettingsDialog from './components/ConversationSettings/ConversationSettingsDialog' import '@nextcloud/dialogs/styles/toast.scss' +import { register } from 'extendable-media-recorder' +import { connect } from 'extendable-media-recorder-wav-encoder' export default { name: 'App', @@ -325,7 +327,7 @@ export default { } }, - mounted() { + async mounted() { // see browserCheck mixin this.checkBrowser() // Check sidebar status in previous sessions @@ -334,6 +336,8 @@ export default { } else if (BrowserStorage.getItem('sidebarOpen') === 'true') { this.$store.dispatch('showSidebar') } + + register(await connect()) }, methods: { diff --git a/src/FilesSidebarTabApp.vue b/src/FilesSidebarTabApp.vue index 47c958e1f40..e447391f300 100644 --- a/src/FilesSidebarTabApp.vue +++ b/src/FilesSidebarTabApp.vue @@ -66,6 +66,8 @@ import ChatView from './components/ChatView' import sessionIssueHandler from './mixins/sessionIssueHandler' import browserCheck from './mixins/browserCheck' import '@nextcloud/dialogs/styles/toast.scss' +import { register } from 'extendable-media-recorder' +import { connect } from 'extendable-media-recorder-wav-encoder' export default { @@ -138,6 +140,11 @@ export default { }, }, + async mounted() { + // Initialise audiorecorder encoder + register(await connect()) + }, + created() { // The fetchCurrentConversation event handler/callback is started and // stopped from different FilesSidebarTabApp instances, so it needs to diff --git a/src/PublicShareAuthSidebar.vue b/src/PublicShareAuthSidebar.vue index 1db9a79f6aa..c55a07847c6 100644 --- a/src/PublicShareAuthSidebar.vue +++ b/src/PublicShareAuthSidebar.vue @@ -47,6 +47,8 @@ import { import { signalingKill } from './utils/webrtc/index' import sessionIssueHandler from './mixins/sessionIssueHandler' import talkHashCheck from './mixins/talkHashCheck' +import { register } from 'extendable-media-recorder' +import { connect } from 'extendable-media-recorder-wav-encoder' export default { @@ -97,6 +99,11 @@ export default { }, }, + async mounted() { + // Initialise audiorecorder encoder + register(await connect()) + }, + beforeMount() { window.addEventListener('unload', () => { console.info('Navigating away, leaving conversation') diff --git a/src/PublicShareSidebar.vue b/src/PublicShareSidebar.vue index 490e9a0833e..475659d5c2a 100644 --- a/src/PublicShareSidebar.vue +++ b/src/PublicShareSidebar.vue @@ -61,6 +61,8 @@ import isInCall from './mixins/isInCall' import participant from './mixins/participant' import talkHashCheck from './mixins/talkHashCheck' import '@nextcloud/dialogs/styles/toast.scss' +import { register } from 'extendable-media-recorder' +import { connect } from 'extendable-media-recorder-wav-encoder' export default { @@ -131,6 +133,11 @@ export default { }) }, + async mounted() { + // Initialise audiorecorder encoder + await register(await connect()) + }, + methods: { async joinConversation() { diff --git a/src/components/NewMessageForm/AudioRecorder/AudioRecorder.vue b/src/components/NewMessageForm/AudioRecorder/AudioRecorder.vue index f4a46b67d65..ca5bd15d59f 100644 --- a/src/components/NewMessageForm/AudioRecorder/AudioRecorder.vue +++ b/src/components/NewMessageForm/AudioRecorder/AudioRecorder.vue @@ -78,8 +78,7 @@ import Check from 'vue-material-design-icons/Check' import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip' import { mediaDevicesManager } from '../../../utils/webrtc/index' import { showError } from '@nextcloud/dialogs' -import { MediaRecorder, register } from 'extendable-media-recorder' -import { connect } from 'extendable-media-recorder-wav-encoder' +import { MediaRecorder } from 'extendable-media-recorder' export default { name: 'AudioRecorder', @@ -156,10 +155,6 @@ export default { }, }, - async mounted() { - await register(await connect()) - }, - beforeDestroy() { this.killStreams() },