Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/FilesSidebarCallViewApp.vue12
-rw-r--r--src/FilesSidebarTabApp.vue20
-rw-r--r--src/PublicShareAuthRequestPasswordButton.vue4
-rw-r--r--src/PublicShareAuthSidebar.vue16
-rw-r--r--src/PublicShareSidebar.vue24
-rw-r--r--src/collections.js2
-rw-r--r--src/components/ChatView.vue6
-rw-r--r--src/components/ConversationIcon.vue2
-rw-r--r--src/components/ConversationsOptionsList.vue4
-rw-r--r--src/components/LobbyScreen.vue2
-rw-r--r--src/components/MediaDevicesPreview.vue4
-rw-r--r--src/components/NewMessageForm/AdvancedInput/AdvancedInput.vue12
-rw-r--r--src/components/NewMessageForm/AudioRecorder/AudioRecorder.vue2
-rw-r--r--src/components/NewMessageForm/NewMessageForm.vue12
-rw-r--r--src/components/PermissionsEditor/PermissionsEditor.vue2
-rw-r--r--src/components/Quote.vue6
-rw-r--r--src/components/RightSidebar/Participants/CurrentParticipants/CurrentParticipants.vue8
-rw-r--r--src/components/RightSidebar/Participants/ParticipantsList/Participant/Participant.spec.js11
-rw-r--r--src/components/RightSidebar/Participants/ParticipantsList/Participant/Participant.vue8
-rw-r--r--src/components/RightSidebar/Participants/ParticipantsList/Participant/ParticipantPermissionsEditor/ParticipantPermissionsEditor.spec.js7
-rw-r--r--src/components/RightSidebar/Participants/ParticipantsList/Participant/ParticipantPermissionsEditor/ParticipantPermissionsEditor.vue2
-rw-r--r--src/components/RightSidebar/Participants/ParticipantsList/ParticipantsList.vue4
-rw-r--r--src/components/RightSidebar/Participants/ParticipantsSearchResults/ParticipantsSearchResults.vue4
-rw-r--r--src/components/RightSidebar/Participants/ParticipantsTab.vue16
-rw-r--r--src/components/RightSidebar/RightSidebar.vue18
-rw-r--r--src/components/RightSidebar/SharedItems/SharedItems.vue6
-rw-r--r--src/components/RightSidebar/SharedItems/SharedItemsBrowser/SharedItemsBrowser.vue2
-rw-r--r--src/components/RightSidebar/SharedItems/SharedItemsTab.vue6
-rw-r--r--src/components/RightSidebar/SipSettings.vue2
-rw-r--r--src/components/SetGuestUsername.vue2
-rw-r--r--src/components/SettingsDialog/SettingsDialog.vue4
-rw-r--r--src/components/TopBar/TopBar.vue16
-rw-r--r--src/dashboard.js2
-rw-r--r--src/deck.js4
-rw-r--r--src/flow.js2
-rw-r--r--src/init.js4
-rw-r--r--src/mainAdminSettings.js2
-rw-r--r--src/mainFilesSidebar.js8
-rw-r--r--src/mainFilesSidebarLoader.js4
-rw-r--r--src/mainPublicShareAuthSidebar.js8
-rw-r--r--src/mainPublicShareSidebar.js6
-rw-r--r--src/maps.js4
-rw-r--r--src/mixins/devices.js6
-rw-r--r--src/mixins/getParticipants.js10
-rw-r--r--src/mixins/isInCall.js4
-rw-r--r--src/mixins/isInLobby.js2
-rw-r--r--src/mixins/participant.js2
-rw-r--r--src/mixins/sessionIssueHandler.js4
-rw-r--r--src/mixins/sharedItems.js2
-rw-r--r--src/services/callsService.js2
-rw-r--r--src/services/conversationsService.js2
-rw-r--r--src/services/conversationsService.spec.js6
-rw-r--r--src/services/filesSharingServices.spec.js4
-rw-r--r--src/services/messagesService.spec.js4
-rw-r--r--src/services/participantsService.js4
-rw-r--r--src/services/settingsService.js2
-rw-r--r--src/store/actorStore.js2
-rw-r--r--src/store/actorStore.spec.js5
-rw-r--r--src/store/callViewStore.js4
-rw-r--r--src/store/callViewStore.spec.js5
-rw-r--r--src/store/conversationsStore.js3
-rw-r--r--src/store/conversationsStore.spec.js7
-rw-r--r--src/store/fileUploadStore.js12
-rw-r--r--src/store/fileUploadStore.spec.js1
-rw-r--r--src/store/guestNameStore.spec.js3
-rw-r--r--src/store/index.js2
-rw-r--r--src/store/messagesStore.js6
-rw-r--r--src/store/messagesStore.spec.js9
-rw-r--r--src/store/newGroupConversationStore.spec.js3
-rw-r--r--src/store/participantsStore.js10
-rw-r--r--src/store/participantsStore.spec.js11
-rw-r--r--src/store/quoteReplyStore.spec.js3
-rw-r--r--src/store/reactionsStore.js2
-rw-r--r--src/store/settingsStore.js6
-rw-r--r--src/store/sharedItemsStore.js4
-rw-r--r--src/store/sidebarStore.spec.js3
-rw-r--r--src/store/soundsStore.js6
-rw-r--r--src/store/storeConfig.js40
-rw-r--r--src/store/talkHashStore.spec.js3
-rw-r--r--src/utils/media/effects/virtual-background/JitsiStreamBackgroundEffect.js4
-rw-r--r--src/utils/media/effects/virtual-background/JitsiStreamBackgroundEffect.worker.js4
-rw-r--r--src/utils/media/effects/virtual-background/index.js6
-rw-r--r--src/utils/media/pipeline/MediaDevicesSource.js4
-rw-r--r--src/utils/media/pipeline/MediaDevicesSource.spec.js4
-rw-r--r--src/utils/media/pipeline/SpeakingMonitor.js4
-rw-r--r--src/utils/media/pipeline/TrackConstrainer.js2
-rw-r--r--src/utils/media/pipeline/TrackEnabler.js2
-rw-r--r--src/utils/media/pipeline/TrackEnabler.spec.js2
-rw-r--r--src/utils/media/pipeline/TrackSink.js2
-rw-r--r--src/utils/media/pipeline/TrackSinkSource.js6
-rw-r--r--src/utils/media/pipeline/TrackSource.js4
-rw-r--r--src/utils/media/pipeline/TrackToStream.js4
-rw-r--r--src/utils/media/pipeline/TrackToStream.spec.js2
-rw-r--r--src/utils/media/pipeline/VirtualBackground.js6
-rw-r--r--src/utils/media/pipeline/VirtualBackground.spec.js2
-rw-r--r--src/utils/signaling.js8
-rw-r--r--src/utils/sounds.js2
-rw-r--r--src/utils/webrtc/MediaDevicesManager.js4
-rw-r--r--src/utils/webrtc/RemoteVideoBlocker.spec.js2
-rw-r--r--src/utils/webrtc/SentVideoQualityThrottler.js2
-rw-r--r--src/utils/webrtc/analyzers/AverageStatValue.spec.js2
-rw-r--r--src/utils/webrtc/analyzers/CallAnalyzer.js4
-rw-r--r--src/utils/webrtc/analyzers/ParticipantAnalyzer.js4
-rw-r--r--src/utils/webrtc/analyzers/PeerConnectionAnalyzer.js4
-rw-r--r--src/utils/webrtc/index.js26
-rw-r--r--src/utils/webrtc/models/CallParticipantCollection.js4
-rw-r--r--src/utils/webrtc/models/CallParticipantModel.js2
-rw-r--r--src/utils/webrtc/models/LocalCallParticipantModel.js4
-rw-r--r--src/utils/webrtc/models/LocalMediaModel.js2
-rw-r--r--src/utils/webrtc/simplewebrtc/localmedia.js2
-rw-r--r--src/utils/webrtc/simplewebrtc/simplewebrtc.js2
-rw-r--r--src/utils/webrtc/simplewebrtc/webrtc.js4
-rw-r--r--src/utils/webrtc/webrtc.js2
-rw-r--r--src/views/AdminSettings.vue20
-rw-r--r--src/views/Dashboard.vue4
-rw-r--r--src/views/FlowPostToConversation.vue2
116 files changed, 336 insertions, 322 deletions
diff --git a/src/FilesSidebarCallViewApp.vue b/src/FilesSidebarCallViewApp.vue
index bdcaf7b89..4ee815bea 100644
--- a/src/FilesSidebarCallViewApp.vue
+++ b/src/FilesSidebarCallViewApp.vue
@@ -33,13 +33,13 @@
</template>
<script>
-import CallView from './components/CallView/CallView'
-import TopBar from './components/TopBar/TopBar'
+import CallView from './components/CallView/CallView.vue'
+import TopBar from './components/TopBar/TopBar.vue'
import PreventUnload from 'vue-prevent-unload'
-import sessionIssueHandler from './mixins/sessionIssueHandler'
-import isInCall from './mixins/isInCall'
-import participant from './mixins/participant'
-import talkHashCheck from './mixins/talkHashCheck'
+import sessionIssueHandler from './mixins/sessionIssueHandler.js'
+import isInCall from './mixins/isInCall.js'
+import participant from './mixins/participant.js'
+import talkHashCheck from './mixins/talkHashCheck.js'
import '@nextcloud/dialogs/styles/toast.scss'
export default {
diff --git a/src/FilesSidebarTabApp.vue b/src/FilesSidebarTabApp.vue
index 97c463a99..9cc28facc 100644
--- a/src/FilesSidebarTabApp.vue
+++ b/src/FilesSidebarTabApp.vue
@@ -49,21 +49,21 @@
<script>
-import { EventBus } from './services/EventBus'
-import { getFileConversation } from './services/filesIntegrationServices'
+import { EventBus } from './services/EventBus.js'
+import { getFileConversation } from './services/filesIntegrationServices.js'
import {
leaveConversationSync,
-} from './services/participantsService'
-import CancelableRequest from './utils/cancelableRequest'
-import { signalingKill } from './utils/webrtc/index'
+} from './services/participantsService.js'
+import CancelableRequest from './utils/cancelableRequest.js'
+import { signalingKill } from './utils/webrtc/index.js'
import { getCurrentUser } from '@nextcloud/auth'
import { loadState } from '@nextcloud/initial-state'
import Axios from '@nextcloud/axios'
-import UploadEditor from './components/UploadEditor'
-import CallButton from './components/TopBar/CallButton'
-import ChatView from './components/ChatView'
-import sessionIssueHandler from './mixins/sessionIssueHandler'
-import browserCheck from './mixins/browserCheck'
+import UploadEditor from './components/UploadEditor.vue'
+import CallButton from './components/TopBar/CallButton.vue'
+import ChatView from './components/ChatView.vue'
+import sessionIssueHandler from './mixins/sessionIssueHandler.js'
+import browserCheck from './mixins/browserCheck.js'
import '@nextcloud/dialogs/styles/toast.scss'
import DeviceChecker from './components/DeviceChecker/DeviceChecker.vue'
import Button from '@nextcloud/vue/dist/Components/Button'
diff --git a/src/PublicShareAuthRequestPasswordButton.vue b/src/PublicShareAuthRequestPasswordButton.vue
index 5f5f1e3ce..edd7e0109 100644
--- a/src/PublicShareAuthRequestPasswordButton.vue
+++ b/src/PublicShareAuthRequestPasswordButton.vue
@@ -38,8 +38,8 @@
</template>
<script>
-import { getPublicShareAuthConversationToken } from './services/publicShareAuthService'
-import browserCheck from './mixins/browserCheck'
+import { getPublicShareAuthConversationToken } from './services/publicShareAuthService.js'
+import browserCheck from './mixins/browserCheck.js'
import '@nextcloud/dialogs/styles/toast.scss'
export default {
diff --git a/src/PublicShareAuthSidebar.vue b/src/PublicShareAuthSidebar.vue
index 2d16a4b28..470b7d579 100644
--- a/src/PublicShareAuthSidebar.vue
+++ b/src/PublicShareAuthSidebar.vue
@@ -40,16 +40,16 @@
<script>
import { getCurrentUser } from '@nextcloud/auth'
import { loadState } from '@nextcloud/initial-state'
-import CallView from './components/CallView/CallView'
-import ChatView from './components/ChatView'
-import TopBar from './components/TopBar/TopBar'
-import { EventBus } from './services/EventBus'
+import CallView from './components/CallView/CallView.vue'
+import ChatView from './components/ChatView.vue'
+import TopBar from './components/TopBar/TopBar.vue'
+import { EventBus } from './services/EventBus.js'
import {
leaveConversationSync,
-} from './services/participantsService'
-import { signalingKill } from './utils/webrtc/index'
-import sessionIssueHandler from './mixins/sessionIssueHandler'
-import talkHashCheck from './mixins/talkHashCheck'
+} from './services/participantsService.js'
+import { signalingKill } from './utils/webrtc/index.js'
+import sessionIssueHandler from './mixins/sessionIssueHandler.js'
+import talkHashCheck from './mixins/talkHashCheck.js'
export default {
diff --git a/src/PublicShareSidebar.vue b/src/PublicShareSidebar.vue
index 11da274c1..df94d8204 100644
--- a/src/PublicShareSidebar.vue
+++ b/src/PublicShareSidebar.vue
@@ -47,20 +47,20 @@
<script>
import PreventUnload from 'vue-prevent-unload'
import { loadState } from '@nextcloud/initial-state'
-import CallView from './components/CallView/CallView'
-import ChatView from './components/ChatView'
-import CallButton from './components/TopBar/CallButton'
-import { EventBus } from './services/EventBus'
-import { getPublicShareConversationData } from './services/filesIntegrationServices'
+import CallView from './components/CallView/CallView.vue'
+import ChatView from './components/ChatView.vue'
+import CallButton from './components/TopBar/CallButton.vue'
+import { EventBus } from './services/EventBus.js'
+import { getPublicShareConversationData } from './services/filesIntegrationServices.js'
import {
leaveConversationSync,
-} from './services/participantsService'
-import { signalingKill } from './utils/webrtc/index'
-import browserCheck from './mixins/browserCheck'
-import sessionIssueHandler from './mixins/sessionIssueHandler'
-import isInCall from './mixins/isInCall'
-import participant from './mixins/participant'
-import talkHashCheck from './mixins/talkHashCheck'
+} from './services/participantsService.js'
+import { signalingKill } from './utils/webrtc/index.js'
+import browserCheck from './mixins/browserCheck.js'
+import sessionIssueHandler from './mixins/sessionIssueHandler.js'
+import isInCall from './mixins/isInCall.js'
+import participant from './mixins/participant.js'
+import talkHashCheck from './mixins/talkHashCheck.js'
import '@nextcloud/dialogs/styles/toast.scss'
import DeviceChecker from './components/DeviceChecker/DeviceChecker.vue'
diff --git a/src/collections.js b/src/collections.js
index 1d9561fa4..40f458d29 100644
--- a/src/collections.js
+++ b/src/collections.js
@@ -41,7 +41,7 @@ import Vue from 'vue'
container.id = 'spreed-room-select'
const body = document.getElementById('body-user')
body.appendChild(container)
- const RoomSelector = () => import('./views/RoomSelector')
+ const RoomSelector = () => import('./views/RoomSelector.vue')
const ComponentVM = new Vue({
render: h => h(RoomSelector, {
props: {
diff --git a/src/components/ChatView.vue b/src/components/ChatView.vue
index de1ffd7ac..61cff2652 100644
--- a/src/components/ChatView.vue
+++ b/src/components/ChatView.vue
@@ -51,9 +51,9 @@
</template>
<script>
-import MessagesList from './MessagesList/MessagesList'
-import NewMessageForm from './NewMessageForm/NewMessageForm'
-import { CONVERSATION } from '../constants'
+import MessagesList from './MessagesList/MessagesList.vue'
+import NewMessageForm from './NewMessageForm/NewMessageForm.vue'
+import { CONVERSATION } from '../constants.js'
export default {
diff --git a/src/components/ConversationIcon.vue b/src/components/ConversationIcon.vue
index ef6e176f0..c7fe753cf 100644
--- a/src/components/ConversationIcon.vue
+++ b/src/components/ConversationIcon.vue
@@ -50,7 +50,7 @@
<script>
import Avatar from '@nextcloud/vue/dist/Components/Avatar'
-import { CONVERSATION } from '../constants'
+import { CONVERSATION } from '../constants.js'
export default {
name: 'ConversationIcon',
diff --git a/src/components/ConversationsOptionsList.vue b/src/components/ConversationsOptionsList.vue
index bba0ae08b..615eca9ba 100644
--- a/src/components/ConversationsOptionsList.vue
+++ b/src/components/ConversationsOptionsList.vue
@@ -34,9 +34,9 @@
</template>
<script>
-import ConversationIcon from './ConversationIcon'
+import ConversationIcon from './ConversationIcon.vue'
import ListItem from '@nextcloud/vue/dist/Components/ListItem'
-import { CONVERSATION } from '../constants'
+import { CONVERSATION } from '../constants.js'
export default {
name: 'ConversationsOptionsList',
diff --git a/src/components/LobbyScreen.vue b/src/components/LobbyScreen.vue
index 5b9d0b24a..2a0ad32d4 100644
--- a/src/components/LobbyScreen.vue
+++ b/src/components/LobbyScreen.vue
@@ -50,7 +50,7 @@
<script>
import moment from '@nextcloud/moment'
import RichText from '@juliushaertl/vue-richtext'
-import SetGuestUsername from './SetGuestUsername'
+import SetGuestUsername from './SetGuestUsername.vue'
export default {
diff --git a/src/components/MediaDevicesPreview.vue b/src/components/MediaDevicesPreview.vue
index 58a0a3902..46e37d755 100644
--- a/src/components/MediaDevicesPreview.vue
+++ b/src/components/MediaDevicesPreview.vue
@@ -89,8 +89,8 @@ import AlertCircle from 'vue-material-design-icons/AlertCircle'
import Microphone from 'vue-material-design-icons/Microphone'
import MicrophoneOff from 'vue-material-design-icons/MicrophoneOff'
import VideoOff from 'vue-material-design-icons/VideoOff'
-import MediaDevicesSelector from './MediaDevicesSelector'
-import { devices } from '../mixins/devices'
+import MediaDevicesSelector from './MediaDevicesSelector.vue'
+import { devices } from '../mixins/devices.js'
export default {
diff --git a/src/components/NewMessageForm/AdvancedInput/AdvancedInput.vue b/src/components/NewMessageForm/AdvancedInput/AdvancedInput.vue
index a3573cb30..ba9a51052 100644
--- a/src/components/NewMessageForm/AdvancedInput/AdvancedInput.vue
+++ b/src/components/NewMessageForm/AdvancedInput/AdvancedInput.vue
@@ -93,13 +93,13 @@
<script>
import At from 'vue-at'
-import UserStatus from '../../../mixins/userStatus'
-import VueAtReparenter from '../../../mixins/vueAtReparenter'
-import { EventBus } from '../../../services/EventBus'
-import { searchPossibleMentions } from '../../../services/mentionsService'
-import { fetchClipboardContent } from '../../../utils/clipboard'
+import UserStatus from '../../../mixins/userStatus.js'
+import VueAtReparenter from '../../../mixins/vueAtReparenter.js'
+import { EventBus } from '../../../services/EventBus.js'
+import { searchPossibleMentions } from '../../../services/mentionsService.js'
+import { fetchClipboardContent } from '../../../utils/clipboard.js'
import Avatar from '@nextcloud/vue/dist/Components/Avatar'
-import Mention from '../../MessagesList/MessagesGroup/Message/MessagePart/Mention'
+import Mention from '../../MessagesList/MessagesGroup/Message/MessagePart/Mention.vue'
import escapeHtml from 'escape-html'
import debounce from 'debounce'
diff --git a/src/components/NewMessageForm/AudioRecorder/AudioRecorder.vue b/src/components/NewMessageForm/AudioRecorder/AudioRecorder.vue
index e7d00ed35..07901057b 100644
--- a/src/components/NewMessageForm/AudioRecorder/AudioRecorder.vue
+++ b/src/components/NewMessageForm/AudioRecorder/AudioRecorder.vue
@@ -73,7 +73,7 @@ import Microphone from 'vue-material-design-icons/Microphone'
import Close from 'vue-material-design-icons/Close'
import Check from 'vue-material-design-icons/Check'
import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'
-import { mediaDevicesManager } from '../../../utils/webrtc/index'
+import { mediaDevicesManager } from '../../../utils/webrtc/index.js'
import { showError } from '@nextcloud/dialogs'
import { MediaRecorder } from 'extendable-media-recorder'
import Button from '@nextcloud/vue/dist/Components/Button'
diff --git a/src/components/NewMessageForm/NewMessageForm.vue b/src/components/NewMessageForm/NewMessageForm.vue
index cbf96fc9a..8d60e857f 100644
--- a/src/components/NewMessageForm/NewMessageForm.vue
+++ b/src/components/NewMessageForm/NewMessageForm.vue
@@ -122,21 +122,21 @@
</template>
<script>
-import AdvancedInput from './AdvancedInput/AdvancedInput'
+import AdvancedInput from './AdvancedInput/AdvancedInput.vue'
import { getFilePickerBuilder } from '@nextcloud/dialogs'
import { getCapabilities } from '@nextcloud/capabilities'
-import Quote from '../Quote'
+import Quote from '../Quote.vue'
import Button from '@nextcloud/vue/dist/Components/Button'
import Actions from '@nextcloud/vue/dist/Components/Actions'
import ActionButton from '@nextcloud/vue/dist/Components/ActionButton'
import EmojiPicker from '@nextcloud/vue/dist/Components/EmojiPicker'
-import { EventBus } from '../../services/EventBus'
-import { shareFile } from '../../services/filesSharingServices'
-import { CONVERSATION, PARTICIPANT } from '../../constants'
+import { EventBus } from '../../services/EventBus.js'
+import { shareFile } from '../../services/filesSharingServices.js'
+import { CONVERSATION, PARTICIPANT } from '../../constants.js'
import Paperclip from 'vue-material-design-icons/Paperclip'
import EmoticonOutline from 'vue-material-design-icons/EmoticonOutline'
import Send from 'vue-material-design-icons/Send'
-import AudioRecorder from './AudioRecorder/AudioRecorder'
+import AudioRecorder from './AudioRecorder/AudioRecorder.vue'
const picker = getFilePickerBuilder(t('spreed', 'File to share'))
.setMultiSelect(false)
diff --git a/src/components/PermissionsEditor/PermissionsEditor.vue b/src/components/PermissionsEditor/PermissionsEditor.vue
index 137d36909..375ae1c06 100644
--- a/src/components/PermissionsEditor/PermissionsEditor.vue
+++ b/src/components/PermissionsEditor/PermissionsEditor.vue
@@ -76,7 +76,7 @@
<script>
import CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/CheckboxRadioSwitch'
-import { PARTICIPANT } from '../../constants'
+import { PARTICIPANT } from '../../constants.js'
import Modal from '@nextcloud/vue/dist/Components/Modal'
import Button from '@nextcloud/vue/dist/Components/Button'
diff --git a/src/components/Quote.vue b/src/components/Quote.vue
index 6a19bc504..1ad205ce5 100644
--- a/src/components/Quote.vue
+++ b/src/components/Quote.vue
@@ -58,9 +58,9 @@ components.
import ActionButton from '@nextcloud/vue/dist/Components/ActionButton'
import Actions from '@nextcloud/vue/dist/Components/Actions'
import RichText from '@juliushaertl/vue-richtext'
-import FilePreview from './MessagesList/MessagesGroup/Message/MessagePart/FilePreview'
-import DefaultParameter from './MessagesList/MessagesGroup/Message/MessagePart/DefaultParameter'
-import { EventBus } from '../services/EventBus'
+import FilePreview from './MessagesList/MessagesGroup/Message/MessagePart/FilePreview.vue'
+import DefaultParameter from './MessagesList/MessagesGroup/Message/MessagePart/DefaultParameter.vue'
+import { EventBus } from '../services/EventBus.js'
export default {
name: 'Quote',
diff --git a/src/components/RightSidebar/Participants/CurrentParticipants/CurrentParticipants.vue b/src/components/RightSidebar/Participants/CurrentParticipants/CurrentParticipants.vue
index 0408691ec..3d12fc8b8 100644
--- a/src/components/RightSidebar/Participants/CurrentParticipants/CurrentParticipants.vue
+++ b/src/components/RightSidebar/Participants/CurrentParticipants/CurrentParticipants.vue
@@ -30,10 +30,10 @@
<script>
-import ParticipantsList from '../ParticipantsList/ParticipantsList'
-import { ATTENDEE, PARTICIPANT } from '../../../../constants'
-import UserStatus from '../../../../mixins/userStatus'
-import Hint from '../../../Hint'
+import ParticipantsList from '../ParticipantsList/ParticipantsList.vue'
+import { ATTENDEE, PARTICIPANT } from '../../../../constants.js'
+import UserStatus from '../../../../mixins/userStatus.js'
+import Hint from '../../../Hint.vue'
import { subscribe, unsubscribe } from '@nextcloud/event-bus'
export default {
diff --git a/src/components/RightSidebar/Participants/ParticipantsList/Participant/Participant.spec.js b/src/components/RightSidebar/Participants/ParticipantsList/Participant/Participant.spec.js
index 40ad1018d..420baee2c 100644
--- a/src/components/RightSidebar/Participants/ParticipantsList/Participant/Participant.spec.js
+++ b/src/components/RightSidebar/Participants/ParticipantsList/Participant/Participant.spec.js
@@ -1,18 +1,19 @@
+/* eslint-disable import/no-named-as-default-member */
import Vuex from 'vuex'
import { createLocalVue, shallowMount } from '@vue/test-utils'
import { cloneDeep } from 'lodash'
-import storeConfig from '../../../../../store/storeConfig'
-import { ATTENDEE, PARTICIPANT } from '../../../../../constants'
-import AvatarWrapper from '../../../../AvatarWrapper/AvatarWrapper'
+import storeConfig from '../../../../../store/storeConfig.js'
+import { ATTENDEE, PARTICIPANT } from '../../../../../constants.js'
+import AvatarWrapper from '../../../../AvatarWrapper/AvatarWrapper.vue'
import Microphone from 'vue-material-design-icons/Microphone'
import Phone from 'vue-material-design-icons/Phone'
import Video from 'vue-material-design-icons/Video'
import HandBackLeft from 'vue-material-design-icons/HandBackLeft'
import ActionButton from '@nextcloud/vue/dist/Components/ActionButton'
import ActionText from '@nextcloud/vue/dist/Components/ActionText'
-import { findActionButton } from '../../../../../test-helpers'
+import { findActionButton } from '../../../../../test-helpers.js'
-import Participant from './Participant'
+import Participant from './Participant.vue'
describe('Participant.vue', () => {
let conversation
diff --git a/src/components/RightSidebar/Participants/ParticipantsList/Participant/Participant.vue b/src/components/RightSidebar/Participants/ParticipantsList/Participant/Participant.vue
index 301d3b3cb..92a814386 100644
--- a/src/components/RightSidebar/Participants/ParticipantsList/Participant/Participant.vue
+++ b/src/components/RightSidebar/Participants/ParticipantsList/Participant/Participant.vue
@@ -230,11 +230,11 @@ import ActionText from '@nextcloud/vue/dist/Components/ActionText'
import ActionSeparator from '@nextcloud/vue/dist/Components/ActionSeparator'
import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'
import Actions from '@nextcloud/vue/dist/Components/Actions'
-import { CONVERSATION, PARTICIPANT, ATTENDEE } from '../../../../../constants'
-import UserStatus from '../../../../../mixins/userStatus'
-import readableNumber from '../../../../../mixins/readableNumber'
+import { CONVERSATION, PARTICIPANT, ATTENDEE } from '../../../../../constants.js'
+import UserStatus from '../../../../../mixins/userStatus.js'
+import readableNumber from '../../../../../mixins/readableNumber.js'
import isEqual from 'lodash/isEqual'
-import AvatarWrapper from '../../../../AvatarWrapper/AvatarWrapper'
+import AvatarWrapper from '../../../../AvatarWrapper/AvatarWrapper.vue'
import ParticipantPermissionsEditor from './ParticipantPermissionsEditor/ParticipantPermissionsEditor.vue'
// Material design icons
diff --git a/src/components/RightSidebar/Participants/ParticipantsList/Participant/ParticipantPermissionsEditor/ParticipantPermissionsEditor.spec.js b/src/components/RightSidebar/Participants/ParticipantsList/Participant/ParticipantPermissionsEditor/ParticipantPermissionsEditor.spec.js
index c5f833717..b1f6f9de5 100644
--- a/src/components/RightSidebar/Participants/ParticipantsList/Participant/ParticipantPermissionsEditor/ParticipantPermissionsEditor.spec.js
+++ b/src/components/RightSidebar/Participants/ParticipantsList/Participant/ParticipantPermissionsEditor/ParticipantPermissionsEditor.spec.js
@@ -1,11 +1,11 @@
import Vuex from 'vuex'
import { createLocalVue, mount } from '@vue/test-utils'
import { cloneDeep } from 'lodash'
-import storeConfig from '../../../../../../store/storeConfig'
-import { PARTICIPANT, ATTENDEE } from '../../../../../../constants'
+import storeConfig from '../../../../../../store/storeConfig.js'
+import { PARTICIPANT, ATTENDEE } from '../../../../../../constants.js'
import PermissionsEditor from '../../../../../PermissionsEditor/PermissionsEditor.vue'
-import ParticipantPermissionsEditor from './ParticipantPermissionsEditor'
+import ParticipantPermissionsEditor from './ParticipantPermissionsEditor.vue'
describe('ParticipantPermissionsEditor.vue', () => {
let conversation
@@ -44,6 +44,7 @@ describe('ParticipantPermissionsEditor.vue', () => {
testStoreConfig.modules.conversationsStore.getters.conversation = () => conversationGetterMock
// Add a mock function for the action and see if its called and with which arguments
testStoreConfig.modules.participantsStore.actions.setPermissions = jest.fn()
+ // eslint-disable-next-line import/no-named-as-default-member
store = new Vuex.Store(testStoreConfig)
})
diff --git a/src/components/RightSidebar/Participants/ParticipantsList/Participant/ParticipantPermissionsEditor/ParticipantPermissionsEditor.vue b/src/components/RightSidebar/Participants/ParticipantsList/Participant/ParticipantPermissionsEditor/ParticipantPermissionsEditor.vue
index 2d84b5712..b9d72a9e9 100644
--- a/src/components/RightSidebar/Participants/ParticipantsList/Participant/ParticipantPermissionsEditor/ParticipantPermissionsEditor.vue
+++ b/src/components/RightSidebar/Participants/ParticipantsList/Participant/ParticipantPermissionsEditor/ParticipantPermissionsEditor.vue
@@ -30,7 +30,7 @@
<script>
import { showError, showSuccess } from '@nextcloud/dialogs'
-import { PARTICIPANT } from '../../../../../../constants'
+import { PARTICIPANT } from '../../../../../../constants.js'
import PermissionEditor from '../../../../../PermissionsEditor/PermissionsEditor.vue'
export default {
diff --git a/src/components/RightSidebar/Participants/ParticipantsList/ParticipantsList.vue b/src/components/RightSidebar/Participants/ParticipantsList/ParticipantsList.vue
index b372b1beb..ac14df1da 100644
--- a/src/components/RightSidebar/Participants/ParticipantsList/ParticipantsList.vue
+++ b/src/components/RightSidebar/Participants/ParticipantsList/ParticipantsList.vue
@@ -38,8 +38,8 @@
<script>
-import Participant from './Participant/Participant'
-import LoadingParticipant from './Participant/LoadingParticipant'
+import Participant from './Participant/Participant.vue'
+import LoadingParticipant from './Participant/LoadingParticipant.vue'
export default {
name: 'ParticipantsList',
diff --git a/src/components/RightSidebar/Participants/ParticipantsSearchResults/ParticipantsSearchResults.vue b/src/components/RightSidebar/Participants/ParticipantsSearchResults/ParticipantsSearchResults.vue
index 3de4b8b9f..371f68b0a 100644
--- a/src/components/RightSidebar/Participants/ParticipantsSearchResults/ParticipantsSearchResults.vue
+++ b/src/components/RightSidebar/Participants/ParticipantsSearchResults/ParticipantsSearchResults.vue
@@ -80,9 +80,9 @@
</template>
<script>
-import ParticipantsList from '../ParticipantsList/ParticipantsList'
+import ParticipantsList from '../ParticipantsList/ParticipantsList.vue'
import AppNavigationCaption from '@nextcloud/vue/dist/Components/AppNavigationCaption'
-import Hint from '../../../Hint'
+import Hint from '../../../Hint.vue'
export default {
name: 'ParticipantsSearchResults',
diff --git a/src/components/RightSidebar/Participants/ParticipantsTab.vue b/src/components/RightSidebar/Participants/ParticipantsTab.vue
index b1ea7be20..bdec6e8d2 100644
--- a/src/components/RightSidebar/Participants/ParticipantsTab.vue
+++ b/src/components/RightSidebar/Participants/ParticipantsTab.vue
@@ -40,18 +40,18 @@
</template>
<script>
-import CurrentParticipants from './CurrentParticipants/CurrentParticipants'
-import SearchBox from '../../LeftSidebar/SearchBox/SearchBox'
+import CurrentParticipants from './CurrentParticipants/CurrentParticipants.vue'
+import SearchBox from '../../LeftSidebar/SearchBox/SearchBox.vue'
import debounce from 'debounce'
-import { EventBus } from '../../../services/EventBus'
-import { searchPossibleConversations } from '../../../services/conversationsService'
-import { addParticipant } from '../../../services/participantsService'
+import { EventBus } from '../../../services/EventBus.js'
+import { searchPossibleConversations } from '../../../services/conversationsService.js'
+import { addParticipant } from '../../../services/participantsService.js'
import { loadState } from '@nextcloud/initial-state'
-import CancelableRequest from '../../../utils/cancelableRequest'
+import CancelableRequest from '../../../utils/cancelableRequest.js'
import { showError } from '@nextcloud/dialogs'
import AppNavigationCaption from '@nextcloud/vue/dist/Components/AppNavigationCaption'
-import ParticipantsSearchResults from './ParticipantsSearchResults/ParticipantsSearchResults'
-import getParticipants from '../../../mixins/getParticipants'
+import ParticipantsSearchResults from './ParticipantsSearchResults/ParticipantsSearchResults.vue'
+import getParticipants from '../../../mixins/getParticipants.js'
export default {
name: 'ParticipantsTab',
diff --git a/src/components/RightSidebar/RightSidebar.vue b/src/components/RightSidebar/RightSidebar.vue
index 05a477ce1..9e1baa3b0 100644
--- a/src/components/RightSidebar/RightSidebar.vue
+++ b/src/components/RightSidebar/RightSidebar.vue
@@ -93,15 +93,15 @@
import { emit } from '@nextcloud/event-bus'
import AppSidebar from '@nextcloud/vue/dist/Components/AppSidebar'
import AppSidebarTab from '@nextcloud/vue/dist/Components/AppSidebarTab'
-import SharedItemsTab from './SharedItems/SharedItemsTab'
-import ChatView from '../ChatView'
-import BrowserStorage from '../../services/BrowserStorage'
-import { CONVERSATION, WEBINAR, PARTICIPANT } from '../../constants'
-import ParticipantsTab from './Participants/ParticipantsTab'
-import isInLobby from '../../mixins/isInLobby'
-import SetGuestUsername from '../SetGuestUsername'
-import SipSettings from './SipSettings'
-import LobbyStatus from './LobbyStatus'
+import SharedItemsTab from './SharedItems/SharedItemsTab.vue'
+import ChatView from '../ChatView.vue'
+import BrowserStorage from '../../services/BrowserStorage.js'
+import { CONVERSATION, WEBINAR, PARTICIPANT } from '../../constants.js'
+import ParticipantsTab from './Participants/ParticipantsTab.vue'
+import isInLobby from '../../mixins/isInLobby.js'
+import SetGuestUsername from '../SetGuestUsername.vue'
+import SipSettings from './SipSettings.vue'
+import LobbyStatus from './LobbyStatus.vue'
import Button from '@nextcloud/vue/dist/Components/Button'
import CogIcon from 'vue-material-design-icons/Cog'
diff --git a/src/components/RightSidebar/SharedItems/SharedItems.vue b/src/components/RightSidebar/SharedItems/SharedItems.vue
index 01728d453..b27323689 100644
--- a/src/components/RightSidebar/SharedItems/SharedItems.vue
+++ b/src/components/RightSidebar/SharedItems/SharedItems.vue
@@ -60,9 +60,9 @@
<script>
import FilePreview from '../../MessagesList/MessagesGroup/Message/MessagePart/FilePreview.vue'
-import { SHARED_ITEM } from '../../../constants'
-import Location from '../../MessagesList/MessagesGroup/Message/MessagePart/Location'
-import DeckCard from '../../MessagesList/MessagesGroup/Message/MessagePart/DeckCard'
+import { SHARED_ITEM } from '../../../constants.js'
+import Location from '../../MessagesList/MessagesGroup/Message/MessagePart/Location.vue'
+import DeckCard from '../../MessagesList/MessagesGroup/Message/MessagePart/DeckCard.vue'
export default {
name: 'SharedItems',
diff --git a/src/components/RightSidebar/SharedItems/SharedItemsBrowser/SharedItemsBrowser.vue b/src/components/RightSidebar/SharedItems/SharedItemsBrowser/SharedItemsBrowser.vue
index bdfa465f3..0b37b14f3 100644
--- a/src/components/RightSidebar/SharedItems/SharedItemsBrowser/SharedItemsBrowser.vue
+++ b/src/components/RightSidebar/SharedItems/SharedItemsBrowser/SharedItemsBrowser.vue
@@ -45,7 +45,7 @@
import Modal from '@nextcloud/vue/dist/Components/Modal'
import Button from '@nextcloud/vue/dist/Components/Button'
import SharedItems from '../SharedItems.vue'
-import sharedItems from '../../../../mixins/sharedItems'
+import sharedItems from '../../../../mixins/sharedItems.js'
import debounce from 'debounce'
export default {
diff --git a/src/components/RightSidebar/SharedItems/SharedItemsTab.vue b/src/components/RightSidebar/SharedItems/SharedItemsTab.vue
index bfa41ffb3..67f5683c2 100644
--- a/src/components/RightSidebar/SharedItems/SharedItemsTab.vue
+++ b/src/components/RightSidebar/SharedItems/SharedItemsTab.vue
@@ -56,13 +56,13 @@
<script>
import { CollectionList } from 'nextcloud-vue-collections'
-import SharedItems from './SharedItems'
-import { SHARED_ITEM } from '../../../constants'
+import SharedItems from './SharedItems.vue'
+import { SHARED_ITEM } from '../../../constants.js'
import AppNavigationCaption from '@nextcloud/vue/dist/Components/AppNavigationCaption'
import SharedItemsBrowser from './SharedItemsBrowser/SharedItemsBrowser.vue'
import DotsHorizontal from 'vue-material-design-icons/DotsHorizontal.vue'
import Button from '@nextcloud/vue/dist/Components/Button'
-import sharedItems from '../../../mixins/sharedItems'
+import sharedItems from '../../../mixins/sharedItems.js'
export default {
diff --git a/src/components/RightSidebar/SipSettings.vue b/src/components/RightSidebar/SipSettings.vue
index f7178399f..bcd5bb600 100644
--- a/src/components/RightSidebar/SipSettings.vue
+++ b/src/components/RightSidebar/SipSettings.vue
@@ -30,7 +30,7 @@
</template>
<script>
-import readableNumber from '../../mixins/readableNumber'
+import readableNumber from '../../mixins/readableNumber.js'
import { loadState } from '@nextcloud/initial-state'
export default {
diff --git a/src/components/SetGuestUsername.vue b/src/components/SetGuestUsername.vue
index e118ebf9e..cb3ac7f36 100644
--- a/src/components/SetGuestUsername.vue
+++ b/src/components/SetGuestUsername.vue
@@ -54,7 +54,7 @@
</template>
<script>
-import { setGuestUserName } from '../services/participantsService'
+import { setGuestUserName } from '../services/participantsService.js'
import Button from '@nextcloud/vue/dist/Components/Button'
import Pencil from 'vue-material-design-icons/Pencil'
import ArrowRight from 'vue-material-design-icons/ArrowRight.vue'
diff --git a/src/components/SettingsDialog/SettingsDialog.vue b/src/components/SettingsDialog/SettingsDialog.vue
index e5f695f36..e905c5702 100644
--- a/src/components/SettingsDialog/SettingsDialog.vue
+++ b/src/components/SettingsDialog/SettingsDialog.vue
@@ -134,9 +134,9 @@
<script>
import { generateUrl } from '@nextcloud/router'
import { getFilePickerBuilder, showError, showSuccess } from '@nextcloud/dialogs'
-import { PRIVACY } from '../../constants'
+import { PRIVACY } from '../../constants.js'
import { subscribe, unsubscribe } from '@nextcloud/event-bus'
-import MediaDevicesPreview from '../MediaDevicesPreview'
+import MediaDevicesPreview from '../MediaDevicesPreview.vue'
import AppSettingsDialog from '@nextcloud/vue/dist/Components/AppSettingsDialog'
import AppSettingsSection from '@nextcloud/vue/dist/Components/AppSettingsSection'
import CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/CheckboxRadioSwitch'
diff --git a/src/components/TopBar/TopBar.vue b/src/components/TopBar/TopBar.vue
index 167c00998..8ae8394e3 100644
--- a/src/components/TopBar/TopBar.vue
+++ b/src/components/TopBar/TopBar.vue
@@ -154,23 +154,23 @@ import { showError, showSuccess, showMessage } from '@nextcloud/dialogs'
import ActionButton from '@nextcloud/vue/dist/Components/ActionButton'
import Actions from '@nextcloud/vue/dist/Components/Actions'
import CounterBubble from '@nextcloud/vue/dist/Components/CounterBubble'
-import CallButton from './CallButton'
-import BrowserStorage from '../../services/BrowserStorage'
+import CallButton from './CallButton.vue'
+import BrowserStorage from '../../services/BrowserStorage.js'
import ActionLink from '@nextcloud/vue/dist/Components/ActionLink'
import ActionSeparator from '@nextcloud/vue/dist/Components/ActionSeparator'
import MessageText from 'vue-material-design-icons/MessageText'
import MicrophoneOff from 'vue-material-design-icons/MicrophoneOff'
-import { CONVERSATION, PARTICIPANT } from '../../constants'
+import { CONVERSATION, PARTICIPANT } from '../../constants.js'
import { generateUrl } from '@nextcloud/router'
-import { callParticipantCollection, localCallParticipantModel, localMediaModel } from '../../utils/webrtc/index'
+import { callParticipantCollection, localCallParticipantModel, localMediaModel } from '../../utils/webrtc/index.js'
import { emit } from '@nextcloud/event-bus'
-import ConversationIcon from '../ConversationIcon'
+import ConversationIcon from '../ConversationIcon.vue'
import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'
import richEditor from '@nextcloud/vue/dist/Mixins/richEditor'
-import userStatus from '../../mixins/userStatus'
-import LocalMediaControls from '../CallView/shared/LocalMediaControls'
+import userStatus from '../../mixins/userStatus.js'
+import LocalMediaControls from '../CallView/shared/LocalMediaControls.vue'
import Cog from 'vue-material-design-icons/Cog'
-import getParticipants from '../../mixins/getParticipants'
+import getParticipants from '../../mixins/getParticipants.js'
export default {
name: 'TopBar',
diff --git a/src/dashboard.js b/src/dashboard.js
index 5f147e0f6..c54bfe024 100644
--- a/src/dashboard.js
+++ b/src/dashboard.js
@@ -24,7 +24,7 @@ import Vue from 'vue'
import { generateFilePath } from '@nextcloud/router'
import { getRequestToken } from '@nextcloud/auth'
import { translate, translatePlural } from '@nextcloud/l10n'
-import Dashboard from './views/Dashboard'
+import Dashboard from './views/Dashboard.vue'
// CSP config for webpack dynamic chunk loading
// eslint-disable-next-line
diff --git a/src/deck.js b/src/deck.js
index a02edacb4..e4269b31a 100644
--- a/src/deck.js
+++ b/src/deck.js
@@ -25,8 +25,8 @@ import { generateFilePath, generateUrl } from '@nextcloud/router'
import { getRequestToken } from '@nextcloud/auth'
import { translate, translatePlural } from '@nextcloud/l10n'
import { showSuccess, showError } from '@nextcloud/dialogs'
-import { postRichObjectToConversation } from './services/messagesService'
-import RoomSelector from './views/RoomSelector'
+import { postRichObjectToConversation } from './services/messagesService.js'
+import RoomSelector from './views/RoomSelector.vue'
(function(OC, OCA, t, n) {
/**
diff --git a/src/flow.js b/src/flow.js
index d399f23c5..5837c24ad 100644
--- a/src/flow.js
+++ b/src/flow.js
@@ -20,7 +20,7 @@
*
*/
-import FlowPostToConversation from './views/FlowPostToConversation'
+import FlowPostToConversation from './views/FlowPostToConversation.vue'
window.OCA.WorkflowEngine.registerOperator({
id: 'OCA\\Talk\\Flow\\Operation',
diff --git a/src/init.js b/src/init.js
index 0fe2418c6..e955dfac2 100644
--- a/src/init.js
+++ b/src/init.js
@@ -23,8 +23,8 @@
// The purpose of this file is to wrap the logic shared by the different talk
// entry points
-import store from './store'
-import { EventBus } from './services/EventBus'
+import store from './store/index.js'
+import { EventBus } from './services/EventBus.js'
if (!window.OCA.Talk) {
window.OCA.Talk = {}
diff --git a/src/mainAdminSettings.js b/src/mainAdminSettings.js
index 4e30adfba..8540a9f09 100644
--- a/src/mainAdminSettings.js
+++ b/src/mainAdminSettings.js
@@ -21,7 +21,7 @@
*/
import Vue from 'vue'
-import AdminSettings from './views/AdminSettings'
+import AdminSettings from './views/AdminSettings.vue'
// Styles
import '@nextcloud/dialogs/styles/toast.scss'
diff --git a/src/mainFilesSidebar.js b/src/mainFilesSidebar.js
index 21c9b7966..4e6653ea4 100644
--- a/src/mainFilesSidebar.js
+++ b/src/mainFilesSidebar.js
@@ -26,13 +26,13 @@
import Vue from 'vue'
import VueObserveVisibility from 'vue-observe-visibility'
-import FilesSidebarCallViewApp from './FilesSidebarCallViewApp'
-import FilesSidebarTabApp from './FilesSidebarTabApp'
-import './init'
+import FilesSidebarCallViewApp from './FilesSidebarCallViewApp.vue'
+import FilesSidebarTabApp from './FilesSidebarTabApp.vue'
+import './init.js'
// Store
import Vuex from 'vuex'
-import store from './store'
+import store from './store/index.js'
// Utils
import { generateFilePath } from '@nextcloud/router'
diff --git a/src/mainFilesSidebarLoader.js b/src/mainFilesSidebarLoader.js
index 83df390db..e2faef26e 100644
--- a/src/mainFilesSidebarLoader.js
+++ b/src/mainFilesSidebarLoader.js
@@ -20,8 +20,8 @@
*
*/
-import FilesSidebarCallView from './views/FilesSidebarCallView'
-import './init'
+import FilesSidebarCallView from './views/FilesSidebarCallView.js'
+import './init.js'
const isEnabled = function(fileInfo) {
if (fileInfo && !fileInfo.isDirectory()) {
diff --git a/src/mainPublicShareAuthSidebar.js b/src/mainPublicShareAuthSidebar.js
index 7eac33361..87e7ea0e0 100644
--- a/src/mainPublicShareAuthSidebar.js
+++ b/src/mainPublicShareAuthSidebar.js
@@ -20,13 +20,13 @@
import Vue from 'vue'
import VueObserveVisibility from 'vue-observe-visibility'
-import PublicShareAuthRequestPasswordButton from './PublicShareAuthRequestPasswordButton'
-import PublicShareAuthSidebar from './PublicShareAuthSidebar'
-import './init'
+import PublicShareAuthRequestPasswordButton from './PublicShareAuthRequestPasswordButton.vue'
+import PublicShareAuthSidebar from './PublicShareAuthSidebar.vue'
+import './init.js'
// Store
import Vuex from 'vuex'
-import store from './store'
+import store from './store/index.js'
// Utils
import { generateFilePath } from '@nextcloud/router'
diff --git a/src/mainPublicShareSidebar.js b/src/mainPublicShareSidebar.js
index 0cc846917..f2ba41d77 100644
--- a/src/mainPublicShareSidebar.js
+++ b/src/mainPublicShareSidebar.js
@@ -20,12 +20,12 @@
import Vue from 'vue'
import VueObserveVisibility from 'vue-observe-visibility'
-import PublicShareSidebar from './PublicShareSidebar'
-import './init'
+import PublicShareSidebar from './PublicShareSidebar.vue'
+import './init.js'
// Store
import Vuex from 'vuex'
-import store from './store'
+import store from './store/index.js'
// Utils
import { generateFilePath } from '@nextcloud/router'
diff --git a/src/maps.js b/src/maps.js
index d226c80e1..41f609619 100644
--- a/src/maps.js
+++ b/src/maps.js
@@ -25,8 +25,8 @@ import { generateFilePath, generateUrl } from '@nextcloud/router'
import { getRequestToken } from '@nextcloud/auth'
import { translate, translatePlural } from '@nextcloud/l10n'
import { showSuccess, showError } from '@nextcloud/dialogs'
-import { postRichObjectToConversation } from './services/messagesService'
-import RoomSelector from './views/RoomSelector'
+import { postRichObjectToConversation } from './services/messagesService.js'
+import RoomSelector from './views/RoomSelector.vue'
(function(OC, OCA, t, n) {
/**
diff --git a/src/mixins/devices.js b/src/mixins/devices.js
index 59fd15727..4647c1631 100644
--- a/src/mixins/devices.js
+++ b/src/mixins/devices.js
@@ -20,9 +20,9 @@
*
*/
-import TrackToStream from '../utils/media/pipeline/TrackToStream'
-import VirtualBackground from '../utils/media/pipeline/VirtualBackground'
-import { mediaDevicesManager } from '../utils/webrtc/index'
+import TrackToStream from '../utils/media/pipeline/TrackToStream.js'
+import VirtualBackground from '../utils/media/pipeline/VirtualBackground.js'
+import { mediaDevicesManager } from '../utils/webrtc/index.js'
import attachMediaStream from 'attachmediastream'
import hark from 'hark'
diff --git a/src/mixins/getParticipants.js b/src/mixins/getParticipants.js
index 25070b962..c38a1ce3d 100644
--- a/src/mixins/getParticipants.js
+++ b/src/mixins/getParticipants.js
@@ -20,17 +20,17 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
-import { EventBus } from '../services/EventBus'
+import { EventBus } from '../services/EventBus.js'
import Axios from '@nextcloud/axios'
import debounce from 'debounce'
-import CancelableRequest from '../utils/cancelableRequest'
-import { fetchParticipants } from '../services/participantsService'
+import CancelableRequest from '../utils/cancelableRequest.js'
+import { fetchParticipants } from '../services/participantsService.js'
import Hex from 'crypto-js/enc-hex'
import SHA1 from 'crypto-js/sha1'
-import { PARTICIPANT } from '../constants'
+import { PARTICIPANT } from '../constants.js'
import { emit } from '@nextcloud/event-bus'
import { showError } from '@nextcloud/dialogs'
-import isInLobby from './isInLobby'
+import isInLobby from './isInLobby.js'
const getParticipants = {
diff --git a/src/mixins/isInCall.js b/src/mixins/isInCall.js
index 1a69676c3..a5cfa0a0c 100644
--- a/src/mixins/isInCall.js
+++ b/src/mixins/isInCall.js
@@ -19,8 +19,8 @@
*
*/
-import SessionStorage from '../services/SessionStorage'
-import { EventBus } from '../services/EventBus'
+import SessionStorage from '../services/SessionStorage.js'
+import { EventBus } from '../services/EventBus.js'
/**
* A mixin to check whether the user joined the call of the current token in this PHP session or not.
diff --git a/src/mixins/isInLobby.js b/src/mixins/isInLobby.js
index 189f0f881..6406ea313 100644
--- a/src/mixins/isInLobby.js
+++ b/src/mixins/isInLobby.js
@@ -19,7 +19,7 @@
*
*/
-import { PARTICIPANT, WEBINAR } from '../constants'
+import { PARTICIPANT, WEBINAR } from '../constants.js'
/**
* Mixin to check whether the current participant is waiting in the lobby or
diff --git a/src/mixins/participant.js b/src/mixins/participant.js
index 55a13a209..f9d90fbd6 100644
--- a/src/mixins/participant.js
+++ b/src/mixins/participant.js
@@ -19,7 +19,7 @@
*
*/
-import { PARTICIPANT } from '../constants'
+import { PARTICIPANT } from '../constants.js'
/**
* A mixin to check retrieve the current participant object
diff --git a/src/mixins/sessionIssueHandler.js b/src/mixins/sessionIssueHandler.js
index b19ebc43d..f137e85c9 100644
--- a/src/mixins/sessionIssueHandler.js
+++ b/src/mixins/sessionIssueHandler.js
@@ -21,8 +21,8 @@
*/
import { generateUrl } from '@nextcloud/router'
-import { EventBus } from '../services/EventBus'
-import SessionStorage from '../services/SessionStorage'
+import { EventBus } from '../services/EventBus.js'
+import SessionStorage from '../services/SessionStorage.js'
const sessionIssueHandler = {
data() {
diff --git a/src/mixins/sharedItems.js b/src/mixins/sharedItems.js
index f8bd92c75..d5b1dfad7 100644
--- a/src/mixins/sharedItems.js
+++ b/src/mixins/sharedItems.js
@@ -20,7 +20,7 @@
*
*/
-import { SHARED_ITEM } from '../constants'
+import { SHARED_ITEM } from '../constants.js'
const sharedItems = {
computed: {
diff --git a/src/services/callsService.js b/src/services/callsService.js
index 1c841a467..e195a2dac 100644
--- a/src/services/callsService.js
+++ b/src/services/callsService.js
@@ -25,7 +25,7 @@ import { generateOcsUrl } from '@nextcloud/router'
import {
signalingJoinCall,
signalingLeaveCall,
-} from '../utils/webrtc/index'
+} from '../utils/webrtc/index.js'
/**
* Join a call as participant
diff --git a/src/services/conversationsService.js b/src/services/conversationsService.js
index 14f232c59..7c01e88a6 100644
--- a/src/services/conversationsService.js
+++ b/src/services/conversationsService.js
@@ -23,7 +23,7 @@
import axios from '@nextcloud/axios'
import { loadState } from '@nextcloud/initial-state'
import { generateOcsUrl } from '@nextcloud/router'
-import { CONVERSATION, SHARE } from '../constants'
+import { CONVERSATION, SHARE } from '../constants.js'
/**
* Fetches the conversations from the server.
diff --git a/src/services/conversationsService.spec.js b/src/services/conversationsService.spec.js
index 8be5b86f8..e07d7382b 100644
--- a/src/services/conversationsService.spec.js
+++ b/src/services/conversationsService.spec.js
@@ -1,8 +1,8 @@
-import mockAxios from '../__mocks__/axios'
+import mockAxios from '../__mocks__/axios.js'
import { generateOcsUrl } from '@nextcloud/router'
import { loadState } from '@nextcloud/initial-state'
-import { searchPossibleConversations } from './conversationsService'
-import { SHARE } from '../constants'
+import { searchPossibleConversations } from './conversationsService.js'
+import { SHARE } from '../constants.js'
jest.mock('@nextcloud/initial-state', () => ({
loadState: jest.fn(),
diff --git a/src/services/filesSharingServices.spec.js b/src/services/filesSharingServices.spec.js
index 2ac80d293..558c7bb24 100644
--- a/src/services/filesSharingServices.spec.js
+++ b/src/services/filesSharingServices.spec.js
@@ -1,6 +1,6 @@
-import mockAxios from '../__mocks__/axios'
+import mockAxios from '../__mocks__/axios.js'
import { generateOcsUrl } from '@nextcloud/router'
-import { shareFile } from './filesSharingServices'
+import { shareFile } from './filesSharingServices.js'
describe('filesSharingServices', () => {
afterEach(() => {
diff --git a/src/services/messagesService.spec.js b/src/services/messagesService.spec.js
index 31098edaf..d27234673 100644
--- a/src/services/messagesService.spec.js
+++ b/src/services/messagesService.spec.js
@@ -1,4 +1,4 @@
-import mockAxios from '../__mocks__/axios'
+import mockAxios from '../__mocks__/axios.js'
import { generateOcsUrl } from '@nextcloud/router'
import {
fetchMessages,
@@ -7,7 +7,7 @@ import {
deleteMessage,
postRichObjectToConversation,
updateLastReadMessage,
-} from './messagesService'
+} from './messagesService.js'
describe('messagesService', () => {
afterEach(() => {
diff --git a/src/services/participantsService.js b/src/services/participantsService.js
index 098b68e77..c4771c25e 100644
--- a/src/services/participantsService.js
+++ b/src/services/participantsService.js
@@ -27,8 +27,8 @@ import {
import {
signalingJoinConversation,
signalingLeaveConversation,
-} from '../utils/webrtc/index'
-import { PARTICIPANT } from '../constants'
+} from '../utils/webrtc/index.js'
+import { PARTICIPANT } from '../constants.js'
const PERMISSIONS = PARTICIPANT.PERMISSIONS
diff --git a/src/services/settingsService.js b/src/services/settingsService.js
index 5e551d633..0a6e84384 100644
--- a/src/services/settingsService.js
+++ b/src/services/settingsService.js
@@ -22,7 +22,7 @@
import axios from '@nextcloud/axios'
import { generateOcsUrl } from '@nextcloud/router'
-import BrowserStorage from './BrowserStorage'
+import BrowserStorage from './BrowserStorage.js'
/**
* Sets the attachment folder setting for the user
diff --git a/src/store/actorStore.js b/src/store/actorStore.js
index 9253bb0d8..f58387ae3 100644
--- a/src/store/actorStore.js
+++ b/src/store/actorStore.js
@@ -27,7 +27,7 @@
* If an as no userId, they are a guest and identified by actorType + sessionId.
*/
-import { PARTICIPANT } from '../constants'
+import { PARTICIPANT } from '../constants.js'
const state = {
userId: null,
diff --git a/src/store/actorStore.spec.js b/src/store/actorStore.spec.js
index f64f50fe7..c016b5b76 100644
--- a/src/store/actorStore.spec.js
+++ b/src/store/actorStore.spec.js
@@ -1,8 +1,8 @@
import { createLocalVue } from '@vue/test-utils'
-import actorStore from './actorStore'
+import actorStore from './actorStore.js'
import Vuex from 'vuex'
import { cloneDeep } from 'lodash'
-import { PARTICIPANT } from '../constants'
+import { PARTICIPANT } from '../constants.js'
describe('actorStore', () => {
let localVue = null
@@ -11,6 +11,7 @@ describe('actorStore', () => {
beforeEach(() => {
localVue = createLocalVue()
localVue.use(Vuex)
+ // eslint-disable-next-line import/no-named-as-default-member
store = new Vuex.Store(cloneDeep(actorStore))
})
diff --git a/src/store/callViewStore.js b/src/store/callViewStore.js
index c63f7488b..9b4f792fd 100644
--- a/src/store/callViewStore.js
+++ b/src/store/callViewStore.js
@@ -21,10 +21,10 @@
*/
import Vue from 'vue'
-import BrowserStorage from '../services/BrowserStorage'
+import BrowserStorage from '../services/BrowserStorage.js'
import {
CONVERSATION,
-} from '../constants'
+} from '../constants.js'
const state = {
isGrid: false,
diff --git a/src/store/callViewStore.spec.js b/src/store/callViewStore.spec.js
index 3158c9f01..e3f0cf57e 100644
--- a/src/store/callViewStore.spec.js
+++ b/src/store/callViewStore.spec.js
@@ -1,10 +1,10 @@
import { createLocalVue } from '@vue/test-utils'
-import storeConfig from './storeConfig'
+import storeConfig from './storeConfig.js'
import Vuex from 'vuex'
import { cloneDeep } from 'lodash'
import {
CONVERSATION,
-} from '../constants'
+} from '../constants.js'
describe('callViewStore', () => {
let localVue = null
@@ -19,6 +19,7 @@ describe('callViewStore', () => {
// remove participant store to avoid participant interaction
testStoreConfig.modules.participantsStore = {}
+ // eslint-disable-next-line import/no-named-as-default-member
store = new Vuex.Store(testStoreConfig)
// to fully reset the state between tests, clear the storage
diff --git a/src/store/conversationsStore.js b/src/store/conversationsStore.js
index 47bb64905..6bafa7650 100644
--- a/src/store/conversationsStore.js
+++ b/src/store/conversationsStore.js
@@ -40,8 +40,9 @@ import {
setNotificationCalls,
setConversationPermissions,
setCallPermissions,
-} from '../services/conversationsService'
+} from '../services/conversationsService.js'
import { getCurrentUser } from '@nextcloud/auth'
+// eslint-disable-next-line import/extensions
import { CONVERSATION, WEBINAR, PARTICIPANT } from '../constants'
const DUMMY_CONVERSATION = {
diff --git a/src/store/conversationsStore.spec.js b/src/store/conversationsStore.spec.js
index c2340743c..fc162330a 100644
--- a/src/store/conversationsStore.spec.js
+++ b/src/store/conversationsStore.spec.js
@@ -1,5 +1,6 @@
+/* eslint-disable import/no-named-as-default-member */
import { createLocalVue } from '@vue/test-utils'
-import storeConfig from './storeConfig'
+import storeConfig from './storeConfig.js'
import Vuex from 'vuex'
import { cloneDeep } from 'lodash'
import {
@@ -7,7 +8,7 @@ import {
WEBINAR,
PARTICIPANT,
ATTENDEE,
-} from '../constants'
+} from '../constants.js'
import {
makePublic,
makePrivate,
@@ -26,7 +27,7 @@ import {
deleteConversation,
setConversationPermissions,
setCallPermissions,
-} from '../services/conversationsService'
+} from '../services/conversationsService.js'
jest.mock('../services/conversationsService', () => ({
makePublic: jest.fn(),
diff --git a/src/store/fileUploadStore.js b/src/store/fileUploadStore.js
index 0cf8f7c40..defe9bc45 100644
--- a/src/store/fileUploadStore.js
+++ b/src/store/fileUploadStore.js
@@ -21,14 +21,14 @@
*/
import Vue from 'vue'
-import client from '../services/DavClient'
+import client from '../services/DavClient.js'
import { showError } from '@nextcloud/dialogs'
-import fromStateOr from './helper'
-import { findUniquePath, getFileExtension } from '../utils/fileUpload'
+import fromStateOr from './helper.js'
+import { findUniquePath, getFileExtension } from '../utils/fileUpload.js'
import moment from '@nextcloud/moment'
-import { EventBus } from '../services/EventBus'
-import { shareFile } from '../services/filesSharingServices'
-import { setAttachmentFolder } from '../services/settingsService'
+import { EventBus } from '../services/EventBus.js'
+import { shareFile } from '../services/filesSharingServices.js'
+import { setAttachmentFolder } from '../services/settingsService.js'
const state = {
attachmentFolder: fromStateOr('spreed', 'attachment_folder', ''),
diff --git a/src/store/fileUploadStore.spec.js b/src/store/fileUploadStore.spec.js
index 956b782db..6bfee7917 100644
--- a/src/store/fileUploadStore.spec.js
+++ b/src/store/fileUploadStore.spec.js
@@ -1,3 +1,4 @@
+/* eslint-disable import/no-named-as-default-member */
import mockConsole from 'jest-mock-console'
import Vuex from 'vuex'
import { cloneDeep } from 'lodash'
diff --git a/src/store/guestNameStore.spec.js b/src/store/guestNameStore.spec.js
index 524a8b760..e36c59606 100644
--- a/src/store/guestNameStore.spec.js
+++ b/src/store/guestNameStore.spec.js
@@ -2,7 +2,7 @@ import Vuex from 'vuex'
import { cloneDeep } from 'lodash'
import { createLocalVue } from '@vue/test-utils'
-import guestNameStore from './guestNameStore'
+import guestNameStore from './guestNameStore.js'
describe('guestNameStore', () => {
let localVue = null
@@ -12,6 +12,7 @@ describe('guestNameStore', () => {
localVue = createLocalVue()
localVue.use(Vuex)
+ // eslint-disable-next-line import/no-named-as-default-member
store = new Vuex.Store(cloneDeep(guestNameStore))
})
diff --git a/src/store/index.js b/src/store/index.js
index c7d4cfb74..e87ffcedb 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -22,7 +22,7 @@
import Vue from 'vue'
import Vuex, { Store } from 'vuex'
-import storeConfig from './storeConfig'
+import storeConfig from './storeConfig.js'
Vue.use(Vuex)
diff --git a/src/store/messagesStore.js b/src/store/messagesStore.js
index 84616a494..7fccbdd7f 100644
--- a/src/store/messagesStore.js
+++ b/src/store/messagesStore.js
@@ -29,15 +29,15 @@ import {
postRichObjectToConversation,
addReactionToMessage,
removeReactionFromMessage,
-} from '../services/messagesService'
+} from '../services/messagesService.js'
import SHA256 from 'crypto-js/sha256'
import Hex from 'crypto-js/enc-hex'
-import CancelableRequest from '../utils/cancelableRequest'
+import CancelableRequest from '../utils/cancelableRequest.js'
import { showError } from '@nextcloud/dialogs'
import {
ATTENDEE,
-} from '../constants'
+} from '../constants.js'
/**
* Returns whether the given message contains a mention to self, directly
diff --git a/src/store/messagesStore.spec.js b/src/store/messagesStore.spec.js
index f7d715aee..296ec4431 100644
--- a/src/store/messagesStore.spec.js
+++ b/src/store/messagesStore.spec.js
@@ -1,19 +1,20 @@
+/* eslint-disable import/no-named-as-default-member */
import mockConsole from 'jest-mock-console'
import { createLocalVue } from '@vue/test-utils'
-import messagesStore from './messagesStore'
+import messagesStore from './messagesStore.js'
import Vuex from 'vuex'
import { cloneDeep } from 'lodash'
import {
ATTENDEE,
-} from '../constants'
+} from '../constants.js'
import {
deleteMessage,
updateLastReadMessage,
fetchMessages,
lookForNewMessages,
postNewMessage,
-} from '../services/messagesService'
-import CancelableRequest from '../utils/cancelableRequest'
+} from '../services/messagesService.js'
+import CancelableRequest from '../utils/cancelableRequest.js'
import { showError } from '@nextcloud/dialogs'
jest.mock('../services/messagesService', () => ({
diff --git a/src/store/newGroupConversationStore.spec.js b/src/store/newGroupConversationStore.spec.js
index 9f5b61ff0..9005c5887 100644
--- a/src/store/newGroupConversationStore.spec.js
+++ b/src/store/newGroupConversationStore.spec.js
@@ -2,7 +2,7 @@ import Vuex from 'vuex'
import { cloneDeep } from 'lodash'
import { createLocalVue } from '@vue/test-utils'
-import newGroupConversationStore from './newGroupConversationStore'
+import newGroupConversationStore from './newGroupConversationStore.js'
describe('newGroupConversationStore', () => {
let localVue = null
@@ -12,6 +12,7 @@ describe('newGroupConversationStore', () => {
localVue = createLocalVue()
localVue.use(Vuex)
+ // eslint-disable-next-line import/no-named-as-default-member
store = new Vuex.Store(cloneDeep(newGroupConversationStore))
})
diff --git a/src/store/participantsStore.js b/src/store/participantsStore.js
index eb531c540..e579c6747 100644
--- a/src/store/participantsStore.js
+++ b/src/store/participantsStore.js
@@ -32,15 +32,15 @@ import {
grantAllPermissionsToParticipant,
removeAllPermissionsFromParticipant,
setPermissions,
-} from '../services/participantsService'
+} from '../services/participantsService.js'
import { generateUrl } from '@nextcloud/router'
import {
joinCall,
leaveCall,
-} from '../services/callsService'
-import SessionStorage from '../services/SessionStorage'
-import { PARTICIPANT } from '../constants'
-import { EventBus } from '../services/EventBus'
+} from '../services/callsService.js'
+import SessionStorage from '../services/SessionStorage.js'
+import { PARTICIPANT } from '../constants.js'
+import { EventBus } from '../services/EventBus.js'
import { showError } from '@nextcloud/dialogs'
const state = {
diff --git a/src/store/participantsStore.spec.js b/src/store/participantsStore.spec.js
index 3fb567db6..94108a2c8 100644
--- a/src/store/participantsStore.spec.js
+++ b/src/store/participantsStore.spec.js
@@ -1,8 +1,9 @@
+/* eslint-disable import/no-named-as-default-member */
import mockConsole from 'jest-mock-console'
import { createLocalVue } from '@vue/test-utils'
import Vuex from 'vuex'
import { cloneDeep } from 'lodash'
-import { PARTICIPANT } from '../constants'
+import { PARTICIPANT } from '../constants.js'
import {
promoteToModerator,
demoteFromModerator,
@@ -13,14 +14,14 @@ import {
removeCurrentUserFromConversation,
grantAllPermissionsToParticipant,
removeAllPermissionsFromParticipant,
-} from '../services/participantsService'
+} from '../services/participantsService.js'
import {
joinCall,
leaveCall,
-} from '../services/callsService'
-import { EventBus } from '../services/EventBus'
+} from '../services/callsService.js'
+import { EventBus } from '../services/EventBus.js'
-import participantsStore from './participantsStore'
+import participantsStore from './participantsStore.js'
jest.mock('../services/participantsService', () => ({
promoteToModerator: jest.fn(),
diff --git a/src/store/quoteReplyStore.spec.js b/src/store/quoteReplyStore.spec.js
index b1544c018..1a636b51d 100644
--- a/src/store/quoteReplyStore.spec.js
+++ b/src/store/quoteReplyStore.spec.js
@@ -2,7 +2,7 @@ import Vuex from 'vuex'
import { cloneDeep } from 'lodash'
import { createLocalVue } from '@vue/test-utils'
-import quoteReplyStore from './quoteReplyStore'
+import quoteReplyStore from './quoteReplyStore.js'
describe('quoteReplyStore', () => {
let localVue = null
@@ -12,6 +12,7 @@ describe('quoteReplyStore', () => {
localVue = createLocalVue()
localVue.use(Vuex)
+ // eslint-disable-next-line import/no-named-as-default-member
store = new Vuex.Store(cloneDeep(quoteReplyStore))
})
diff --git a/src/store/reactionsStore.js b/src/store/reactionsStore.js
index c70a14a0b..195a1ee2d 100644
--- a/src/store/reactionsStore.js
+++ b/src/store/reactionsStore.js
@@ -22,7 +22,7 @@
import Vue from 'vue'
import {
getReactionsDetails,
-} from '../services/messagesService'
+} from '../services/messagesService.js'
const state = {
/**
diff --git a/src/store/settingsStore.js b/src/store/settingsStore.js
index 889673cd0..d6753716a 100644
--- a/src/store/settingsStore.js
+++ b/src/store/settingsStore.js
@@ -18,9 +18,9 @@
*
*/
-import fromStateOr from './helper'
-import { setReadStatusPrivacy } from '../services/settingsService'
-import { PRIVACY } from '../constants'
+import fromStateOr from './helper.js'
+import { setReadStatusPrivacy } from '../services/settingsService.js'
+import { PRIVACY } from '../constants.js'
const state = {
readStatusPrivacy: fromStateOr('spreed', 'read_status_privacy', PRIVACY.PRIVATE),
diff --git a/src/store/sharedItemsStore.js b/src/store/sharedItemsStore.js
index b5ce88754..ed0e90a58 100644
--- a/src/store/sharedItemsStore.js
+++ b/src/store/sharedItemsStore.js
@@ -21,8 +21,8 @@
*/
import Vue from 'vue'
-import { getSharedItemsOverview, getSharedItems } from '../services/sharedItemsService'
-import { SHARED_ITEM } from '../constants'
+import { getSharedItemsOverview, getSharedItems } from '../services/sharedItemsService.js'
+import { SHARED_ITEM } from '../constants.js'
const getItemTypeFromMessage = function(message) {
if (message.message === '{object}') {
diff --git a/src/store/sidebarStore.spec.js b/src/store/sidebarStore.spec.js
index dcacc1604..6246bb4ee 100644
--- a/src/store/sidebarStore.spec.js
+++ b/src/store/sidebarStore.spec.js
@@ -2,7 +2,7 @@ import Vuex from 'vuex'
import { cloneDeep } from 'lodash'
import { createLocalVue } from '@vue/test-utils'
-import sidebarStore from './sidebarStore'
+import sidebarStore from './sidebarStore.js'
describe('sidebarStore', () => {
let localVue = null
@@ -12,6 +12,7 @@ describe('sidebarStore', () => {
localVue = createLocalVue()
localVue.use(Vuex)
+ // eslint-disable-next-line import/no-named-as-default-member
store = new Vuex.Store(cloneDeep(sidebarStore))
})
diff --git a/src/store/soundsStore.js b/src/store/soundsStore.js
index 52856197d..607f699af 100644
--- a/src/store/soundsStore.js
+++ b/src/store/soundsStore.js
@@ -20,9 +20,9 @@
*
*/
-import fromStateOr from './helper'
-import BrowserStorage from '../services/BrowserStorage'
-import { setPlaySounds } from '../services/settingsService'
+import fromStateOr from './helper.js'
+import BrowserStorage from '../services/BrowserStorage.js'
+import { setPlaySounds } from '../services/settingsService.js'
const state = {
userId: undefined,
diff --git a/src/store/storeConfig.js b/src/store/storeConfig.js
index 121f3cdcf..b3152bf23 100644
--- a/src/store/storeConfig.js
+++ b/src/store/storeConfig.js
@@ -20,26 +20,26 @@
*
*/
-import actorStore from './actorStore'
-import audioRecorderStore from './audioRecorderStore'
-import callViewStore from './callViewStore'
-import conversationsStore from './conversationsStore'
-import fileUploadStore from './fileUploadStore'
-import guestNameStore from './guestNameStore'
-import messagesStore from './messagesStore'
-import newGroupConversationStore from './newGroupConversationStore'
-import participantsStore from './participantsStore'
-import quoteReplyStore from './quoteReplyStore'
-import settingsStore from './settingsStore'
-import sidebarStore from './sidebarStore'
-import soundsStore from './soundsStore'
-import talkHashStore from './talkHashStore'
-import tokenStore from './tokenStore'
-import uiModeStore from './uiModeStore'
-import windowVisibilityStore from './windowVisibilityStore'
-import messageActionsStore from './messageActionsStore'
-import reactionsStore from './reactionsStore'
-import sharedItemStore from './sharedItemsStore'
+import actorStore from './actorStore.js'
+import audioRecorderStore from './audioRecorderStore.js'
+import callViewStore from './callViewStore.js'
+import conversationsStore from './conversationsStore.js'
+import fileUploadStore from './fileUploadStore.js'
+import guestNameStore from './guestNameStore.js'
+import messagesStore from './messagesStore.js'
+import newGroupConversationStore from './newGroupConversationStore.js'
+import participantsStore from './participantsStore.js'
+import quoteReplyStore from './quoteReplyStore.js'
+import settingsStore from './settingsStore.js'
+import sidebarStore from './sidebarStore.js'
+import soundsStore from './soundsStore.js'
+import talkHashStore from './talkHashStore.js'
+import tokenStore from './tokenStore.js'
+import uiModeStore from './uiModeStore.js'
+import windowVisibilityStore from './windowVisibilityStore.js'
+import messageActionsStore from './messageActionsStore.js'
+import reactionsStore from './reactionsStore.js'
+import sharedItemStore from './sharedItemsStore.js'
export default {
modules: {
diff --git a/src/store/talkHashStore.spec.js b/src/store/talkHashStore.spec.js
index 28b11b9ad..e0768419a 100644
--- a/src/store/talkHashStore.spec.js
+++ b/src/store/talkHashStore.spec.js
@@ -1,6 +1,6 @@
import mockConsole from 'jest-mock-console'
import { createLocalVue } from '@vue/test-utils'
-import talkHashStore from './talkHashStore'
+import talkHashStore from './talkHashStore.js'
import Vuex from 'vuex'
import { cloneDeep } from 'lodash'
import { showError } from '@nextcloud/dialogs'
@@ -18,6 +18,7 @@ describe('talkHashStore', () => {
localVue = createLocalVue()
localVue.use(Vuex)
+ // eslint-disable-next-line import/no-named-as-default-member
store = new Vuex.Store(cloneDeep(talkHashStore))
restoreConsole = mockConsole(['debug'])
})
diff --git a/src/utils/media/effects/virtual-background/JitsiStreamBackgroundEffect.js b/src/utils/media/effects/virtual-background/JitsiStreamBackgroundEffect.js
index 8323e8876..99ac42741 100644
--- a/src/utils/media/effects/virtual-background/JitsiStreamBackgroundEffect.js
+++ b/src/utils/media/effects/virtual-background/JitsiStreamBackgroundEffect.js
@@ -1,6 +1,6 @@
// @flow
-import { VIRTUAL_BACKGROUND_TYPE } from './constants'
+import { VIRTUAL_BACKGROUND_TYPE } from './constants.js'
import WebWorker from './JitsiStreamBackgroundEffect.worker.js'
import {
@@ -8,7 +8,7 @@ import {
TIMEOUT_TICK,
SET_TIMEOUT,
timerWorkerScript,
-} from './TimerWorker'
+} from './TimerWorker.js'
/**
* Represents a modified MediaStream that adds effects to video background.
diff --git a/src/utils/media/effects/virtual-background/JitsiStreamBackgroundEffect.worker.js b/src/utils/media/effects/virtual-background/JitsiStreamBackgroundEffect.worker.js
index 787d4b4c5..f957dbbf4 100644
--- a/src/utils/media/effects/virtual-background/JitsiStreamBackgroundEffect.worker.js
+++ b/src/utils/media/effects/virtual-background/JitsiStreamBackgroundEffect.worker.js
@@ -1,5 +1,5 @@
-import createTFLiteModule from './vendor/tflite/tflite'
-import createTFLiteSIMDModule from './vendor/tflite/tflite-simd'
+import createTFLiteModule from './vendor/tflite/tflite.js'
+import createTFLiteSIMDModule from './vendor/tflite/tflite-simd.js'
import withoutSIMD from './vendor/tflite/tflite.wasm'
import withSIMD from './vendor/tflite/tflite-simd.wasm'
import landscape from './vendor/models/selfie_segmentation_landscape.tflite'
diff --git a/src/utils/media/effects/virtual-background/index.js b/src/utils/media/effects/virtual-background/index.js
index 6a02886dd..1f7951be2 100644
--- a/src/utils/media/effects/virtual-background/index.js
+++ b/src/utils/media/effects/virtual-background/index.js
@@ -1,8 +1,8 @@
// @flow
-import JitsiStreamBackgroundEffect from './JitsiStreamBackgroundEffect'
-import createTFLiteModule from './vendor/tflite/tflite'
-import createTFLiteSIMDModule from './vendor/tflite/tflite-simd'
+import JitsiStreamBackgroundEffect from './JitsiStreamBackgroundEffect.js'
+import createTFLiteModule from './vendor/tflite/tflite.js'
+import createTFLiteSIMDModule from './vendor/tflite/tflite-simd.js'
const models = {
modelLandscape: 'libs/selfie_segmentation_landscape.tflite',
}
diff --git a/src/utils/media/pipeline/MediaDevicesSource.js b/src/utils/media/pipeline/MediaDevicesSource.js
index 6a24b2415..c85027f98 100644
--- a/src/utils/media/pipeline/MediaDevicesSource.js
+++ b/src/utils/media/pipeline/MediaDevicesSource.js
@@ -21,9 +21,9 @@
import UAParser from 'ua-parser-js'
-import { mediaDevicesManager } from '../../webrtc/index'
+import { mediaDevicesManager } from '../../webrtc/index.js'
-import TrackSource from './TrackSource'
+import TrackSource from './TrackSource.js'
/**
* Source node to get audio and video tracks from MediaDevicesManager.
diff --git a/src/utils/media/pipeline/MediaDevicesSource.spec.js b/src/utils/media/pipeline/MediaDevicesSource.spec.js
index 7cdb14b6a..95db663f6 100644
--- a/src/utils/media/pipeline/MediaDevicesSource.spec.js
+++ b/src/utils/media/pipeline/MediaDevicesSource.spec.js
@@ -19,9 +19,9 @@
*
*/
-import { mediaDevicesManager } from '../../webrtc/index'
+import { mediaDevicesManager } from '../../webrtc/index.js'
-import MediaDevicesSource from './MediaDevicesSource'
+import MediaDevicesSource from './MediaDevicesSource.js'
/**
* Helper function to create MediaStreamTrack mocks with just the attributes and
diff --git a/src/utils/media/pipeline/SpeakingMonitor.js b/src/utils/media/pipeline/SpeakingMonitor.js
index 9e07e5d45..64762c33d 100644
--- a/src/utils/media/pipeline/SpeakingMonitor.js
+++ b/src/utils/media/pipeline/SpeakingMonitor.js
@@ -20,8 +20,8 @@
*/
import hark from 'hark'
-import EmitterMixin from '../../EmitterMixin'
-import TrackSink from './TrackSink'
+import EmitterMixin from '../../EmitterMixin.js'
+import TrackSink from './TrackSink.js'
/**
* Sink node to detect sound in its input track and emit "speaking" events.
diff --git a/src/utils/media/pipeline/TrackConstrainer.js b/src/utils/media/pipeline/TrackConstrainer.js
index 93c839a31..f1a6f555e 100644
--- a/src/utils/media/pipeline/TrackConstrainer.js
+++ b/src/utils/media/pipeline/TrackConstrainer.js
@@ -19,7 +19,7 @@
*
*/
-import TrackSinkSource from './TrackSinkSource'
+import TrackSinkSource from './TrackSinkSource.js'
/**
* Processor node to apply constraints on its track.
diff --git a/src/utils/media/pipeline/TrackEnabler.js b/src/utils/media/pipeline/TrackEnabler.js
index 552903547..34b80d5f7 100644
--- a/src/utils/media/pipeline/TrackEnabler.js
+++ b/src/utils/media/pipeline/TrackEnabler.js
@@ -19,7 +19,7 @@
*
*/
-import TrackSinkSource from './TrackSinkSource'
+import TrackSinkSource from './TrackSinkSource.js'
/**
* Processor node to enable or disable its track.
diff --git a/src/utils/media/pipeline/TrackEnabler.spec.js b/src/utils/media/pipeline/TrackEnabler.spec.js
index 7cafe2a9a..35f422b7f 100644
--- a/src/utils/media/pipeline/TrackEnabler.spec.js
+++ b/src/utils/media/pipeline/TrackEnabler.spec.js
@@ -19,7 +19,7 @@
*
*/
-import TrackEnabler from './TrackEnabler'
+import TrackEnabler from './TrackEnabler.js'
/**
* Helper function to create MediaStreamTrack mocks with just the attributes and
diff --git a/src/utils/media/pipeline/TrackSink.js b/src/utils/media/pipeline/TrackSink.js
index 7a9f3f261..b41e61538 100644
--- a/src/utils/media/pipeline/TrackSink.js
+++ b/src/utils/media/pipeline/TrackSink.js
@@ -19,7 +19,7 @@
*
*/
-import TrackSinkMixin from './TrackSinkMixin'
+import TrackSinkMixin from './TrackSinkMixin.js'
/**
* Base class for sink nodes of tracks.
diff --git a/src/utils/media/pipeline/TrackSinkSource.js b/src/utils/media/pipeline/TrackSinkSource.js
index 95dbb0d4d..fa9c9d84a 100644
--- a/src/utils/media/pipeline/TrackSinkSource.js
+++ b/src/utils/media/pipeline/TrackSinkSource.js
@@ -19,9 +19,9 @@
*
*/
-import EmitterMixin from '../../EmitterMixin'
-import TrackSinkMixin from './TrackSinkMixin'
-import TrackSourceMixin from './TrackSourceMixin'
+import EmitterMixin from '../../EmitterMixin.js'
+import TrackSinkMixin from './TrackSinkMixin.js'
+import TrackSourceMixin from './TrackSourceMixin.js'
/**
* Base class for nodes that act both as a sink and as a source (a processing
diff --git a/src/utils/media/pipeline/TrackSource.js b/src/utils/media/pipeline/TrackSource.js
index dba20cf15..a61d37365 100644
--- a/src/utils/media/pipeline/TrackSource.js
+++ b/src/utils/media/pipeline/TrackSource.js
@@ -19,8 +19,8 @@
*
*/
-import EmitterMixin from '../../EmitterMixin'
-import TrackSourceMixin from './TrackSourceMixin'
+import EmitterMixin from '../../EmitterMixin.js'
+import TrackSourceMixin from './TrackSourceMixin.js'
/**
* Base class for source nodes of tracks.
diff --git a/src/utils/media/pipeline/TrackToStream.js b/src/utils/media/pipeline/TrackToStream.js
index d2b773f88..ef8c06b17 100644
--- a/src/utils/media/pipeline/TrackToStream.js
+++ b/src/utils/media/pipeline/TrackToStream.js
@@ -19,8 +19,8 @@
*
*/
-import EmitterMixin from '../../EmitterMixin'
-import TrackSink from './TrackSink'
+import EmitterMixin from '../../EmitterMixin.js'
+import TrackSink from './TrackSink.js'
/**
* Sink node to add one or more tracks to a single stream.
diff --git a/src/utils/media/pipeline/TrackToStream.spec.js b/src/utils/media/pipeline/TrackToStream.spec.js
index 007a5e28b..02e01ba85 100644
--- a/src/utils/media/pipeline/TrackToStream.spec.js
+++ b/src/utils/media/pipeline/TrackToStream.spec.js
@@ -19,7 +19,7 @@
*
*/
-import TrackToStream from './TrackToStream'
+import TrackToStream from './TrackToStream.js'
/**
* Helper function to create MediaStreamTrack mocks with just the attributes
diff --git a/src/utils/media/pipeline/VirtualBackground.js b/src/utils/media/pipeline/VirtualBackground.js
index d5b32479f..2b361c55f 100644
--- a/src/utils/media/pipeline/VirtualBackground.js
+++ b/src/utils/media/pipeline/VirtualBackground.js
@@ -21,9 +21,9 @@
*
*/
-import TrackSinkSource from './TrackSinkSource'
-import { VIRTUAL_BACKGROUND_TYPE } from '../effects/virtual-background/constants'
-import JitsiStreamBackgroundEffect from '../effects/virtual-background/JitsiStreamBackgroundEffect'
+import TrackSinkSource from './TrackSinkSource.js'
+import { VIRTUAL_BACKGROUND_TYPE } from '../effects/virtual-background/constants.js'
+import JitsiStreamBackgroundEffect from '../effects/virtual-background/JitsiStreamBackgroundEffect.js'
/**
* Processor node to set a virtual background on a video track.
diff --git a/src/utils/media/pipeline/VirtualBackground.spec.js b/src/utils/media/pipeline/VirtualBackground.spec.js
index 804d02171..1b35be51a 100644
--- a/src/utils/media/pipeline/VirtualBackground.spec.js
+++ b/src/utils/media/pipeline/VirtualBackground.spec.js
@@ -19,7 +19,7 @@
*
*/
-import VirtualBackground from './VirtualBackground'
+import VirtualBackground from './VirtualBackground.js'
/**
* Helper function to create MediaStreamTrack mocks with just the attributes and
diff --git a/src/utils/signaling.js b/src/utils/signaling.js
index 6a47b99e4..6c711961d 100644
--- a/src/utils/signaling.js
+++ b/src/utils/signaling.js
@@ -32,10 +32,10 @@
*
*/
-import { pullSignalingMessages } from '../services/signalingService'
-import { rejoinConversation } from '../services/participantsService'
-import CancelableRequest from './cancelableRequest'
-import { EventBus } from '../services/EventBus'
+import { pullSignalingMessages } from '../services/signalingService.js'
+import { rejoinConversation } from '../services/participantsService.js'
+import CancelableRequest from './cancelableRequest.js'
+import { EventBus } from '../services/EventBus.js'
import axios from '@nextcloud/axios'
import {
generateOcsUrl,
diff --git a/src/utils/sounds.js b/src/utils/sounds.js
index d97ec0647..d710b38aa 100644
--- a/src/utils/sounds.js
+++ b/src/utils/sounds.js
@@ -19,7 +19,7 @@
*/
import { generateFilePath } from '@nextcloud/router'
-import store from '../store'
+import store from '../store/index.js'
export const Sounds = {
BLOCK_SOUND_TIMEOUT: 3000,
diff --git a/src/utils/webrtc/MediaDevicesManager.js b/src/utils/webrtc/MediaDevicesManager.js
index cc41d075f..396843bb6 100644
--- a/src/utils/webrtc/MediaDevicesManager.js
+++ b/src/utils/webrtc/MediaDevicesManager.js
@@ -19,8 +19,8 @@
*
*/
-import BrowserStorage from '../../services/BrowserStorage'
-import EmitterMixin from '../EmitterMixin'
+import BrowserStorage from '../../services/BrowserStorage.js'
+import EmitterMixin from '../EmitterMixin.js'
/**
* Special string to set null device ids in local storage (as only strings are
diff --git a/src/utils/webrtc/RemoteVideoBlocker.spec.js b/src/utils/webrtc/RemoteVideoBlocker.spec.js
index af9e0701c..ff2da1d59 100644
--- a/src/utils/webrtc/RemoteVideoBlocker.spec.js
+++ b/src/utils/webrtc/RemoteVideoBlocker.spec.js
@@ -19,7 +19,7 @@
*
*/
-import RemoteVideoBlocker from './RemoteVideoBlocker'
+import RemoteVideoBlocker from './RemoteVideoBlocker.js'
describe('RemoteVideoBlocker', () => {
let callParticipantModel
diff --git a/src/utils/webrtc/SentVideoQualityThrottler.js b/src/utils/webrtc/SentVideoQualityThrottler.js
index 6f741d85c..7462a366a 100644
--- a/src/utils/webrtc/SentVideoQualityThrottler.js
+++ b/src/utils/webrtc/SentVideoQualityThrottler.js
@@ -22,7 +22,7 @@
import {
QUALITY,
VideoConstrainer,
-} from './VideoConstrainer'
+} from './VideoConstrainer.js'
/**
* Helper to adjust the quality of the sent video based on the current call
diff --git a/src/utils/webrtc/analyzers/AverageStatValue.spec.js b/src/utils/webrtc/analyzers/AverageStatValue.spec.js
index c0d8d5745..3f0a6f2c7 100644
--- a/src/utils/webrtc/analyzers/AverageStatValue.spec.js
+++ b/src/utils/webrtc/analyzers/AverageStatValue.spec.js
@@ -1,4 +1,4 @@
-import { AverageStatValue, STAT_VALUE_TYPE } from './AverageStatValue'
+import { AverageStatValue, STAT_VALUE_TYPE } from './AverageStatValue.js'
describe('AverageStatValue', () => {
beforeEach(() => {
diff --git a/src/utils/webrtc/analyzers/CallAnalyzer.js b/src/utils/webrtc/analyzers/CallAnalyzer.js
index b41e39ac0..dfffc46f3 100644
--- a/src/utils/webrtc/analyzers/CallAnalyzer.js
+++ b/src/utils/webrtc/analyzers/CallAnalyzer.js
@@ -19,11 +19,11 @@
*
*/
-import EmitterMixin from '../../EmitterMixin'
+import EmitterMixin from '../../EmitterMixin.js'
import {
ParticipantAnalyzer,
-} from './ParticipantAnalyzer'
+} from './ParticipantAnalyzer.js'
/**
* Analyzer for the quality of the connections of a call.
diff --git a/src/utils/webrtc/analyzers/ParticipantAnalyzer.js b/src/utils/webrtc/analyzers/ParticipantAnalyzer.js
index 390aadd97..b1cf397da 100644
--- a/src/utils/webrtc/analyzers/ParticipantAnalyzer.js
+++ b/src/utils/webrtc/analyzers/ParticipantAnalyzer.js
@@ -19,12 +19,12 @@
*
*/
-import EmitterMixin from '../../EmitterMixin'
+import EmitterMixin from '../../EmitterMixin.js'
import {
PEER_DIRECTION,
PeerConnectionAnalyzer,
-} from './PeerConnectionAnalyzer'
+} from './PeerConnectionAnalyzer.js'
/**
* Analyzer for the quality of the connections of a Participant.
diff --git a/src/utils/webrtc/analyzers/PeerConnectionAnalyzer.js b/src/utils/webrtc/analyzers/PeerConnectionAnalyzer.js
index 7d4d76c0d..c7be01d2e 100644
--- a/src/utils/webrtc/analyzers/PeerConnectionAnalyzer.js
+++ b/src/utils/webrtc/analyzers/PeerConnectionAnalyzer.js
@@ -19,12 +19,12 @@
*
*/
-import EmitterMixin from '../../EmitterMixin'
+import EmitterMixin from '../../EmitterMixin.js'
import {
STAT_VALUE_TYPE,
AverageStatValue,
-} from './AverageStatValue'
+} from './AverageStatValue.js'
const CONNECTION_QUALITY = {
UNKNOWN: 0,
diff --git a/src/utils/webrtc/index.js b/src/utils/webrtc/index.js
index 8ff284cbb..5840e3795 100644
--- a/src/utils/webrtc/index.js
+++ b/src/utils/webrtc/index.js
@@ -19,20 +19,20 @@
*
*/
-import './shims/MediaStream'
-import './shims/MediaStreamTrack'
+import './shims/MediaStream.js'
+import './shims/MediaStreamTrack.js'
import Axios from '@nextcloud/axios'
-import CancelableRequest from '../cancelableRequest'
-import Signaling from '../signaling'
-import initWebRtc from './webrtc'
-import CallAnalyzer from './analyzers/CallAnalyzer'
-import CallParticipantCollection from './models/CallParticipantCollection'
-import LocalCallParticipantModel from './models/LocalCallParticipantModel'
-import LocalMediaModel from './models/LocalMediaModel'
-import MediaDevicesManager from './MediaDevicesManager'
-import SentVideoQualityThrottler from './SentVideoQualityThrottler'
-import { PARTICIPANT } from '../../constants'
-import { fetchSignalingSettings } from '../../services/signalingService'
+import CancelableRequest from '../cancelableRequest.js'
+import Signaling from '../signaling.js'
+import initWebRtc from './webrtc.js'
+import CallAnalyzer from './analyzers/CallAnalyzer.js'
+import CallParticipantCollection from './models/CallParticipantCollection.js'
+import LocalCallParticipantModel from './models/LocalCallParticipantModel.js'
+import LocalMediaModel from './models/LocalMediaModel.js'
+import MediaDevicesManager from './MediaDevicesManager.js'
+import SentVideoQualityThrottler from './SentVideoQualityThrottler.js'
+import { PARTICIPANT } from '../../constants.js'
+import { fetchSignalingSettings } from '../../services/signalingService.js'
let webRtc = null
const callParticipantCollection = new CallParticipantCollection()
diff --git a/src/utils/webrtc/models/CallParticipantCollection.js b/src/utils/webrtc/models/CallParticipantCollection.js
index 1fce98f9c..1545af663 100644
--- a/src/utils/webrtc/models/CallParticipantCollection.js
+++ b/src/utils/webrtc/models/CallParticipantCollection.js
@@ -19,9 +19,9 @@
*
*/
-import EmitterMixin from '../../EmitterMixin'
+import EmitterMixin from '../../EmitterMixin.js'
-import CallParticipantModel from './CallParticipantModel'
+import CallParticipantModel from './CallParticipantModel.js'
/**
*
diff --git a/src/utils/webrtc/models/CallParticipantModel.js b/src/utils/webrtc/models/CallParticipantModel.js
index 6362e14e3..171488edd 100644
--- a/src/utils/webrtc/models/CallParticipantModel.js
+++ b/src/utils/webrtc/models/CallParticipantModel.js
@@ -21,7 +21,7 @@
import attachMediaStream from 'attachmediastream'
-import EmitterMixin from '../../EmitterMixin'
+import EmitterMixin from '../../EmitterMixin.js'
export const ConnectionState = {
NEW: 'new',
diff --git a/src/utils/webrtc/models/LocalCallParticipantModel.js b/src/utils/webrtc/models/LocalCallParticipantModel.js
index bbf7ad0a7..f79a89e70 100644
--- a/src/utils/webrtc/models/LocalCallParticipantModel.js
+++ b/src/utils/webrtc/models/LocalCallParticipantModel.js
@@ -19,10 +19,10 @@
*
*/
-import EmitterMixin from '../../EmitterMixin'
+import EmitterMixin from '../../EmitterMixin.js'
import store from '../../../store/index.js'
-import { ConnectionState } from './CallParticipantModel'
+import { ConnectionState } from './CallParticipantModel.js'
/**
*
diff --git a/src/utils/webrtc/models/LocalMediaModel.js b/src/utils/webrtc/models/LocalMediaModel.js
index 7994fa242..b6972b653 100644
--- a/src/utils/webrtc/models/LocalMediaModel.js
+++ b/src/utils/webrtc/models/LocalMediaModel.js
@@ -19,7 +19,7 @@
*
*/
-import EmitterMixin from '../../EmitterMixin'
+import EmitterMixin from '../../EmitterMixin.js'
import store from '../../../store/index.js'
/**
diff --git a/src/utils/webrtc/simplewebrtc/localmedia.js b/src/utils/webrtc/simplewebrtc/localmedia.js
index b3fdce22d..ab99bf681 100644
--- a/src/utils/webrtc/simplewebrtc/localmedia.js
+++ b/src/utils/webrtc/simplewebrtc/localmedia.js
@@ -1,7 +1,7 @@
/* global module */
const util = require('util')
-const getScreenMedia = require('./getscreenmedia')
+const getScreenMedia = require('./getscreenmedia.js')
const WildEmitter = require('wildemitter')
const mockconsole = require('mockconsole')
// Only mediaDevicesManager is used, but it can not be assigned here due to not
diff --git a/src/utils/webrtc/simplewebrtc/simplewebrtc.js b/src/utils/webrtc/simplewebrtc/simplewebrtc.js
index 4c36417ea..f03f7a4f0 100644
--- a/src/utils/webrtc/simplewebrtc/simplewebrtc.js
+++ b/src/utils/webrtc/simplewebrtc/simplewebrtc.js
@@ -1,6 +1,6 @@
/* global module */
-const WebRTC = require('./webrtc')
+const WebRTC = require('./webrtc.js')
const WildEmitter = require('wildemitter')
const webrtcSupport = require('webrtcsupport')
const mockconsole = require('mockconsole')
diff --git a/src/utils/webrtc/simplewebrtc/webrtc.js b/src/utils/webrtc/simplewebrtc/webrtc.js
index f335a9788..e4f7c9a35 100644
--- a/src/utils/webrtc/simplewebrtc/webrtc.js
+++ b/src/utils/webrtc/simplewebrtc/webrtc.js
@@ -3,8 +3,8 @@
const util = require('util')
const webrtcSupport = require('webrtcsupport')
const mockconsole = require('mockconsole')
-const localMedia = require('./localmedia')
-const Peer = require('./peer')
+const localMedia = require('./localmedia.js')
+const Peer = require('./peer.js')
/**
* @param {object} opts the options object.
diff --git a/src/utils/webrtc/webrtc.js b/src/utils/webrtc/webrtc.js
index d3044c529..23f66d763 100644
--- a/src/utils/webrtc/webrtc.js
+++ b/src/utils/webrtc/webrtc.js
@@ -32,7 +32,7 @@
*
*/
-import SimpleWebRTC from './simplewebrtc/simplewebrtc'
+import SimpleWebRTC from './simplewebrtc/simplewebrtc.js'
import { PARTICIPANT } from '../../constants.js'
import store from '../../store/index.js'
import {
diff --git a/src/views/AdminSettings.vue b/src/views/AdminSettings.vue
index e86397f63..6f55acd09 100644
--- a/src/views/AdminSettings.vue
+++ b/src/views/AdminSettings.vue
@@ -36,16 +36,16 @@
</template>
<script>
-import AllowedGroups from '../components/AdminSettings/AllowedGroups'
-import Commands from '../components/AdminSettings/Commands'
-import GeneralSettings from '../components/AdminSettings/GeneralSettings'
-import HostedSignalingServer from '../components/AdminSettings/HostedSignalingServer'
-import MatterbridgeIntegration from '../components/AdminSettings/MatterbridgeIntegration'
-import SignalingServers from '../components/AdminSettings/SignalingServers'
-import SIPBridge from '../components/AdminSettings/SIPBridge'
-import StunServers from '../components/AdminSettings/StunServers'
-import TurnServers from '../components/AdminSettings/TurnServers'
-import WebServerSetupChecks from '../components/AdminSettings/WebServerSetupChecks'
+import AllowedGroups from '../components/AdminSettings/AllowedGroups.vue'
+import Commands from '../components/AdminSettings/Commands.vue'
+import GeneralSettings from '../components/AdminSettings/GeneralSettings.vue'
+import HostedSignalingServer from '../components/AdminSettings/HostedSignalingServer.vue'
+import MatterbridgeIntegration from '../components/AdminSettings/MatterbridgeIntegration.vue'
+import SignalingServers from '../components/AdminSettings/SignalingServers.vue'
+import SIPBridge from '../components/AdminSettings/SIPBridge.vue'
+import StunServers from '../components/AdminSettings/StunServers.vue'
+import TurnServers from '../components/AdminSettings/TurnServers.vue'
+import WebServerSetupChecks from '../components/AdminSettings/WebServerSetupChecks.vue'
export default {
name: 'AdminSettings',
diff --git a/src/views/Dashboard.vue b/src/views/Dashboard.vue
index 66834ef0f..e4bbe5667 100644
--- a/src/views/Dashboard.vue
+++ b/src/views/Dashboard.vue
@@ -57,11 +57,11 @@
<script>
import { DashboardWidget, DashboardWidgetItem } from '@nextcloud/vue-dashboard'
-import ConversationIcon from './../components/ConversationIcon'
+import ConversationIcon from './../components/ConversationIcon.vue'
import EmptyContent from '@nextcloud/vue/dist/Components/EmptyContent'
import axios from '@nextcloud/axios'
import { generateOcsUrl, generateUrl } from '@nextcloud/router'
-import { CONVERSATION } from '../constants'
+import { CONVERSATION } from '../constants.js'
import Button from '@nextcloud/vue/dist/Components/Button'
const ROOM_POLLING_INTERVAL = 30
diff --git a/src/views/FlowPostToConversation.vue b/src/views/FlowPostToConversation.vue
index 50977ac21..0f5b8b706 100644
--- a/src/views/FlowPostToConversation.vue
+++ b/src/views/FlowPostToConversation.vue
@@ -18,7 +18,7 @@
import Multiselect from '@nextcloud/vue/dist/Components/Multiselect'
import axios from '@nextcloud/axios'
import { generateOcsUrl } from '@nextcloud/router'
-import { FLOW, CONVERSATION } from '../constants'
+import { FLOW, CONVERSATION } from '../constants.js'
export default {
name: 'FlowPostToConversation',