From acc9e8a6f983f0580fb99924ab79ce8d4796b1ee Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Thu, 2 Jan 2025 10:20:16 +0100 Subject: [PATCH 1/3] fix(setupcheck): Don't signal success when no backend is configured Signed-off-by: Joas Schilling --- lib/SetupCheck/Configuration.php | 2 +- lib/SetupCheck/HighPerformanceBackend.php | 5 ++++- lib/SetupCheck/RecordingBackend.php | 2 +- lib/SetupCheck/SIPConfiguration.php | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/SetupCheck/Configuration.php b/lib/SetupCheck/Configuration.php index d788da0a079..620e92ecd02 100644 --- a/lib/SetupCheck/Configuration.php +++ b/lib/SetupCheck/Configuration.php @@ -30,7 +30,7 @@ public function getCategory(): string { } public function getName(): string { - return $this->l10n->t('Talk configuration'); + return $this->l10n->t('Talk configuration values'); } public function run(): SetupResult { diff --git a/lib/SetupCheck/HighPerformanceBackend.php b/lib/SetupCheck/HighPerformanceBackend.php index e39a75642fd..030b0d6f257 100644 --- a/lib/SetupCheck/HighPerformanceBackend.php +++ b/lib/SetupCheck/HighPerformanceBackend.php @@ -34,7 +34,10 @@ public function getName(): string { public function run(): SetupResult { if ($this->talkConfig->getSignalingMode() === Config::SIGNALING_INTERNAL) { - return SetupResult::success(); + return SetupResult::error( + $this->l->t('No High-performance backend configured - Running Nextcloud Talk without the High-performance backend only scales for very small calls (max. 2-3 participants). Please set up the High-performance backend to ensure calls with multiple participants work seamlessly.'), + 'https://portal.nextcloud.com/article/Nextcloud-Talk/High-Performance-Backend/Installation-of-Nextcloud-Talk-High-Performance-Backend', + ); } if ($this->talkConfig->getSignalingMode() === Config::SIGNALING_CLUSTER_CONVERSATION) { diff --git a/lib/SetupCheck/RecordingBackend.php b/lib/SetupCheck/RecordingBackend.php index 1ae04c31d5b..3a4262cfa1a 100644 --- a/lib/SetupCheck/RecordingBackend.php +++ b/lib/SetupCheck/RecordingBackend.php @@ -33,7 +33,7 @@ public function run(): SetupResult { return SetupResult::success(); } if (empty($this->talkConfig->getRecordingServers())) { - return SetupResult::success(); + return SetupResult::info($this->l->t('No recording backend configured')); } return SetupResult::error($this->l->t('Using the recording backend requires a High-performance backend.')); } diff --git a/lib/SetupCheck/SIPConfiguration.php b/lib/SetupCheck/SIPConfiguration.php index a8eba865a4d..a3dbe3f2cac 100644 --- a/lib/SetupCheck/SIPConfiguration.php +++ b/lib/SetupCheck/SIPConfiguration.php @@ -33,7 +33,7 @@ public function run(): SetupResult { return SetupResult::success(); } if ($this->talkConfig->getSIPSharedSecret() === '' && $this->talkConfig->getDialInInfo() === '') { - return SetupResult::success(); + return SetupResult::info($this->l->t('No SIP backend configured')); } return SetupResult::error($this->l->t('Using the SIP functionality requires a High-performance backend.')); } From 278fed26931bbbdc95bcf0abe3fff8001f01e6bc Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Thu, 2 Jan 2025 10:21:54 +0100 Subject: [PATCH 2/3] fix(settings): Move the High-performance backend setting to the top and clarify the need Signed-off-by: Joas Schilling --- src/components/AdminSettings/Federation.vue | 4 ++ .../AdminSettings/SignalingServers.vue | 43 +++++++++++-------- src/views/AdminSettings.vue | 6 +-- 3 files changed, 32 insertions(+), 21 deletions(-) diff --git a/src/components/AdminSettings/Federation.vue b/src/components/AdminSettings/Federation.vue index 2221b3131f2..6244ad70232 100644 --- a/src/components/AdminSettings/Federation.vue +++ b/src/components/AdminSettings/Federation.vue @@ -10,6 +10,10 @@ {{ t('spreed', 'Beta') }} +

