Browse Source

full mqtt round trip

feature/dockerfile-arm
Evan Feenstra 5 years ago
parent
commit
29224d2326
  1. 2
      api/controllers/messages.ts
  2. 12
      api/network/receive.ts
  3. 53
      api/network/send.ts
  4. 3
      api/utils/json.ts
  5. 5
      api/utils/msg.ts
  6. 1
      api/utils/tribes.ts
  7. 2
      dist/api/controllers/messages.js.map
  8. 13
      dist/api/network/receive.js
  9. 2
      dist/api/network/receive.js.map
  10. 59
      dist/api/network/send.js
  11. 2
      dist/api/network/send.js.map
  12. 3
      dist/api/utils/json.js
  13. 2
      dist/api/utils/json.js.map
  14. 3
      dist/api/utils/msg.js
  15. 2
      dist/api/utils/msg.js.map
  16. 1
      dist/api/utils/tribes.js
  17. 2
      dist/api/utils/tribes.js.map
  18. 21
      dist/public/js/app.js
  19. 9
      frontend/api.js
  20. 5
      frontend/components/Tribes/index.jsx
  21. 21
      public/js/app.js

2
api/controllers/messages.ts

@ -108,7 +108,7 @@ const sendMessage = async (req, res) => {
remote_text_map, remote_text_map,
} = req.body } = req.body
console.log('[sendMessage]',) console.log('[sendMessage]')
var date = new Date(); var date = new Date();
date.setMilliseconds(0) date.setMilliseconds(0)

12
api/network/receive.ts

@ -70,11 +70,13 @@ export async function initGrpcSubscriptions() {
export async function initTribesSubscriptions(){ export async function initTribesSubscriptions(){
tribes.connect(async(topic, message)=>{ // onMessage callback tribes.connect(async(topic, message)=>{ // onMessage callback
console.log("=====> msg received! TOPIC", topic, "MESSAGE", message) try{
// check topic is signed by sender? const msg = message.toString()
// fire off the ACTION console.log("=====> msg received! TOPIC", topic, "MESSAGE", msg)
const payload = await parseAndVerifyPayload(message) // check topic is signed by sender?
onReceive(payload) const payload = await parseAndVerifyPayload(msg)
onReceive(payload)
} catch(e){}
}) })
} }

53
api/network/send.ts

@ -8,29 +8,6 @@ const constants = require(path.join(__dirname,'../../config/constants.json'))
type NetworkType = undefined | 'mqtt' | 'lightning' type NetworkType = undefined | 'mqtt' | 'lightning'
export function signAndSend(opts, mqttTopic?:string){
return new Promise(async function(resolve, reject) {
if(!opts.data || typeof opts.data!=='object') {
return reject('object plz')
}
let data = JSON.stringify(opts.data)
const sig = await LND.signAscii(data)
data = data + sig
try {
if(mqttTopic) {
await tribes.publish(mqttTopic, data)
} else {
await LND.keysendMessage({...opts,data})
}
resolve(true)
} catch(e) {
reject(e)
}
})
}
export async function sendMessage(params) { export async function sendMessage(params) {
const { type, chat, message, sender, amount, success, failure } = params const { type, chat, message, sender, amount, success, failure } = params
const m = newmsg(type, chat, sender, message) const m = newmsg(type, chat, sender, message)
@ -55,7 +32,6 @@ export async function sendMessage(params) {
networkType = 'mqtt' // broadcast to all networkType = 'mqtt' // broadcast to all
// decrypt message.content and message.mediaKey w groupKey // decrypt message.content and message.mediaKey w groupKey
msg = await decryptMessage(msg, chat) msg = await decryptMessage(msg, chat)
console.log('msg has been decrypted with group key')
} else { } else {
// if tribe, send to owner only // if tribe, send to owner only
const tribeOwner = await models.Contact.findOne({where: {publicKey:tribeOwnerPubKey}}) const tribeOwner = await models.Contact.findOne({where: {publicKey:tribeOwnerPubKey}})
@ -89,6 +65,7 @@ export async function sendMessage(params) {
console.log("KEYSEND ERROR", e) console.log("KEYSEND ERROR", e)
no = e no = e
} }
await sleep(2)
}) })
if(yes){ if(yes){
if(success) success(yes) if(success) success(yes)
@ -97,6 +74,31 @@ export async function sendMessage(params) {
} }
} }
export function signAndSend(opts, mqttTopic?:string){
console.log('sign and send!!!!',opts.data)
return new Promise(async function(resolve, reject) {
if(!opts.data || typeof opts.data!=='object') {
return reject('object plz')
}
let data = JSON.stringify(opts.data)
const sig = await LND.signAscii(data)
data = data + sig
console.log("ACTUALLY SEND", mqttTopic)
try {
if(mqttTopic) {
await tribes.publish(mqttTopic, data)
} else {
await LND.keysendMessage({...opts,data})
}
resolve(true)
} catch(e) {
reject(e)
}
})
}
function newmsg(type, chat, sender, message){ function newmsg(type, chat, sender, message){
return { return {
type: type, type: type,
@ -120,4 +122,7 @@ async function asyncForEach(array, callback) {
for (let index = 0; index < array.length; index++) { for (let index = 0; index < array.length; index++) {
await callback(array[index], index, array); await callback(array[index], index, array);
} }
}
async function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms))
} }

