Browse Source

fix forward

bugfix/timeout-logging
Evan Feenstra 5 years ago
parent
commit
b293ca6b4f
  1. 3
      api/controllers/chatTribes.ts
  2. 4
      api/network/receive.ts
  3. 4
      api/network/send.ts
  4. 3
      dist/api/controllers/chatTribes.js
  5. 2
      dist/api/controllers/chatTribes.js.map
  6. 4
      dist/api/network/receive.js
  7. 2
      dist/api/network/receive.js.map
  8. 4
      dist/api/network/send.js
  9. 2
      dist/api/network/send.js.map

3
api/controllers/chatTribes.ts

@ -198,10 +198,11 @@ async function replayChatHistory(chat, contact) {
msg = await decryptMessage(msg, chat)
const data = await personalizeMessage(msg, contact, true)
const mqttTopic = `${contact.publicKey}/${chat.uuid}`
const replayingHistory = true
await network.signAndSend({
data,
dest: contact.publicKey,
}, mqttTopic)
}, mqttTopic, replayingHistory)
})
}

4
api/network/receive.ts

@ -129,8 +129,10 @@ async function forwardMessageToTribe(ogpayload, sender){
console.log('forwardMessageToTribe',ogpayload)
const chat = await models.Chat.findOne({where:{uuid:ogpayload.chat.uuid}})
console.log('chat.contactIds',chat.contactIds)
let contactIds = JSON.parse(chat.contactIds||'[]')
contactIds = contactIds.filter(cid=>cid!==sender.id)
console.log('contactIds',contactIds)
if(contactIds.length===0) {
return // totally skip if only send is in tribe
}
@ -154,7 +156,7 @@ async function forwardMessageToTribe(ogpayload, sender){
...owner.dataValues,
...payload.sender&&payload.sender.alias && {alias:payload.sender.alias}
},
chat: {...chat.dataValues, contactIds:[sender.id]},
chat: {...chat.dataValues, contactIds},
skipPubKey: payload.sender.pub_key,
success: ()=>{},
receive: ()=>{}

4
api/network/send.ts

@ -90,7 +90,7 @@ export async function sendMessage(params) {
}
}
export function signAndSend(opts, mqttTopic?:string){
export function signAndSend(opts, mqttTopic?:string, replayingHistory?:boolean){
// console.log('sign and send!',opts)
return new Promise(async function(resolve, reject) {
if(!opts || typeof opts!=='object') {
@ -109,7 +109,9 @@ export function signAndSend(opts, mqttTopic?:string){
try {
if(mqttTopic) {
await tribes.publish(mqttTopic, data, function(){
if(!replayingHistory){
if(mqttTopic) checkIfAutoConfirm(opts.data)
}
})
} else {
await LND.keysendMessage({...opts,data})

3
dist/api/controllers/chatTribes.js

@ -188,10 +188,11 @@ function replayChatHistory(chat, contact) {
msg = yield msg_1.decryptMessage(msg, chat);
const data = yield msg_1.personalizeMessage(msg, contact, true);
const mqttTopic = `${contact.publicKey}/${chat.uuid}`;
const replayingHistory = true;
yield network.signAndSend({
data,
dest: contact.publicKey,
}, mqttTopic);
}, mqttTopic, replayingHistory);
}));
});
}

2
dist/api/controllers/chatTribes.js.map

File diff suppressed because one or more lines are too long

4
dist/api/network/receive.js

@ -148,8 +148,10 @@ function forwardMessageToTribe(ogpayload, sender) {
return __awaiter(this, void 0, void 0, function* () {
console.log('forwardMessageToTribe', ogpayload);
const chat = yield models_1.models.Chat.findOne({ where: { uuid: ogpayload.chat.uuid } });
console.log('chat.contactIds', chat.contactIds);
let contactIds = JSON.parse(chat.contactIds || '[]');
contactIds = contactIds.filter(cid => cid !== sender.id);
console.log('contactIds', contactIds);
if (contactIds.length === 0) {
return; // totally skip if only send is in tribe
}
@ -169,7 +171,7 @@ function forwardMessageToTribe(ogpayload, sender) {
send_1.sendMessage({
type, message,
sender: Object.assign(Object.assign({}, owner.dataValues), payload.sender && payload.sender.alias && { alias: payload.sender.alias }),
chat: Object.assign(Object.assign({}, chat.dataValues), { contactIds: [sender.id] }),
chat: Object.assign(Object.assign({}, chat.dataValues), { contactIds }),
skipPubKey: payload.sender.pub_key,
success: () => { },
receive: () => { }

2
dist/api/network/receive.js.map

File diff suppressed because one or more lines are too long

4
dist/api/network/send.js

@ -99,7 +99,7 @@ function sendMessage(params) {
});
}
exports.sendMessage = sendMessage;
function signAndSend(opts, mqttTopic) {
function signAndSend(opts, mqttTopic, replayingHistory) {
// console.log('sign and send!',opts)
return new Promise(function (resolve, reject) {
return __awaiter(this, void 0, void 0, function* () {
@ -117,8 +117,10 @@ function signAndSend(opts, mqttTopic) {
try {
if (mqttTopic) {
yield tribes.publish(mqttTopic, data, function () {
if (!replayingHistory) {
if (mqttTopic)
checkIfAutoConfirm(opts.data);
}
});
}
else {

2
dist/api/network/send.js.map

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save