@@ -108,6 +108,9 @@ public async Task Send(SignalServiceMessageSender messageSender, CancellationTok
108
108
Attachments = outgoingAttachmentsList
109
109
} ;
110
110
111
+ UpdateExpiresAt ( OutgoingSignalMessage ) ;
112
+ DisappearingMessagesManager . QueueForDeletion ( OutgoingSignalMessage ) ;
113
+
111
114
if ( ! OutgoingSignalMessage . ThreadId . EndsWith ( "=" ) )
112
115
{
113
116
if ( ! token . IsCancellationRequested )
@@ -144,6 +147,25 @@ public async Task Send(SignalServiceMessageSender messageSender, CancellationTok
144
147
}
145
148
}
146
149
}
150
+
151
+ /// <summary>
152
+ /// Updates a message ExpiresAt to be a timestamp instead of a relative value.
153
+ /// </summary>
154
+ /// <param name="message">The message to update</param>
155
+ private void UpdateExpiresAt ( SignalMessage message )
156
+ {
157
+ // We update here instead of earlier because we only want to start the timer once the message is actually sent.
158
+ long messageExpiration ;
159
+ if ( message . ExpiresAt == 0 )
160
+ {
161
+ messageExpiration = 0 ;
162
+ }
163
+ else
164
+ {
165
+ messageExpiration = Util . CurrentTimeMillis ( ) + ( long ) TimeSpan . FromSeconds ( message . ExpiresAt ) . TotalMilliseconds ;
166
+ }
167
+ message . ExpiresAt = messageExpiration ;
168
+ }
147
169
}
148
170
149
171
class OutgoingMessages
@@ -173,13 +195,6 @@ public async Task HandleOutgoingMessages()
173
195
ISendable sendable = null ;
174
196
try
175
197
{
176
- if ( ! Token . IsCancellationRequested )
177
- {
178
- await MessageSender . SendMessage ( Token , new SignalServiceAddress ( outgoingSignalMessage . ThreadId ) , message ) ;
179
- UpdateExpiresAt ( outgoingSignalMessage ) ;
180
- DisappearingMessagesManager . QueueForDeletion ( outgoingSignalMessage ) ;
181
- outgoingSignalMessage . Status = SignalMessageStatus . Confirmed ;
182
- }
183
198
sendable = Handle . OutgoingQueue . Take ( Token ) ;
184
199
Logger . LogTrace ( $ "Sending { sendable . GetType ( ) . Name } ") ;
185
200
await sendable . Send ( messageSender , Token ) ;
@@ -200,10 +215,11 @@ public async Task HandleOutgoingMessages()
200
215
}
201
216
foreach ( UntrustedIdentityException e in identityExceptions )
202
217
{
203
- await SendMessage ( recipients , message ) ;
204
- UpdateExpiresAt ( outgoingSignalMessage ) ;
205
- DisappearingMessagesManager . QueueForDeletion ( outgoingSignalMessage ) ;
206
- outgoingSignalMessage . Status = SignalMessageStatus . Confirmed ;
218
+ // TODO: Not sure what to do with this.
219
+ //await SendMessage(recipients, message);
220
+ //UpdateExpiresAt(outgoingSignalMessage);
221
+ //DisappearingMessagesManager.QueueForDeletion(outgoingSignalMessage);
222
+ //outgoingSignalMessage.Status = SignalMessageStatus.Confirmed;
207
223
await Handle . HandleOutgoingKeyChangeLocked ( e . E164number , Base64 . EncodeBytes ( e . IdentityKey . serialize ( ) ) ) ;
208
224
}
209
225
}
@@ -241,24 +257,5 @@ public async Task HandleOutgoingMessages()
241
257
Logger . LogInformation ( "HandleOutgoingMessages() finished" ) ;
242
258
}
243
259
}
244
-
245
- /// <summary>
246
- /// Updates a message ExpiresAt to be a timestamp instead of a relative value.
247
- /// </summary>
248
- /// <param name="message">The message to update</param>
249
- private void UpdateExpiresAt ( SignalMessage message )
250
- {
251
- // We update here instead of earlier because we only want to start the timer once the message is actually sent.
252
- long messageExpiration ;
253
- if ( message . ExpiresAt == 0 )
254
- {
255
- messageExpiration = 0 ;
256
- }
257
- else
258
- {
259
- messageExpiration = Util . CurrentTimeMillis ( ) + ( long ) TimeSpan . FromSeconds ( message . ExpiresAt ) . TotalMilliseconds ;
260
- }
261
- message . ExpiresAt = messageExpiration ;
262
- }
263
260
}
264
261
}
0 commit comments