3
api/utils/json.ts

@ -2,7 +2,8 @@ import {toSnake,toCamel} from '../utils/case'
import * as cronUtils from './cron' import * as cronUtils from './cron'
function chatToJson(c) { function chatToJson(c) {
const chat = c.dataValues||c const ch = c.dataValues||c
const chat = JSON.parse(JSON.stringify(ch))
let contactIds = chat.contactIds || null let contactIds = chat.contactIds || null
if(chat.contactIds && typeof chat.contactIds==='string'){ if(chat.contactIds && typeof chat.contactIds==='string'){
contactIds = JSON.parse(chat.contactIds) contactIds = JSON.parse(chat.contactIds)

5
api/utils/msg.ts

@ -84,19 +84,21 @@ async function finishTermsAndReceipt(full:{[k:string]:any}, destkey) {
} }
// DECRYPT EITHER STRING OR FIRST VAL IN OBJ // DECRYPT EITHER STRING OR FIRST VAL IN OBJ
async function decryptMessage(full:{[k:string]:any},chat) { async function decryptMessage(full:{[k:string]:any}, chat) {
if(!chat.groupPrivateKey) return full if(!chat.groupPrivateKey) return full
const m = full && full.message const m = full && full.message
if (!m) return full if (!m) return full
const obj: {[k:string]:any} = {} const obj: {[k:string]:any} = {}
if(m.content) { if(m.content) {
console.log('m.content:',m.content, typeof m.content)
let content = m.content let content = m.content
if(typeof m.content==='object') { if(typeof m.content==='object') {
if(Object.values(m.content).length) { if(Object.values(m.content).length) {
content = Object.values(m.content)[0] content = Object.values(m.content)[0]
} }
} }
console.log("CONTENT TO DECRYPT:",content)
const decContent = rsa.decrypt(chat.groupPrivateKey, content) const decContent = rsa.decrypt(chat.groupPrivateKey, content)
obj.content = decContent obj.content = decContent
} }
@ -111,6 +113,7 @@ async function decryptMessage(full:{[k:string]:any},chat) {
obj.mediaKey = decMediaKey obj.mediaKey = decMediaKey
} }
console.log("OBJ FILLED",fillmsg(full, obj))
return fillmsg(full, obj) return fillmsg(full, obj)
} }

1
api/utils/tribes.ts

@ -46,6 +46,7 @@ export function subscribe(topic){
} }
export function publish(topic,msg){ export function publish(topic,msg){
console.log("PUBLISH",client,topic,msg)
if(client) client.publish(topic,msg) if(client) client.publish(topic,msg)
} }

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

File diff suppressed because one or more lines are too long

13
dist/api/network/receive.js

@ -83,11 +83,14 @@ exports.initGrpcSubscriptions = initGrpcSubscriptions;
function initTribesSubscriptions() { function initTribesSubscriptions() {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
tribes.connect((topic, message) => __awaiter(this, void 0, void 0, function* () { tribes.connect((topic, message) => __awaiter(this, void 0, void 0, function* () {
console.log("=====> msg received! TOPIC", topic, "MESSAGE", message); try {
// check topic is signed by sender? const msg = message.toString();
// fire off the ACTION console.log("=====> msg received! TOPIC", topic, "MESSAGE", msg);
const payload = yield parseAndVerifyPayload(message); // check topic is signed by sender?
onReceive(payload); const payload = yield parseAndVerifyPayload(msg);
onReceive(payload);
}
catch (e) { }
})); }));
}); });
} }

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

