fix: self-send messages now send to yourself only and aren't treated as sync messages

This commit is contained in:
Jubb 2021-02-15 17:35:56 +11:00
parent a44a79e59f
commit a63fce4ca6
2 changed files with 12 additions and 10 deletions

View File

@ -287,11 +287,12 @@ public class PushMediaSendJob extends PushSendJob implements InjectableType {
if (SessionMetaProtocol.shared.isNoteToSelf(address.getNumber())) { if (SessionMetaProtocol.shared.isNoteToSelf(address.getNumber())) {
// Loki - Device link messages don't go through here // Loki - Device link messages don't go through here
Optional<UnidentifiedAccessPair> syncAccess = UnidentifiedAccessUtil.getAccessForSync(context); SendMessageResult result = messageSender.sendMessage(messageId, address, unidentifiedAccessPair, mediaMessage);
SignalServiceSyncMessage syncMessage = buildSelfSendSyncMessage(context, mediaMessage, syncAccess); if (result.getLokiAPIError() != null) {
throw result.getLokiAPIError();
messageSender.sendMessage(syncMessage, syncAccess); } else {
return syncAccess.isPresent(); return result.getSuccess().isUnidentified();
}
} else { } else {
SendMessageResult result = messageSender.sendMessage(messageId, address, unidentifiedAccessPair, mediaMessage); SendMessageResult result = messageSender.sendMessage(messageId, address, unidentifiedAccessPair, mediaMessage);
if (result.getLokiAPIError() != null) { if (result.getLokiAPIError() != null) {

View File

@ -226,11 +226,12 @@ public class PushTextSendJob extends PushSendJob implements InjectableType {
if (SessionMetaProtocol.shared.isNoteToSelf(address.getNumber())) { if (SessionMetaProtocol.shared.isNoteToSelf(address.getNumber())) {
// Loki - Device link messages don't go through here // Loki - Device link messages don't go through here
Optional<UnidentifiedAccessPair> syncAccess = UnidentifiedAccessUtil.getAccessForSync(context); SendMessageResult result = messageSender.sendMessage(messageId, address, unidentifiedAccess, textSecureMessage);
SignalServiceSyncMessage syncMessage = buildSelfSendSyncMessage(context, textSecureMessage, syncAccess); if (result.getLokiAPIError() != null) {
throw result.getLokiAPIError();
messageSender.sendMessage(syncMessage, syncAccess); } else {
return syncAccess.isPresent(); return result.getSuccess().isUnidentified();
}
} else { } else {
SendMessageResult result = messageSender.sendMessage(messageId, address, unidentifiedAccess, textSecureMessage); SendMessageResult result = messageSender.sendMessage(messageId, address, unidentifiedAccess, textSecureMessage);
if (result.getLokiAPIError() != null) { if (result.getLokiAPIError() != null) {