diff options
author | Maksim Sukharev <antreesy.web@gmail.com> | 2024-03-15 11:16:45 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-15 11:16:45 +0100 |
commit | fa90615dc506d32ef7f4f335a4b09223239ef64d (patch) | |
tree | a4cf1dae567566915e200c7505fd78a148ccfb39 | |
parent | ff172a9222a84b59723d81ac2be20641658b17e0 (diff) | |
parent | 7aa315facde52eb7e280d5f44db4792be159c97a (diff) |
Merge pull request #11809 from nextcloud/fix/noid/federation-capabilities
fix(federation): show Federation section in AdminSettings, hide federated conversations from plugins
-rw-r--r-- | src/components/RoomSelector.vue | 5 | ||||
-rw-r--r-- | src/views/AdminSettings.vue | 11 | ||||
-rw-r--r-- | src/views/FlowPostToConversation.vue | 6 |
3 files changed, 19 insertions, 3 deletions
diff --git a/src/components/RoomSelector.vue b/src/components/RoomSelector.vue index d34e85f99..83aed6f52 100644 --- a/src/components/RoomSelector.vue +++ b/src/components/RoomSelector.vue @@ -69,6 +69,8 @@ import { provide, ref } from 'vue' import Magnify from 'vue-material-design-icons/Magnify.vue' import MessageOutline from 'vue-material-design-icons/MessageOutline.vue' +import { getCapabilities } from '@nextcloud/capabilities' + import NcButton from '@nextcloud/vue/dist/Components/NcButton.js' import NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js' import NcModal from '@nextcloud/vue/dist/Components/NcModal.js' @@ -79,6 +81,8 @@ import ConversationsSearchListVirtual from './LeftSidebar/ConversationsList/Conv import { CONVERSATION } from '../constants.js' import { searchListedConversations, fetchConversations } from '../services/conversationsService.js' +const supportFederationV1 = getCapabilities()?.spreed?.features?.includes('federation-v1') + export default { name: 'RoomSelector', @@ -193,6 +197,7 @@ export default { : await fetchConversations({}) this.rooms = response.data.ocs.data.sort(this.sortConversations) + .filter(conversation => !supportFederationV1 || !conversation.remoteServer) this.loading = false }, diff --git a/src/views/AdminSettings.vue b/src/views/AdminSettings.vue index 48e1bce76..fe686c2f7 100644 --- a/src/views/AdminSettings.vue +++ b/src/views/AdminSettings.vue @@ -25,8 +25,7 @@ <GeneralSettings /> <MatterbridgeIntegration /> <AllowedGroups /> - <!-- TODO remove OC.debug when Federation feature is ready --> - <Federation v-if="OC.debug" /> + <Federation v-if="supportFederation" /> <BotsSettings /> <Commands /> <WebServerSetupChecks /> @@ -40,6 +39,8 @@ </template> <script> +import { getCapabilities } from '@nextcloud/capabilities' + import AllowedGroups from '../components/AdminSettings/AllowedGroups.vue' import BotsSettings from '../components/AdminSettings/BotsSettings.vue' import Commands from '../components/AdminSettings/Commands.vue' @@ -54,6 +55,8 @@ import StunServers from '../components/AdminSettings/StunServers.vue' import TurnServers from '../components/AdminSettings/TurnServers.vue' import WebServerSetupChecks from '../components/AdminSettings/WebServerSetupChecks.vue' +const supportFederation = getCapabilities()?.spreed?.features?.includes('federation-v1') + export default { name: 'AdminSettings', @@ -72,5 +75,9 @@ export default { TurnServers, WebServerSetupChecks, }, + + setup() { + return { supportFederation } + } } </script> diff --git a/src/views/FlowPostToConversation.vue b/src/views/FlowPostToConversation.vue index 3ad7f2353..60dad5a20 100644 --- a/src/views/FlowPostToConversation.vue +++ b/src/views/FlowPostToConversation.vue @@ -16,12 +16,15 @@ <script> import axios from '@nextcloud/axios' +import { getCapabilities } from '@nextcloud/capabilities' import { generateOcsUrl } from '@nextcloud/router' import NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js' import { FLOW, CONVERSATION, PARTICIPANT } from '../constants.js' +const supportFederationV1 = getCapabilities()?.spreed?.features?.includes('federation-v1') + export default { name: 'FlowPostToConversation', components: { NcSelect }, @@ -86,6 +89,7 @@ export default { this.roomOptions = response.data.ocs.data.filter(function(room) { return room.readOnly === CONVERSATION.STATE.READ_WRITE && (room.permissions & PARTICIPANT.PERMISSIONS.CHAT) !== 0 + && (!supportFederationV1 || !room.remoteServer) }) }) }, @@ -95,7 +99,7 @@ export default { </script> <style scoped> - .multiselect { + :deep(.v-select) { width: 100%; margin: auto; text-align: center; |