Remove no longer existing account id from configured vfs accounts list
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Tue, 25 Jun 2024 10:54:15 +0000 (18:54 +0800)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Wed, 26 Jun 2024 07:36:35 +0000 (15:36 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
src/gui/macOS/fileproviderdomainmanager_mac.mm

index 60d6559913eaa53aba86d52b39911a68bf656a94..64e49163dc94dc43afa50269ba6810bf6b98db02 100644 (file)
@@ -453,6 +453,7 @@ void FileProviderDomainManager::updateFileProviderDomains()
     auto configuredDomains = d->configuredDomainIds();
 
     for (const auto &accountUserIdAtHost : vfsEnabledAccounts) {
+        // If the domain has already been set up for this account, then don't set it up again
         if (configuredDomains.contains(accountUserIdAtHost)) {
             configuredDomains.removeAll(accountUserIdAtHost);
             continue;
@@ -460,6 +461,10 @@ void FileProviderDomainManager::updateFileProviderDomains()
 
         if (const auto accountState = AccountManager::instance()->accountFromUserId(accountUserIdAtHost)) {
             addFileProviderDomainForAccount(accountState.data());
+        } else {
+            qCWarning(lcMacFileProviderDomainManager) << "Could not find account for file provider domain:" << accountUserIdAtHost
+                                                      << "removing account from list of vfs-enabled accounts.";
+            FileProviderSettingsController::instance()->setVfsEnabledForAccount(accountUserIdAtHost, false);
         }
     }