mv-experiment #1
|
@ -230,17 +230,17 @@ extension ClientMartinOMEMO: SignalPreKeyStoreProtocol {
|
||||||
sql: """
|
sql: """
|
||||||
DELETE FROM omemo_pre_keys
|
DELETE FROM omemo_pre_keys
|
||||||
WHERE account = :account
|
WHERE account = :account
|
||||||
AND id IN
|
AND id IN (
|
||||||
(SELECT id
|
SELECT id
|
||||||
FROM omemo_pre_keys
|
FROM omemo_pre_keys
|
||||||
WHERE account = :account
|
WHERE account = :account
|
||||||
AND id NOT IN (
|
AND id NOT IN (
|
||||||
SELECT id
|
SELECT id
|
||||||
FROM omemo_pre_keys
|
FROM omemo_pre_keys
|
||||||
WHERE account = :account
|
WHERE account = :account
|
||||||
ORDER BY id DESC
|
ORDER BY id DESC
|
||||||
LIMIT 100)
|
LIMIT 100)
|
||||||
)
|
)
|
||||||
""",
|
""",
|
||||||
arguments: ["account": credentials.bareJid]
|
arguments: ["account": credentials.bareJid]
|
||||||
)
|
)
|
||||||
|
@ -362,7 +362,40 @@ extension ClientMartinOMEMO: SignalSignedPreKeyStoreProtocol {
|
||||||
|
|
||||||
// MARK: - Identity
|
// MARK: - Identity
|
||||||
extension ClientMartinOMEMO: SignalIdentityKeyStoreProtocol {
|
extension ClientMartinOMEMO: SignalIdentityKeyStoreProtocol {
|
||||||
|
// func regenerateKeys(wipe: Bool = false) -> Bool {
|
||||||
|
// if wipe {
|
||||||
|
// wipeSignedPreKeys()
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// if wipe {
|
||||||
|
// DBOMEMOStore.instance.wipe(forAccount: context!.sessionObject.userBareJid!)
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// let hasKeyPair = identityKeyStore.keyPair() != nil
|
||||||
|
// if wipe || identityKeyStore.localRegistrationId() == 0 || !hasKeyPair {
|
||||||
|
// let regId: UInt32 = signalContext.generateRegistrationId()
|
||||||
|
// AccountSettings.omemoRegistrationId(for: context!.sessionObject.userBareJid!, value: regId)
|
||||||
|
//
|
||||||
|
// let keyPair = SignalIdentityKeyPair.generateKeyPair(context: signalContext)
|
||||||
|
// if !identityKeyStore.save(identity: SignalAddress(name: context!.sessionObject.userBareJid!.stringValue, deviceId: Int32(identityKeyStore.localRegistrationId())), key: keyPair) {}
|
||||||
|
// }
|
||||||
|
// return true
|
||||||
|
// }
|
||||||
|
|
||||||
func keyPair() -> (any MartinOMEMO.SignalIdentityKeyPairProtocol)? {
|
func keyPair() -> (any MartinOMEMO.SignalIdentityKeyPairProtocol)? {
|
||||||
|
// guard let deviceId = localRegistrationId(forAccount: account) else {
|
||||||
|
// return nil
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// guard
|
||||||
|
// let data = try! Database.main.reader({ database in
|
||||||
|
// try database.select(query: .omemoKeyPairForAccount, params: ["account": account, "name": account.stringValue, "deviceId": deviceId]).mapFirst { $0.data(for: "key") }
|
||||||
|
// })
|
||||||
|
// else {
|
||||||
|
// return nil
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// return SignalIdentityKeyPair(fromKeyPairData: data)
|
||||||
nil
|
nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -93,14 +93,14 @@ extension Database {
|
||||||
table.primaryKey(["account", "id"], onConflict: .replace)
|
table.primaryKey(["account", "id"], onConflict: .replace)
|
||||||
}
|
}
|
||||||
|
|
||||||
try db.alter(table: "chats") { table in
|
// try db.alter(table: "chats") { table in
|
||||||
table.add(column: "encryption", .text)
|
// table.add(column: "encryption", .text)
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
try db.alter(table: "chat_history") { table in
|
// try db.alter(table: "chat_history") { table in
|
||||||
table.add(column: "encryption", .integer)
|
// table.add(column: "encryption", .integer)
|
||||||
table.add(column: "fingerprint", .text)
|
// table.add(column: "fingerprint", .text)
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
// return migrator
|
// return migrator
|
||||||
|
|
Loading…
Reference in a new issue