File diff suppressed because one or more lines are too long

59
dist/api/network/send.js

@ -15,31 +15,6 @@ const msg_1 = require("../utils/msg");
const path = require("path"); const path = require("path");
const tribes = require("../utils/tribes"); const tribes = require("../utils/tribes");
const constants = require(path.join(__dirname, '../../config/constants.json')); const constants = require(path.join(__dirname, '../../config/constants.json'));
function signAndSend(opts, mqttTopic) {
return new Promise(function (resolve, reject) {
return __awaiter(this, void 0, void 0, function* () {
if (!opts.data || typeof opts.data !== 'object') {
return reject('object plz');
}
let data = JSON.stringify(opts.data);
const sig = yield LND.signAscii(data);
data = data + sig;
try {
if (mqttTopic) {
yield tribes.publish(mqttTopic, data);
}
else {
yield LND.keysendMessage(Object.assign(Object.assign({}, opts), { data }));
}
resolve(true);
}
catch (e) {
reject(e);
}
});
});
}
exports.signAndSend = signAndSend;
function sendMessage(params) { function sendMessage(params) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
const { type, chat, message, sender, amount, success, failure } = params; const { type, chat, message, sender, amount, success, failure } = params;
@ -64,7 +39,6 @@ function sendMessage(params) {
networkType = 'mqtt'; // broadcast to all networkType = 'mqtt'; // broadcast to all
// decrypt message.content and message.mediaKey w groupKey // decrypt message.content and message.mediaKey w groupKey
msg = yield msg_1.decryptMessage(msg, chat); msg = yield msg_1.decryptMessage(msg, chat);
console.log('msg has been decrypted with group key');
} }
else { else {
// if tribe, send to owner only // if tribe, send to owner only
@ -97,6 +71,7 @@ function sendMessage(params) {
console.log("KEYSEND ERROR", e); console.log("KEYSEND ERROR", e);
no = e; no = e;
} }
yield sleep(2);
})); }));
if (yes) { if (yes) {
if (success) if (success)
@ -109,6 +84,33 @@ function sendMessage(params) {
}); });
} }
exports.sendMessage = sendMessage; exports.sendMessage = sendMessage;
function signAndSend(opts, mqttTopic) {
console.log('sign and send!!!!', opts.data);
return new Promise(function (resolve, reject) {
return __awaiter(this, void 0, void 0, function* () {
if (!opts.data || typeof opts.data !== 'object') {
return reject('object plz');
}
let data = JSON.stringify(opts.data);
const sig = yield LND.signAscii(data);
data = data + sig;
console.log("ACTUALLY SEND", mqttTopic);
try {
if (mqttTopic) {
yield tribes.publish(mqttTopic, data);
}
else {
yield LND.keysendMessage(Object.assign(Object.assign({}, opts), { data }));
}
resolve(true);
}
catch (e) {
reject(e);
}
});
});
}
exports.signAndSend = signAndSend;
function newmsg(type, chat, sender, message) { function newmsg(type, chat, sender, message) {
return { return {
type: type, type: type,
@ -123,4 +125,9 @@ function asyncForEach(array, callback) {
} }
}); });
} }
function sleep(ms) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise(resolve => setTimeout(resolve, ms));
});
}
//# sourceMappingURL=send.js.map //# sourceMappingURL=send.js.map

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

