Skip to content

Commit bbfb0ca

Browse files
committed
mark pending messages failed on mainpage init
fixes #65
1 parent 0adcc88 commit bbfb0ca

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

Signal-Windows/Storage/DB.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -654,6 +654,20 @@ public static void Migrate()
654654

655655
#region Messages
656656

657+
public static void FailAllPendingMessages()
658+
{
659+
lock (DBLock)
660+
{
661+
using (var ctx = new SignalDBContext())
662+
{
663+
var messages = ctx.Messages
664+
.Where(m => m.Direction == SignalMessageDirection.Outgoing && m.Status == SignalMessageStatus.Pending).ToList();
665+
messages.ForEach(m => m.Status = SignalMessageStatus.Failed_Unknown);
666+
ctx.SaveChanges();
667+
}
668+
}
669+
}
670+
657671
public static LinkedList<SignalMessage> InsertIdentityChangedMessages(string number)
658672
{
659673
long now = Util.CurrentTimeMillis();

Signal-Windows/ViewModels/MainPageViewModel.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ public async Task Init()
108108
{
109109
await Task.Run(async () =>
110110
{
111+
SignalDBContext.FailAllPendingMessages();
111112
List<SignalContact> contacts = SignalDBContext.GetAllContactsLocked();
112113
List<SignalGroup> groups = SignalDBContext.GetAllGroupsLocked();
113114
await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>

0 commit comments

Comments
 (0)