Skip to content

Commit

Permalink
fix(desktop): Also require a desktop client version
Browse files Browse the repository at this point in the history
Signed-off-by: Joas Schilling <[email protected]>
  • Loading branch information
nickvergessen committed Jan 16, 2025
1 parent 157ba59 commit fb333eb
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion lib/Middleware/CanUseTalkMiddleware.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@
class CanUseTalkMiddleware extends Middleware {
public const TALK_DESKTOP_MIN_VERSION = '0.6.0';
public const TALK_DESKTOP_MIN_VERSION_RECORDING_CONSENT = '0.16.0';
public const TALK_DESKTOP_MIN_VERSION_E2EE_CALLS = '1.1.0';

public const TALK_ANDROID_MIN_VERSION = '15.0.0';
public const TALK_ANDROID_MIN_VERSION_RECORDING_CONSENT = '18.0.0';
public const TALK_ANDROID_MIN_VERSION_E2EE_CALLS = '22.0.0';
Expand Down Expand Up @@ -134,7 +136,9 @@ protected function throwIfUnsupportedClientVersion(string $client, string $userA
$versionRegex = IRequest::USER_AGENT_TALK_DESKTOP;
$minVersion = self::TALK_DESKTOP_MIN_VERSION;

if ($this->talkConfig->recordingConsentRequired()) {
if ($this->talkConfig->isCallEndToEndEncryptionEnabled()) {
$minVersion = self::TALK_DESKTOP_MIN_VERSION_E2EE_CALLS;
} elseif ($this->talkConfig->recordingConsentRequired()) {
$minVersion = self::TALK_DESKTOP_MIN_VERSION_RECORDING_CONSENT;
}
} elseif ($client === 'android') {
Expand Down Expand Up @@ -163,6 +167,10 @@ protected function throwIfUnsupportedClientVersion(string $client, string $userA

if (isset($matches[1])) {
$clientVersion = $matches[1];
if (str_contains($clientVersion, '-')) {
// Claim pre-releases being compatible with the final releases
$clientVersion = substr($clientVersion, 0, strpos($clientVersion, '-'));
}

// API requirement and safety net
if (version_compare($clientVersion, $minVersion, '<')) {
Expand Down

0 comments on commit fb333eb

Please sign in to comment.