@ -1 +1 @@
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../../api/network/send.ts"],"names":[],"mappings":"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"} {"version":3,"file":"send.js","sourceRoot":"","sources":["../../../api/network/send.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,sCAAkC;AAClC,0CAAyC;AACzC,sCAA+D;AAC/D,6BAA4B;AAC5B,0CAAyC;AAEzC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAC,6BAA6B,CAAC,CAAC,CAAA;AAI7E,SAAsB,WAAW,CAAC,MAAM;;QACvC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;QACxE,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAC7C,IAAI,GAAG,GAAG,CAAC,CAAA;QAEX,IAAI,UAAU,GAAG,CAAC,OAAO,IAAI,CAAC,UAAU,KAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;QAC1G,IAAG,UAAU,CAAC,MAAM,KAAG,CAAC,EAAE;YACzB,IAAI,UAAU,CAAC,CAAC,CAAC,KAAG,CAAC,EAAE;gBACtB,IAAG,OAAO;oBAAE,OAAO,CAAC,IAAI,CAAC,CAAA;gBACzB,OAAM,CAAC,uDAAuD;aAC9D;SACD;QAED,IAAI,WAAW,GAAe,SAAS,CAAA;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAA;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAA;QAC1B,IAAG,OAAO,EAAE;YACX,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YACxB,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;YACrE,IAAG,MAAM,CAAC,SAAS,KAAG,gBAAgB,EAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;gBAC9B,WAAW,GAAG,MAAM,CAAA,CAAC,mBAAmB;gBACxC,0DAA0D;gBAC1D,GAAG,GAAG,MAAM,oBAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;aACrC;iBAAM;gBACN,+BAA+B;gBAC/B,MAAM,UAAU,GAAG,MAAM,eAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAC,KAAK,EAAE,EAAC,SAAS,EAAC,gBAAgB,EAAC,EAAC,CAAC,CAAA;gBACtF,UAAU,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;aAC5B;SACD;QAED,IAAI,GAAG,GAAO,IAAI,CAAA;QAClB,IAAI,EAAE,GAAO,IAAI,CAAA;QACjB,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,UAAU,CAAC,CAAA;QACxC,MAAM,YAAY,CAAC,UAAU,EAAE,CAAM,SAAS,EAAC,EAAE;YAChD,IAAI,SAAS,IAAI,MAAM,CAAC,EAAE,EAAE;gBAC3B,OAAM;aACN;YAED,MAAM,OAAO,GAAG,MAAM,eAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;YAC1E,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAA;YACjC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;YAElD,MAAM,CAAC,GAAG,MAAM,wBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YAChD,MAAM,IAAI,GAAG;gBACZ,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,CAAC;gBACP,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAE,CAAC,CAAC,EAAE,CAAC,CAAC;aAC7B,CAAA;YACD,IAAI;gBACH,MAAM,SAAS,GAAG,WAAW,KAAG,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;gBACtE,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;gBAC5C,GAAG,GAAG,CAAC,CAAA;aACP;YAAC,OAAO,CAAC,EAAE;gBACX,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAA;gBAC/B,EAAE,GAAG,CAAC,CAAA;aACN;YACD,MAAM,KAAK,CAAC,CAAC,CAAC,CAAA;QACf,CAAC,CAAA,CAAC,CAAA;QACF,IAAG,GAAG,EAAC;YACN,IAAG,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAA;SACxB;aAAM;YACN,IAAG,OAAO;gBAAE,OAAO,CAAC,EAAE,CAAC,CAAA;SACvB;IACF,CAAC;CAAA;AAhED,kCAgEC;AAED,SAAgB,WAAW,CAAC,IAAI,EAAE,SAAiB;IAClD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1C,OAAO,IAAI,OAAO,CAAC,UAAe,OAAO,EAAE,MAAM;;YAChD,IAAG,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAG,QAAQ,EAAE;gBAC7C,OAAO,MAAM,CAAC,YAAY,CAAC,CAAA;aAC3B;YACD,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAEpC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YACrC,IAAI,GAAG,IAAI,GAAG,GAAG,CAAA;YAEjB,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;YACvC,IAAI;gBACH,IAAG,SAAS,EAAE;oBACb,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;iBACrC;qBAAM;oBACN,MAAM,GAAG,CAAC,cAAc,iCAAK,IAAI,KAAC,IAAI,IAAE,CAAA;iBACxC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAA;aACb;YAAC,OAAM,CAAC,EAAE;gBACV,MAAM,CAAC,CAAC,CAAC,CAAA;aACT;QACF,CAAC;KAAA,CAAC,CAAA;AACH,CAAC;AAvBD,kCAuBC;AAED,SAAS,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO;IAC1C,OAAO;QACN,IAAI,EAAE,IAAI;QACV,IAAI,0EACH,IAAI,EAAE,IAAI,CAAC,IAAI,IACZ,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAChC,CAAC,IAAI,CAAC,IAAI,IAAE,IAAI,CAAC,IAAI,KAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GACjD,IAAI,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GACzC,IAAI,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAC5C,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CACnC;QACD,OAAO,EAAE,OAAO;KAKhB,CAAA;AACF,CAAC;AAED,SAAe,YAAY,CAAC,KAAK,EAAE,QAAQ;;QAC1C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAChD,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;SAC7C;IACF,CAAC;CAAA;AACD,SAAe,KAAK,CAAC,EAAE;;QACtB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;IACvD,CAAC;CAAA"}

