|
20 | 20 | using Windows.Networking.BackgroundTransfer;
|
21 | 21 | using Windows.Storage;
|
22 | 22 | using Windows.Web;
|
| 23 | +using libsignalservice.push; |
| 24 | +using Strilanc.Value; |
| 25 | +using libsignalservice.messages.multidevice; |
23 | 26 |
|
24 | 27 | namespace Signal_Windows.Lib
|
25 | 28 | {
|
@@ -50,7 +53,7 @@ public interface ISignalLibHandle
|
50 | 53 | //Frontend API
|
51 | 54 | SignalStore Store { get; set; }
|
52 | 55 | Task SendMessage(SignalMessage message, SignalConversation conversation);
|
53 |
| - Task SetMessageRead(long index, SignalConversation conversation); |
| 56 | + Task SetMessageRead(long index, SignalMessage message, SignalConversation conversation); |
54 | 57 | void ResendMessage(SignalMessage message);
|
55 | 58 | List<SignalMessageContainer> GetMessages(SignalConversation thread, int startIndex, int count);
|
56 | 59 | void SaveAndDispatchSignalConversation(SignalConversation updatedConversation, SignalMessage updateMessage);
|
@@ -331,14 +334,17 @@ await Task.Run(() =>
|
331 | 334 | /// Marks and dispatches a message as read. Must not be called on a task which holds the handle lock.
|
332 | 335 | /// </summary>
|
333 | 336 | /// <param name="message"></param>
|
334 |
| - public async Task SetMessageRead(long index, SignalConversation conversation) |
| 337 | + public async Task SetMessageRead(long index, SignalMessage message, SignalConversation conversation) |
335 | 338 | {
|
336 | 339 | Logger.LogTrace("SetMessageRead() locking");
|
337 | 340 | await SemaphoreSlim.WaitAsync(CancelSource.Token);
|
338 | 341 | try
|
339 | 342 | {
|
340 | 343 | Logger.LogTrace("SetMessageRead() locked");
|
341 | 344 | conversation = SignalDBContext.UpdateMessageRead(index, conversation);
|
| 345 | + OutgoingMessages.SendMessage(SignalServiceSyncMessage.forRead(new List<ReadMessage>() { |
| 346 | + new ReadMessage(message.Author.ThreadId, message.ComposedTimestamp) |
| 347 | + })); |
342 | 348 | await DispatchMessageRead(index, conversation);
|
343 | 349 | }
|
344 | 350 | finally
|
|
0 commit comments