mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-08-19 12:49:54 +01:00
Fix group send with sender key failure due to mistmatch identity.
This commit is contained in:
@@ -3646,14 +3646,14 @@ public class ConversationActivity extends PassphraseRequiredActivity
|
||||
|
||||
@Override
|
||||
public void onMessageWithErrorClicked(@NonNull MessageRecord messageRecord) {
|
||||
if (messageRecord.hasFailedWithNetworkFailures()) {
|
||||
if (messageRecord.isIdentityMismatchFailure()) {
|
||||
SafetyNumberChangeDialog.show(this, messageRecord);
|
||||
} else if (messageRecord.hasFailedWithNetworkFailures()) {
|
||||
new AlertDialog.Builder(this)
|
||||
.setMessage(R.string.conversation_activity__message_could_not_be_sent)
|
||||
.setNegativeButton(android.R.string.cancel, null)
|
||||
.setPositiveButton(R.string.conversation_activity__send, (dialog, which) -> MessageSender.resend(this, messageRecord))
|
||||
.show();
|
||||
} else if (messageRecord.isIdentityMismatchFailure()) {
|
||||
SafetyNumberChangeDialog.show(this, messageRecord);
|
||||
} else {
|
||||
startActivity(MessageDetailsActivity.getIntentForMessageDetails(this, messageRecord, messageRecord.getRecipient().getId(), messageRecord.getThreadId()));
|
||||
}
|
||||
|
||||
+4
-4
@@ -1745,12 +1745,12 @@ public class SignalServiceMessageSender {
|
||||
.filter(r -> !r.isSuccess())
|
||||
.collect(Collectors.toList());
|
||||
|
||||
Set<SignalServiceAddress> failedAddresses = trueFailures.stream()
|
||||
.map(SendMessageResult::getAddress)
|
||||
.collect(Collectors.toSet());
|
||||
Set<ACI> failedAddresses = trueFailures.stream()
|
||||
.map(result -> result.getAddress().getAci())
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
List<SendMessageResult> fakeNetworkFailures = recipients.stream()
|
||||
.filter(r -> !failedAddresses.contains(r))
|
||||
.filter(r -> !failedAddresses.contains(r.getAci()))
|
||||
.map(SendMessageResult::networkFailure)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user