3
dist/api/utils/json.js

@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
const case_1 = require("../utils/case"); const case_1 = require("../utils/case");
const cronUtils = require("./cron"); const cronUtils = require("./cron");
function chatToJson(c) { function chatToJson(c) {
const chat = c.dataValues || c; const ch = c.dataValues || c;
const chat = JSON.parse(JSON.stringify(ch));
let contactIds = chat.contactIds || null; let contactIds = chat.contactIds || null;
if (chat.contactIds && typeof chat.contactIds === 'string') { if (chat.contactIds && typeof chat.contactIds === 'string') {
contactIds = JSON.parse(chat.contactIds); contactIds = JSON.parse(chat.contactIds);

2
dist/api/utils/json.js.map

@ -1 +1 @@
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../../api/utils/json.ts"],"names":[],"mappings":";;AAAA,wCAA6C;AAC7C,oCAAmC;AAEnC,SAAS,UAAU,CAAC,CAAC;IACnB,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,IAAE,CAAC,CAAA;IAC5B,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAA;IACxC,IAAG,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAG,QAAQ,EAAC;QACtD,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;KACzC;IACD,OAAO,IAAI,CAAC,eAAe,CAAA;IAC3B,OAAO,cAAO,iCACT,IAAI,KACP,UAAU,IACV,CAAA;AACJ,CAAC;AAsCC,gCAAU;AApCZ,SAAS,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,OAAQ;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,IAAE,GAAG,CAAA;IACnC,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAA;IACzC,IAAG,OAAO,CAAC,SAAS,IAAI,OAAO,OAAO,CAAC,SAAS,KAAG,QAAQ,EAAC;QAC1D,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;KAC1C;IACD,OAAO,cAAO,iCACT,OAAO,KACV,SAAS,EACT,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EACpC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAChD,CAAA;AACJ,CAAC;AAoBC,sCAAa;AAlBf,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,cAAO,CAAC,OAAO,CAAC,UAAU,IAAE,OAAO,CAAC,CAAA;AAmBrE,sCAAa;AAjBf,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,cAAO,CAAC,MAAM,CAAC,UAAU,IAAE,MAAM,CAAC,CAAA;AAkBjE,oCAAY;AAhBd,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,cAAO,CAAC,IAAI,CAAC,CAAA;AAiB3C,sCAAa;AAff,SAAS,kBAAkB,CAAC,YAAY,EAAE,IAAI;IAC5C,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,IAAI,YAAY,CAAA;IACnD,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACpD,OAAO,cAAO,iCACT,GAAG,KACN,QAAQ;QACR,IAAI,EACJ,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IACpC,CAAA;AACJ,CAAC;AAQC,gDAAkB"} {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../api/utils/json.ts"],"names":[],"mappings":";;AAAA,wCAA6C;AAC7C,oCAAmC;AAEnC,SAAS,UAAU,CAAC,CAAC;IACnB,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,IAAE,CAAC,CAAA;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3C,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAA;IACxC,IAAG,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAG,QAAQ,EAAC;QACtD,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;KACzC;IACD,OAAO,IAAI,CAAC,eAAe,CAAA;IAC3B,OAAO,cAAO,iCACT,IAAI,KACP,UAAU,IACV,CAAA;AACJ,CAAC;AAsCC,gCAAU;AApCZ,SAAS,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,OAAQ;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,IAAE,GAAG,CAAA;IACnC,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAA;IACzC,IAAG,OAAO,CAAC,SAAS,IAAI,OAAO,OAAO,CAAC,SAAS,KAAG,QAAQ,EAAC;QAC1D,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;KAC1C;IACD,OAAO,cAAO,iCACT,OAAO,KACV,SAAS,EACT,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EACpC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAChD,CAAA;AACJ,CAAC;AAoBC,sCAAa;AAlBf,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,cAAO,CAAC,OAAO,CAAC,UAAU,IAAE,OAAO,CAAC,CAAA;AAmBrE,sCAAa;AAjBf,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,cAAO,CAAC,MAAM,CAAC,UAAU,IAAE,MAAM,CAAC,CAAA;AAkBjE,oCAAY;AAhBd,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,cAAO,CAAC,IAAI,CAAC,CAAA;AAiB3C,sCAAa;AAff,SAAS,kBAAkB,CAAC,YAAY,EAAE,IAAI;IAC5C,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,IAAI,YAAY,CAAA;IACnD,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACpD,OAAO,cAAO,iCACT,GAAG,KACN,QAAQ;QACR,IAAI,EACJ,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IACpC,CAAA;AACJ,CAAC;AAQC,gDAAkB"}

3
dist/api/utils/msg.js

@ -106,12 +106,14 @@ function decryptMessage(full, chat) {
return full; return full;
const obj = {}; const obj = {};
if (m.content) { if (m.content) {
console.log('m.content:', m.content, typeof m.content);
let content = m.content; let content = m.content;
if (typeof m.content === 'object') { if (typeof m.content === 'object') {
if (Object.values(m.content).length) { if (Object.values(m.content).length) {
content = Object.values(m.content)[0]; content = Object.values(m.content)[0];
} }
} }
console.log("CONTENT TO DECRYPT:", content);
const decContent = rsa.decrypt(chat.groupPrivateKey, content); const decContent = rsa.decrypt(chat.groupPrivateKey, content);
obj.content = decContent; obj.content = decContent;
} }
@ -125,6 +127,7 @@ function decryptMessage(full, chat) {
const decMediaKey = rsa.decrypt(chat.groupPrivateKey, mediaKey); const decMediaKey = rsa.decrypt(chat.groupPrivateKey, mediaKey);
obj.mediaKey = decMediaKey; obj.mediaKey = decMediaKey;
} }
console.log("OBJ FILLED", fillmsg(full, obj));
return fillmsg(full, obj); return fillmsg(full, obj);
}); });
} }

