Support for Contact Discovery Service
This commit is contained in:
parent
f6dcf91dbf
commit
8290881bd8
21 changed files with 961 additions and 79 deletions
|
@ -230,10 +230,14 @@
|
|||
});
|
||||
|
||||
let messageReceiver;
|
||||
let preMessageReceiverStatus;
|
||||
window.getSocketStatus = () => {
|
||||
if (messageReceiver) {
|
||||
return messageReceiver.getStatus();
|
||||
}
|
||||
if (_.isNumber(preMessageReceiverStatus)) {
|
||||
return preMessageReceiverStatus;
|
||||
}
|
||||
return -1;
|
||||
};
|
||||
Whisper.events = _.clone(Backbone.Events);
|
||||
|
@ -1633,6 +1637,8 @@
|
|||
return;
|
||||
}
|
||||
|
||||
preMessageReceiverStatus = WebSocket.CONNECTING;
|
||||
|
||||
if (messageReceiver) {
|
||||
await messageReceiver.stopProcessing();
|
||||
|
||||
|
@ -1647,6 +1653,52 @@
|
|||
const PASSWORD = storage.get('password');
|
||||
const mySignalingKey = storage.get('signaling_key');
|
||||
|
||||
window.textsecure.messaging = new textsecure.MessageSender(
|
||||
USERNAME || OLD_USERNAME,
|
||||
PASSWORD
|
||||
);
|
||||
|
||||
try {
|
||||
if (connectCount === 0) {
|
||||
const lonelyE164s = window
|
||||
.getConversations()
|
||||
.filter(
|
||||
c =>
|
||||
c.isPrivate() &&
|
||||
c.get('e164') &&
|
||||
!c.get('uuid') &&
|
||||
!c.isEverUnregistered()
|
||||
)
|
||||
.map(c => c.get('e164'));
|
||||
|
||||
if (lonelyE164s.length > 0) {
|
||||
const lookup = await textsecure.messaging.getUuidsForE164s(
|
||||
lonelyE164s
|
||||
);
|
||||
const e164s = Object.keys(lookup);
|
||||
e164s.forEach(e164 => {
|
||||
const uuid = lookup[e164];
|
||||
if (!uuid) {
|
||||
const byE164 = window.ConversationController.get(e164);
|
||||
if (byE164) {
|
||||
byE164.setUnregistered();
|
||||
}
|
||||
}
|
||||
window.ConversationController.ensureContactIds({
|
||||
e164,
|
||||
uuid,
|
||||
highTrust: true,
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
window.log.error(
|
||||
'Error fetching UUIDs for lonely e164s:',
|
||||
error && error.stack ? error.stack : error
|
||||
);
|
||||
}
|
||||
|
||||
connectCount += 1;
|
||||
const options = {
|
||||
retryCached: connectCount === 1,
|
||||
|
@ -1667,6 +1719,8 @@
|
|||
);
|
||||
window.textsecure.messageReceiver = messageReceiver;
|
||||
|
||||
preMessageReceiverStatus = null;
|
||||
|
||||
function addQueuedEventListener(name, handler) {
|
||||
messageReceiver.addEventListener(name, (...args) =>
|
||||
eventHandlerQueue.add(async () => {
|
||||
|
@ -1709,11 +1763,6 @@
|
|||
logger: window.log,
|
||||
});
|
||||
|
||||
window.textsecure.messaging = new textsecure.MessageSender(
|
||||
USERNAME || OLD_USERNAME,
|
||||
PASSWORD
|
||||
);
|
||||
|
||||
if (connectCount === 1) {
|
||||
window.Signal.Stickers.downloadQueuedPacks();
|
||||
await window.textsecure.messaging.sendRequestKeySyncMessage();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue