Skip to content

Commit

Permalink
Merge pull request #1800 from nextcloud/simplify-capability-check
Browse files Browse the repository at this point in the history
Simplify capability checking
  • Loading branch information
Ivansss authored Sep 13, 2024
2 parents cd7cb2f + bcbf52f commit 995395e
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 995395e

Please sign in to comment.