Updated with latest libSession fixes, minor logging tweaks

pull/976/head
Morgan Pretty 3 weeks ago
parent a5095b5965
commit afa93d3320

@ -1 +1 @@
Subproject commit 702302626d401d6954e67b60b28805c785be7a7c
Subproject commit 714230c0c8867ac8662603fd6debb5b4c4369ef1

@ -8034,7 +8034,7 @@
CLANG_WARN__ARC_BRIDGE_CAST_NONARC = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
CURRENT_PROJECT_VERSION = 448;
CURRENT_PROJECT_VERSION = 449;
ENABLE_BITCODE = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
@ -8112,7 +8112,7 @@
CLANG_WARN__ARC_BRIDGE_CAST_NONARC = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Distribution";
CURRENT_PROJECT_VERSION = 448;
CURRENT_PROJECT_VERSION = 449;
ENABLE_BITCODE = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;

@ -21,20 +21,26 @@ public enum FailedMessageSendsJob: JobExecutor {
var attachmentChangeCount: Int = -1
// Update all 'sending' message states to 'failed'
dependencies.storage.write { db in
let sendChangeCount: Int = try RecipientState
.filter(RecipientState.Columns.state == RecipientState.State.sending)
.updateAll(db, RecipientState.Columns.state.set(to: RecipientState.State.failed))
let syncChangeCount: Int = try RecipientState
.filter(RecipientState.Columns.state == RecipientState.State.syncing)
.updateAll(db, RecipientState.Columns.state.set(to: RecipientState.State.failedToSync))
attachmentChangeCount = try Attachment
.filter(Attachment.Columns.state == Attachment.State.uploading)
.updateAll(db, Attachment.Columns.state.set(to: Attachment.State.failedUpload))
changeCount = (sendChangeCount + syncChangeCount)
}
SNLog("[FailedMessageSendsJob] Marked \(changeCount) message\(changeCount == 1 ? "" : "s") as failed (\(attachmentChangeCount) upload\(attachmentChangeCount == 1 ? "" : "s") cancelled)")
success(job, false, dependencies)
dependencies.storage
.writePublisher(using: dependencies) { db in
let sendChangeCount: Int = try RecipientState
.filter(RecipientState.Columns.state == RecipientState.State.sending)
.updateAll(db, RecipientState.Columns.state.set(to: RecipientState.State.failed))
let syncChangeCount: Int = try RecipientState
.filter(RecipientState.Columns.state == RecipientState.State.syncing)
.updateAll(db, RecipientState.Columns.state.set(to: RecipientState.State.failedToSync))
attachmentChangeCount = try Attachment
.filter(Attachment.Columns.state == Attachment.State.uploading)
.updateAll(db, Attachment.Columns.state.set(to: Attachment.State.failedUpload))
changeCount = (sendChangeCount + syncChangeCount)
}
.subscribe(on: queue, using: dependencies)
.receive(on: queue, using: dependencies)
.sinkUntilComplete(
receiveCompletion: { _ in
SNLog("[FailedMessageSendsJob] Marked \(changeCount) message\(changeCount == 1 ? "" : "s") as failed (\(attachmentChangeCount) upload\(attachmentChangeCount == 1 ? "" : "s") cancelled)")
success(job, false, dependencies)
}
)
}
}

@ -71,7 +71,7 @@ public final class CurrentUserPoller: Poller {
let drainBehaviour: Atomic<SwarmDrainBehaviour> = drainBehaviour.wrappedValue[publicKey],
case .limitedReuse(_, .some(let targetSnode), _, _, _) = drainBehaviour.wrappedValue
{
SNLog("Main Poller polling \(targetSnode) failed with error: \(error); switching to next snode.")
SNLog("Main Poller polling \(targetSnode) failed with error: \(period: "\(error)"); switching to next snode.")
drainBehaviour.mutate { $0 = $0.clearTargetSnode() }
}
else {

@ -136,12 +136,16 @@ public extension LibSession {
guard let network: UnsafeMutablePointer<network_object> = networkCache.wrappedValue else { return }
network_close_connections(network)
network_suspend(network)
}
static func resumeNetworkAccess() {
isSuspended.mutate { $0 = false }
Log.info("[LibSession] resumeNetworkAccess called.")
guard let network: UnsafeMutablePointer<network_object> = networkCache.wrappedValue else { return }
network_resume(network)
}
static func clearSnodeCache() {

@ -79,11 +79,15 @@ public extension String {
public extension String.StringInterpolation {
mutating func appendInterpolation(plural value: Int) {
appendInterpolation(value == 1 ? "" : "s")
appendInterpolation(value == 1 ? "" : "s") // stringlint:disable
}
public mutating func appendInterpolation(period value: String) {
appendInterpolation(value.hasSuffix(".") ? "" : ".") // stringlint:disable
}
mutating func appendInterpolation(_ value: TimeUnit, unit: TimeUnit.Unit, resolution: Int = 2) {
appendLiteral("\(TimeUnit(value, unit: unit, resolution: resolution))")
appendLiteral("\(TimeUnit(value, unit: unit, resolution: resolution))") // stringlint:disable
}
mutating func appendInterpolation(_ value: Int, format: String) {

Loading…
Cancel
Save