Skip to content

Commit d4fb794

Browse files
committed
Fix sending messages
Made a horrible merge
1 parent baffedd commit d4fb794

File tree

1 file changed

+13
-30
lines changed

1 file changed

+13
-30
lines changed

Signal-Windows/ViewModels/MainPageViewModel.cs

Lines changed: 13 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -290,47 +290,30 @@ private async Task<bool> SendMessage(string messageText)
290290
using (await ActionInProgress.LockAsync())
291291
{
292292
Debug.WriteLine("keydown lock grabbed");
293+
294+
/* update in-memory data */
295+
SelectedThread.MessagesCount += 1;
296+
//View.Thread.RemoveUnreadMarker();
297+
var container = new SignalMessageContainer(message, (int)SelectedThread.MessagesCount - 1);
298+
View.Thread.Append(container, true);
293299
SelectedThread.LastMessage = message;
294300
SelectedThread.View.UpdateConversationDisplay(SelectedThread);
295301
MoveThreadToTop(SelectedThread);
302+
303+
/* save to disk */
296304
await Task.Run(() =>
297305
{
298306
SignalDBContext.SaveMessageLocked(message);
299307
SignalDBContext.ClearUnreadLocked(SelectedThread.ThreadId);
300308
});
309+
310+
/* update in-memory data with db results */
301311
SelectedThread.LastMessageId = message.Id;
302312
SelectedThread.LastSeenMessageId = message.Id;
303-
if (SelectedThread != null && SelectedThread.ThreadId == message.ThreadId)
304-
{
305-
Debug.WriteLine("keydown lock grabbed");
306-
307-
/* update in-memory data */
308-
SelectedThread.MessagesCount += 1;
309-
//View.Thread.RemoveUnreadMarker();
310-
var container = new SignalMessageContainer(message, (int)SelectedThread.MessagesCount - 1);
311-
View.Thread.Append(container, true);
312-
SelectedThread.LastMessage = message;
313-
SelectedThread.View.UpdateConversationDisplay(SelectedThread);
314-
MoveThreadToTop(SelectedThread);
315-
316-
/* save to disk */
317-
await Task.Run(() =>
318-
{
319-
SignalDBContext.SaveMessageLocked(message);
320-
SignalDBContext.ClearUnreadLocked(SelectedThread.ThreadId);
321-
});
322-
323-
/* update in-memory data with db results */
324-
SelectedThread.LastMessageId = message.Id;
325-
SelectedThread.LastSeenMessageId = message.Id;
326-
View.Thread.AddToOutgoingMessagesCache(container);
327-
328-
/* send */
329-
OutgoingQueue.Add(message);
330-
}
313+
View.Thread.AddToOutgoingMessagesCache(container);
314+
315+
/* send */
331316
OutgoingQueue.Add(message);
332-
var after = Util.CurrentTimeMillis();
333-
Debug.WriteLine("ms until out queue: " + (after - now));
334317
}
335318
Debug.WriteLine("keydown lock released");
336319
}

0 commit comments

Comments
 (0)