summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/capabilities.md4
-rw-r--r--docs/settings.md2
-rw-r--r--lib/Capabilities.php9
-rw-r--r--lib/Config.php5
4 files changed, 9 insertions, 11 deletions
diff --git a/docs/capabilities.md b/docs/capabilities.md
index 5c0fc2df3..93b176e47 100644
--- a/docs/capabilities.md
+++ b/docs/capabilities.md
@@ -108,7 +108,7 @@ title: Capabilities
## 16
* `breakout-rooms-v1` - Whether breakout-rooms API v1 is available
-* `config => call => breakout-rooms` - Whether breakout rooms are enabled on this instance
* `avatar` - Avatar of conversation
* `recording-v1` - Call recording is available.
-* `config => call => recording` - Call recording is enabled. Only if app setting `call_recording` is equal to `yes` and isn't signaling internal.
+* `config => call => breakout-rooms` - Whether breakout rooms are enabled on this instance
+* `config => call => recording` - Whether calls can be recorded (requires the High-performance backend server)
diff --git a/docs/settings.md b/docs/settings.md
index b62e41e73..be65f4a7c 100644
--- a/docs/settings.md
+++ b/docs/settings.md
@@ -88,8 +88,8 @@ Option legend:
| `hide_signaling_warning` | string<br>`yes` or `no` | `no` | 🖌️ | Flag that allows to suppress the warning that an HPB should be configured |
| `signaling_dev` | string<br>`yes` or `no` | `no` | | Developer flag that allows to suppress various requirements like a Redis server when using the HPB |
| `breakout_rooms` | string<br>`yes` or `no` | `yes` | | Whether or not breakout rooms are allowed (Will only prevent creating new breakout rooms. Existing conversations are not modified.) |
+| `call_recording` | string<br>`yes` or `no` | `yes` | | Enable call recording |
| `federation_enabled` | string<br>`yes` or `no` | `no` | | 🏗️ *Work in progress:* Whether or not federation with this instance is allowed |
| `conversations_files` | string<br>`1` or `0` | `1` | 🖌️ | Whether the files app integration is enabled allowing to start conversations in the right sidebar |
| `conversations_files_public_shares` | string<br>`1` or `0` | `1` | 🖌️ | Whether the public share integration is enabled allowing to start conversations in the right sidebar on the public share page (Requires `conversations_files` also to be enabled) |
| `enable_matterbridge` | string<br>`1` or `0` | `0` | 🖌️ | Whether the matterbridge integration is enabled and can be configured |
-| `call_recording` | string<br>`yes` or `no` | `yes` | | Enable call recording |
diff --git a/lib/Capabilities.php b/lib/Capabilities.php
index a60b0c94f..31581a6b1 100644
--- a/lib/Capabilities.php
+++ b/lib/Capabilities.php
@@ -123,12 +123,15 @@ class Capabilities implements IPublicCapability {
'call' => [
'enabled' => ((int) $this->serverConfig->getAppValue('spreed', 'start_calls', Room::START_CALL_EVERYONE)) !== Room::START_CALL_NOONE,
'breakout-rooms' => $this->talkConfig->isBreakoutRoomsEnabled(),
+ 'recording' => $this->talkConfig->isRecordingEnabled(),
],
'chat' => [
'max-length' => ChatManager::MAX_CHAT_LENGTH,
'read-privacy' => Participant::PRIVACY_PUBLIC,
],
- 'conversations' => [],
+ 'conversations' => [
+ 'can-create' => $user instanceof IUser && !$this->talkConfig->isNotAllowedToCreateConversations($user)
+ ],
'previews' => [
'max-gif-size' => (int)$this->serverConfig->getAppValue('spreed', 'max-gif-size', '3145728'),
],
@@ -147,15 +150,11 @@ class Capabilities implements IPublicCapability {
$capabilities['features'][] = 'reactions';
}
- $capabilities['config']['call']['recording'] = $this->talkConfig->isRecordingEnabled();
-
if ($user instanceof IUser) {
$capabilities['config']['attachments']['folder'] = $this->talkConfig->getAttachmentFolder($user->getUID());
$capabilities['config']['chat']['read-privacy'] = $this->talkConfig->getUserReadPrivacy($user->getUID());
}
- $capabilities['config']['conversations']['can-create'] = $user instanceof IUser && !$this->talkConfig->isNotAllowedToCreateConversations($user);
-
$pubKey = $this->talkConfig->getSignalingTokenPublicKey();
if ($pubKey) {
$capabilities['config']['signaling']['hello-v2-token-key'] = $pubKey;
diff --git a/lib/Config.php b/lib/Config.php
index 3c374f986..7e8728925 100644
--- a/lib/Config.php
+++ b/lib/Config.php
@@ -138,10 +138,9 @@ class Config {
public function isRecordingEnabled(): bool {
$isSignalingInternal = $this->getSignalingMode() === self::SIGNALING_INTERNAL;
- $callRecordingCapability = $this->config->getAppValue('spreed', 'call_recording', 'yes');
- $recordingEnabled = $callRecordingCapability === 'yes';
+ $recordingAllowed = $this->config->getAppValue('spreed', 'call_recording', 'yes') === 'yes';
- return !$isSignalingInternal && $recordingEnabled;
+ return !$isSignalingInternal && $recordingAllowed;
}
public function isDisabledForUser(IUser $user): bool {