init() { loginPublisher .receive(on: DispatchQueue.main) .flatMap { user -> RealmPublishers.AsyncOpenPublisher in self.shouldIndicateActivity = true var realmConfig = user.configuration(partitionValue: "user=\(user.id)") realmConfig.objectTypes = [User.self, Project.self] return Realm.asyncOpen(configuration: realmConfig) } .receive(on: DispatchQueue.main) .map { self.shouldIndicateActivity = false return $0 } .subscribe(userRealmPublisher) .store(in: &self.cancellables) }