|
|
|
@ -596,7 +596,10 @@ class LokiPublicChannelAPI {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async getMessengerData(adnMessage) {
|
|
|
|
|
if (!Array.isArray(adnMessage.annotations) || adnMessage.annotations.length === 0) {
|
|
|
|
|
if (
|
|
|
|
|
!Array.isArray(adnMessage.annotations) ||
|
|
|
|
|
adnMessage.annotations.length === 0
|
|
|
|
|
) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
const noteValue = adnMessage.annotations[0].value;
|
|
|
|
@ -615,7 +618,7 @@ class LokiPublicChannelAPI {
|
|
|
|
|
|
|
|
|
|
// try to verify signature
|
|
|
|
|
const { sig, sigver } = noteValue;
|
|
|
|
|
const annoCopy = [ ...adnMessage.annotations ];
|
|
|
|
|
const annoCopy = [...adnMessage.annotations];
|
|
|
|
|
// strip out sig and sigver
|
|
|
|
|
annoCopy[0] = _.omit(annoCopy[0], ['value.sig', 'value.sigver']);
|
|
|
|
|
const verifyObj = {
|
|
|
|
@ -627,9 +630,7 @@ class LokiPublicChannelAPI {
|
|
|
|
|
verifyObj.reply_to = adnMessage.reply_to;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const pubKeyBin = StringView.hexToArrayBuffer(
|
|
|
|
|
adnMessage.user.username
|
|
|
|
|
);
|
|
|
|
|
const pubKeyBin = StringView.hexToArrayBuffer(adnMessage.user.username);
|
|
|
|
|
const sigBin = StringView.hexToArrayBuffer(sig);
|
|
|
|
|
try {
|
|
|
|
|
await libsignal.Curve.async.verifySignature(
|
|
|
|
@ -668,8 +669,8 @@ class LokiPublicChannelAPI {
|
|
|
|
|
return {
|
|
|
|
|
timestamp,
|
|
|
|
|
quote,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// get channel messages
|
|
|
|
|
async pollForMessages() {
|
|
|
|
@ -706,7 +707,6 @@ class LokiPublicChannelAPI {
|
|
|
|
|
if (!res.err && res.response) {
|
|
|
|
|
let receivedAt = new Date().getTime();
|
|
|
|
|
res.response.data.reverse().forEach(async adnMessage => {
|
|
|
|
|
|
|
|
|
|
// still update our last received if deleted, not signed or not valid
|
|
|
|
|
this.lastGot = !this.lastGot
|
|
|
|
|
? adnMessage.id
|
|
|
|
@ -802,7 +802,6 @@ class LokiPublicChannelAPI {
|
|
|
|
|
|
|
|
|
|
// now process any user meta data updates
|
|
|
|
|
// - update their conversation with a potentially new avatar
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
this.conversation.setLastRetrievedMessage(this.lastGot);
|
|
|
|
|
}
|
|
|
|
|