+ {{ t('spreed', 'Federated chats and calls work already. Attachment handling is coming in a future version.') }} +

+
+ +

{{ t('spreed', 'High-performance backend') }}

- {{ t('spreed', 'An external signaling server should optionally be used for larger installations. Leave empty to use the internal signaling server.') }} + {{ t('spreed', 'The High-performance backend is required for calls and conversations with multiple participants. Without the backend, all participants have to upload their own video individually for each other participant, which will most likely cause connectivity issues and a high load on participating devices.') }}

- + :text="t('spreed', 'It is highly recommended to set up a distributed cache when using Nextcloud Talk with a High-performance backend.')" /> - {{ t('spreed', 'Add a new high-performance backend server') }} + {{ t('spreed', 'Add high-performance backend server') }} - - - + + +
@@ -134,7 +141,7 @@ export default { newServer() { this.servers.push({ server: '', - verify: false, + verify: true, }) }, @@ -186,6 +193,6 @@ export default { } .additional-top-margin { - margin-top: 10px; + margin-top: 35px !important; } diff --git a/src/views/AdminSettings.vue b/src/views/AdminSettings.vue index 7717e807c0f..dff38506eca 100644 --- a/src/views/AdminSettings.vue +++ b/src/views/AdminSettings.vue @@ -5,18 +5,18 @@ From 7ec6dbdd5bf0f898e1cca190db5a92c486b37fc2 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Thu, 2 Jan 2025 15:24:39 +0100 Subject: [PATCH 3/3] fix: Fix product name casing and spelling Signed-off-by: Joas Schilling --- docs/internal-signaling.md | 2 +- lib/TInitialState.php | 2 +- src/components/AdminSettings/HostedSignalingServer.vue | 2 +- src/components/AdminSettings/RecordingServers.vue | 2 +- src/components/AdminSettings/SIPBridge.vue | 2 +- src/components/AdminSettings/SignalingServers.vue | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/internal-signaling.md b/docs/internal-signaling.md index ab490d77335..cd9d6dbf83e 100644 --- a/docs/internal-signaling.md +++ b/docs/internal-signaling.md @@ -53,4 +53,4 @@ Todo ### External signaling API -See [External signaling API](https://nextcloud-spreed-signaling.readthedocs.io/en/latest/) for the Signaling API of the High-Performance Backend. +See [External signaling API](https://nextcloud-spreed-signaling.readthedocs.io/en/latest/) for the Signaling API of the High-performance backend. diff --git a/lib/TInitialState.php b/lib/TInitialState.php index 8b6b5c5d0ee..4d519677ffa 100644 --- a/lib/TInitialState.php +++ b/lib/TInitialState.php @@ -45,7 +45,7 @@ protected function publishInitialStateShared(): void { if ($signalingMode === Config::SIGNALING_CLUSTER_CONVERSATION && !$this->memcacheFactory->isAvailable()) { throw new HintException( - 'High Performance Back-end clustering is only supported with a distributed cache!' + 'High-performance backend clustering is only supported with a distributed cache!' ); } diff --git a/src/components/AdminSettings/HostedSignalingServer.vue b/src/components/AdminSettings/HostedSignalingServer.vue index 80c9d564097..0b223bb257f 100644 --- a/src/components/AdminSettings/HostedSignalingServer.vue +++ b/src/components/AdminSettings/HostedSignalingServer.vue @@ -8,7 +8,7 @@ id="hosted_signaling_server" class="hosted-signaling section">

- {{ t('spreed', 'Hosted high-performance backend') }} + {{ t('spreed', 'Hosted High-performance backend') }}

diff --git a/src/components/AdminSettings/RecordingServers.vue b/src/components/AdminSettings/RecordingServers.vue index d9d8de43f2d..039c0986134 100644 --- a/src/components/AdminSettings/RecordingServers.vue +++ b/src/components/AdminSettings/RecordingServers.vue @@ -12,7 +12,7 @@ + :text="t('spreed', 'Recording backend configuration is only possible with a High-performance backend.')" />