2
dist/api/utils/msg.js.map

File diff suppressed because one or more lines are too long

1
dist/api/utils/tribes.js

@ -58,6 +58,7 @@ function subscribe(topic) {
} }
exports.subscribe = subscribe; exports.subscribe = subscribe;
function publish(topic, msg) { function publish(topic, msg) {
console.log("PUBLISH", client, topic, msg);
if (client) if (client)
client.publish(topic, msg); client.publish(topic, msg);
} }

2
dist/api/utils/tribes.js.map

@ -1 +1 @@
{"version":3,"file":"tribes.js","sourceRoot":"","sources":["../../../api/utils/tribes.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,iCAAgC;AAChC,qCAAoC;AACpC,mCAAkC;AAClC,6BAA4B;AAC5B,6BAA4B;AAE5B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAA;AACjD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAC,uBAAuB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAEzE,IAAI,MAAU,CAAA;AAEd,SAAsB,OAAO,CAAC,SAAS;;QACnC,IAAG;YACC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAA;YAEhC,SAAe,SAAS;;oBACpB,MAAM,GAAG,IAAI,CAAA;oBACb,MAAM,GAAG,GAAG,MAAM,kBAAkB,EAAE,CAAA;oBACtC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAC,SAAS,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;oBACrE,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,EAAC;wBAChD,QAAQ,EAAC,IAAI,CAAC,eAAe;wBAC7B,QAAQ,EAAC,GAAG;wBACZ,eAAe,EAAC,CAAC;qBACpB,CAAC,CAAA;oBACF,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE;wBACjB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;wBAClC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,CAAA;oBACjD,CAAC,CAAC,CAAA;oBACF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE;wBACf,UAAU,CAAC,GAAE,EAAE,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,CAAA;oBACtC,CAAC,CAAC,CAAA;oBACF,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,UAAS,KAAK,EAAE,OAAO;wBACxC,IAAG,SAAS;4BAAE,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;oBAC3C,CAAC,CAAC,CAAA;gBACN,CAAC;aAAA;YACD,SAAS,EAAE,CAAA;SAEd;QAAC,OAAM,CAAC,EAAC;YACN,OAAO,CAAC,GAAG,CAAC,cAAc,EAAC,CAAC,CAAC,CAAA;SAChC;IACL,CAAC;CAAA;AA7BD,0BA6BC;AAED,SAAgB,SAAS,CAAC,KAAK;IAC3B,IAAG,MAAM;QAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AACtC,CAAC;AAFD,8BAEC;AAED,SAAgB,OAAO,CAAC,KAAK,EAAC,GAAG;IAC7B,IAAG,MAAM;QAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAC,GAAG,CAAC,CAAA;AACxC,CAAC;AAFD,0BAEC;AAED,SAAsB,kBAAkB;;QACpC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAA;QAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;QACpD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACpC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;QACpD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAA;QAC3D,OAAO,SAAS,CAAC,GAAG,CAAC,CAAA;IACzB,CAAC;CAAA;AARD,gDAQC;AAED,SAAsB,qBAAqB,CAAC,SAAS;;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAC,EAAE,CAAC,CAAA;QACjC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA,CAAC,6BAA6B;QAC/F,IAAI,CAAC,CAAC,KAAK,EAAE;YACT,OAAO,CAAC,CAAC,MAAM,CAAA;SAClB;aAAM;YACH,OAAO,KAAK,CAAA;SACf;IACL,CAAC;CAAA;AAVD,sDAUC;AAED,SAAgB,OAAO;IACnB,OAAO,MAAM,CAAC,WAAW,IAAI,EAAE,CAAA;AACnC,CAAC;AAFD,0BAEC;AAED,SAAS,SAAS,CAAC,GAAG;IAClB,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AACzE,CAAC"} {"version":3,"file":"tribes.js","sourceRoot":"","sources":["../../../api/utils/tribes.ts"],"names":[],"mappings":"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"}

21
dist/public/js/app.js

@ -79726,8 +79726,13 @@ function createAPI(def) {
}; };
if (m === 'POST' || m === 'PUT') { if (m === 'POST' || m === 'PUT') {
headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'; if (def.name === 'media') {
opts.body = new URLSearchParams(data); headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';
opts.body = new URLSearchParams(data);
} else {
headers['Content-Type'] = 'application/json';
opts.body = JSON.stringify(data);
}
} }
if (m === 'UPLOAD') { if (m === 'UPLOAD') {
@ -85797,7 +85802,7 @@ function Tribe(t) {
_sendMessage = Tribes_asyncToGenerator( _sendMessage = Tribes_asyncToGenerator(
/*#__PURE__*/ /*#__PURE__*/
regeneratorRuntime.mark(function _callee3() { regeneratorRuntime.mark(function _callee3() {
var encText; var encText, body;
return regeneratorRuntime.wrap(function _callee3$(_context3) { return regeneratorRuntime.wrap(function _callee3$(_context3) {
while (1) { while (1) {
switch (_context3.prev = _context3.next) { switch (_context3.prev = _context3.next) {
@ -85808,13 +85813,15 @@ function Tribe(t) {
case 2: case 2:
encText = _context3.sent; encText = _context3.sent;
console.log(t, encText); console.log(t, encText);
_context3.next = 6; body = {
return api_media.POST('messages', {
chat_id: t.id, chat_id: t.id,
remote_text_map: Tribes_defineProperty({}, t.id, encText) remote_text_map: Tribes_defineProperty({}, t.id, encText)
}); };
console.log("BODY", body);
_context3.next = 8;
return relay.POST('messages', body);
case 6: case 8:
case "end": case "end":
return _context3.stop(); return _context3.stop();
} }

9
frontend/api.js

@ -31,8 +31,13 @@ function createAPI(def) {
if (def.tokenName && token) headers['authorization'] = 'Bearer ' + token if (def.tokenName && token) headers['authorization'] = 'Bearer ' + token
const opts = {mode: 'cors'} const opts = {mode: 'cors'}
if (m === 'POST' || m === 'PUT') { if (m === 'POST' || m === 'PUT') {
headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8' if(def.name==='media') {
opts.body = new URLSearchParams(data) headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'
opts.body = new URLSearchParams(data)
} else {
headers['Content-Type'] = 'application/json'
opts.body = JSON.stringify(data)
}
} }
if (m === 'UPLOAD') { if (m === 'UPLOAD') {
const file = data const file = data

5
frontend/components/Tribes/index.jsx

@ -93,12 +93,13 @@ function Tribe(t){
async function sendMessage(){ async function sendMessage(){
const encText = await rsa.encrypt(t.group_key,text) const encText = await rsa.encrypt(t.group_key,text)
console.log(t,encText) console.log(t,encText)
await api.media.POST('messages', { const body = {
chat_id: t.id, chat_id: t.id,
remote_text_map: { remote_text_map: {
[t.id]: encText [t.id]: encText
} }
}) }
await api.relay.POST('messages', body)
} }
return <div style={{border:'1px solid grey',borderRadius:3,marginBottom:6,padding:6}}> return <div style={{border:'1px solid grey',borderRadius:3,marginBottom:6,padding:6}}>

21
public/js/app.js

@ -79726,8 +79726,13 @@ function createAPI(def) {
}; };
if (m === 'POST' || m === 'PUT') { if (m === 'POST' || m === 'PUT') {
headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'; if (def.name === 'media') {
opts.body = new URLSearchParams(data); headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';
opts.body = new URLSearchParams(data);
} else {
headers['Content-Type'] = 'application/json';
opts.body = JSON.stringify(data);
}
} }
if (m === 'UPLOAD') { if (m === 'UPLOAD') {
@ -85797,7 +85802,7 @@ function Tribe(t) {
_sendMessage = Tribes_asyncToGenerator( _sendMessage = Tribes_asyncToGenerator(
/*#__PURE__*/ /*#__PURE__*/
regeneratorRuntime.mark(function _callee3() { regeneratorRuntime.mark(function _callee3() {
var encText; var encText, body;
return regeneratorRuntime.wrap(function _callee3$(_context3) { return regeneratorRuntime.wrap(function _callee3$(_context3) {
while (1) { while (1) {
switch (_context3.prev = _context3.next) { switch (_context3.prev = _context3.next) {
@ -85808,13 +85813,15 @@ function Tribe(t) {
case 2: case 2:
encText = _context3.sent; encText = _context3.sent;
console.log(t, encText); console.log(t, encText);
_context3.next = 6; body = {
return api_media.POST('messages', {
chat_id: t.id, chat_id: t.id,
remote_text_map: Tribes_defineProperty({}, t.id, encText) remote_text_map: Tribes_defineProperty({}, t.id, encText)
}); };
console.log("BODY", body);
_context3.next = 8;
return relay.POST('messages', body);
case 6: case 8:
case "end": case "end":
return _context3.stop(); return _context3.stop();
} }

Loading…
Cancel
Save