summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaksim Sukharev <antreesy.web@gmail.com>2024-03-15 11:16:45 +0100
committerGitHub <noreply@github.com>2024-03-15 11:16:45 +0100
commitfa90615dc506d32ef7f4f335a4b09223239ef64d (patch)
treea4cf1dae567566915e200c7505fd78a148ccfb39
parentff172a9222a84b59723d81ac2be20641658b17e0 (diff)
parent7aa315facde52eb7e280d5f44db4792be159c97a (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.vue5
-rw-r--r--src/views/AdminSettings.vue11
-rw-r--r--src/views/FlowPostToConversation.vue6
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;