From 7336f0fb725ac2f441d8c6d57acde527995159ba Mon Sep 17 00:00:00 2001 From: Peter <> Date: Mon, 20 May 2019 19:03:38 +0200 Subject: [PATCH 1/4] Temporarily fix access to upper.groupInfo --- Postbox/MessageHistoryTable.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Postbox/MessageHistoryTable.swift b/Postbox/MessageHistoryTable.swift index 101ae0c548..5c9e1dcb0c 100644 --- a/Postbox/MessageHistoryTable.swift +++ b/Postbox/MessageHistoryTable.swift @@ -873,7 +873,9 @@ final class MessageHistoryTable: Table { if let lower = lower, let upper = upper, let groupInfo = lower.groupInfo, lower.groupingKey == upper.groupingKey { assert(upper.groupInfo != nil) if lower.groupInfo != upper.groupInfo { - self.updateSameGroupInfosInNamespace(lowerBound: index, from: upper.groupInfo!, to: groupInfo, updatedGroupInfos: &updatedGroupInfos) + if let upperGroupInfo = upper.groupInfo { + self.updateSameGroupInfosInNamespace(lowerBound: index, from: groupInfo, to: upperGroupInfo, updatedGroupInfos: &updatedGroupInfos) + } } } } From eab4236dd333dbd84d0c08b4c23806f9301fafd6 Mon Sep 17 00:00:00 2001 From: Peter <> Date: Mon, 20 May 2019 22:45:03 +0200 Subject: [PATCH 2/4] SqliteValueBox: temporary ignore "begin immediate" errors in production --- Postbox/SqliteValueBox.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Postbox/SqliteValueBox.swift b/Postbox/SqliteValueBox.swift index 093824aa32..710f1f1e60 100644 --- a/Postbox/SqliteValueBox.swift +++ b/Postbox/SqliteValueBox.swift @@ -438,7 +438,7 @@ public final class SqliteValueBox: ValueBox { private func beginInternal(database: Database) { precondition(self.queue.isCurrent()) let resultCode = database.execute("BEGIN IMMEDIATE") - precondition(resultCode) + assert(resultCode) } private func commitInternal(database: Database) { From 3cbd004e0f7f13d50144d582ed5cca21fa428e31 Mon Sep 17 00:00:00 2001 From: Peter <> Date: Tue, 21 May 2019 00:19:22 +0200 Subject: [PATCH 3/4] Remove debugging --- Postbox/Postbox.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Postbox/Postbox.swift b/Postbox/Postbox.swift index 31c2786e3e..0ee3237d23 100644 --- a/Postbox/Postbox.swift +++ b/Postbox/Postbox.swift @@ -935,7 +935,7 @@ public func openPostbox(basePath: String, seedConfiguration: SeedConfiguration, #if DEBUG //debugSaveState(basePath: basePath, name: "previous1") - debugRestoreState(basePath: basePath, name: "previous1") + //debugRestoreState(basePath: basePath, name: "previous1") #endif let startTime = CFAbsoluteTimeGetCurrent() From e1715a2ccb817cb4eed2ef514158d4aefd8b4d89 Mon Sep 17 00:00:00 2001 From: Peter <> Date: Tue, 21 May 2019 15:51:16 +0200 Subject: [PATCH 4/4] Change struct to class --- Postbox/AccountManagerAtomicState.swift | 2 +- Postbox/AccountRecord.swift | 4 ++-- Postbox/Postbox.swift | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Postbox/AccountManagerAtomicState.swift b/Postbox/AccountManagerAtomicState.swift index c1ccf1d038..4af41ff6d9 100644 --- a/Postbox/AccountManagerAtomicState.swift +++ b/Postbox/AccountManagerAtomicState.swift @@ -1,6 +1,6 @@ import Foundation -struct AccountManagerAtomicState: Codable { +final class AccountManagerAtomicState: Codable { var records: [AccountRecordId: AccountRecord] var currentRecordId: AccountRecordId? var currentAuthRecord: AuthAccountRecord? diff --git a/Postbox/AccountRecord.swift b/Postbox/AccountRecord.swift index 3589f826c2..9b8f2c5681 100644 --- a/Postbox/AccountRecord.swift +++ b/Postbox/AccountRecord.swift @@ -1,6 +1,6 @@ import Foundation -public protocol AccountRecordAttribute: PostboxCoding { +public protocol AccountRecordAttribute: class, PostboxCoding { func isEqual(to: AccountRecordAttribute) -> Bool } @@ -34,7 +34,7 @@ public func generateAccountRecordId() -> AccountRecordId { return AccountRecordId(rawValue: id) } -public struct AccountRecord: PostboxCoding, Equatable, Codable { +public final class AccountRecord: PostboxCoding, Equatable, Codable { enum CodingKeys: String, CodingKey { case id case attributes diff --git a/Postbox/Postbox.swift b/Postbox/Postbox.swift index 0ee3237d23..31c2786e3e 100644 --- a/Postbox/Postbox.swift +++ b/Postbox/Postbox.swift @@ -935,7 +935,7 @@ public func openPostbox(basePath: String, seedConfiguration: SeedConfiguration, #if DEBUG //debugSaveState(basePath: basePath, name: "previous1") - //debugRestoreState(basePath: basePath, name: "previous1") + debugRestoreState(basePath: basePath, name: "previous1") #endif let startTime = CFAbsoluteTimeGetCurrent()