wip
This commit is contained in:
parent
c02b0ce41f
commit
5689a9e342
|
@ -83,13 +83,19 @@ final class ClientsStore: ObservableObject {
|
|||
// MARK: - Login/Connections
|
||||
extension ClientsStore {
|
||||
func tryLogin(_ jidStr: String, _ pass: String) async throws {
|
||||
// login with fake timeout
|
||||
async let sleep: Void? = try? await Task.sleep(nanoseconds: 1 * NSEC_PER_SEC)
|
||||
async let request = try await Client.tryLogin(with: .init(bareJid: jidStr, pass: pass, isActive: true))
|
||||
let client = try await(request, sleep).0
|
||||
if let client = clients.first(where: { $0.credentials.bareJid == jidStr }) {
|
||||
// check if credentials already exist and enable it
|
||||
// this change will invoke reconnect automatically
|
||||
try? await client.credentials.setActive(flag: true)
|
||||
} else {
|
||||
// new client login with fake timeout
|
||||
async let sleep: Void? = try? await Task.sleep(nanoseconds: 1 * NSEC_PER_SEC)
|
||||
async let request = try await Client.tryLogin(with: .init(bareJid: jidStr, pass: pass, isActive: true))
|
||||
let client = try await(request, sleep).0
|
||||
|
||||
clients.append(client)
|
||||
try? await client.credentials.save()
|
||||
clients.append(client)
|
||||
try? await client.credentials.save()
|
||||
}
|
||||
}
|
||||
|
||||
private func reconnectNeeded() {
|
||||
|
|
Loading…
Reference in a new issue