Skip to content

Commit

Permalink
Simplify capability checking
Browse files Browse the repository at this point in the history
Signed-off-by: Marcel Müller <[email protected]>
  • Loading branch information
SystemKeeper committed Sep 13, 2024
1 parent cd7cb2f commit bcbf52f
Showing 1 changed file with 7 additions and 17 deletions.
24 changes: 7 additions & 17 deletions NextcloudTalk/NCDatabaseManager.m
Original file line number Diff line number Diff line change
Expand Up @@ -506,28 +506,18 @@ - (void)setFederatedCapabilities:(NSDictionary *)federatedCapabilitiesDict forAc

- (BOOL)roomHasTalkCapability:(NSString *)capability forRoom:(NCRoom *)room
{
if (room.isFederated) {
FederatedCapabilities *federatedCapabilities = [self federatedCapabilitiesForAccountId:room.accountId remoteServer:room.remoteServer roomToken:room.token];
if (!room.isFederated) {
return [self serverHasTalkCapability:capability forAccountId:room.accountId];
}

if (federatedCapabilities) {
NSArray *talkFeatures = [federatedCapabilities.talkCapabilities valueForKey:@"self"];
if ([talkFeatures containsObject:capability]) {
return YES;
}
}
FederatedCapabilities *federatedCapabilities = [self federatedCapabilitiesForAccountId:room.accountId remoteServer:room.remoteServer roomToken:room.token];

if (!federatedCapabilities) {
return NO;
}

ServerCapabilities *serverCapabilities = [self serverCapabilitiesForAccountId:room.accountId];
if (serverCapabilities) {
NSArray *talkFeatures = [serverCapabilities.talkCapabilities valueForKey:@"self"];
if ([talkFeatures containsObject:capability]) {
return YES;
}
}

return NO;
NSArray *talkFeatures = [federatedCapabilities.talkCapabilities valueForKey:@"self"];
return [talkFeatures containsObject:capability];
}

- (TalkCapabilities * __nullable)roomTalkCapabilitiesForRoom:(NCRoom *)room
Expand Down

0 comments on commit bcbf52f

Please sign in to comment.