Bug fixes and code refactoring

This commit is contained in:
sairaj mote 2023-10-16 20:07:58 +05:30
parent dd93f05a5b
commit 5e4b9e9803
5 changed files with 319 additions and 311 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -61,7 +61,7 @@
}
});
var directConnID, groupConnID = {},
var directConnID = [], groupConnID = {},
pipeConnID = {};
messenger.conn = {};
Object.defineProperties(messenger.conn, {
@ -324,6 +324,7 @@
if (unparsed.message instanceof Object && "secret" in unparsed.message)
unparsed.message = floDapps.user.decrypt(unparsed.message);
let vc = unparsed.vectorClock;
console.debug(unparsed);
switch (unparsed.type) {
case "MESSAGE": { //process as message
let dm = {
@ -332,6 +333,7 @@
category: "received",
message: encrypt(unparsed.message)
}
console.debug(dm, `${dm.floID}|${vc}`);
compactIDB.addData("messages", Object.assign({}, dm), `${dm.floID}|${vc}`)
_loaded.chats[dm.floID] = parseInt(vc)
compactIDB.writeData("chats", parseInt(vc), dm.floID)
@ -431,9 +433,9 @@
}
function requestDirectInbox() {
if (directConnID) { //close existing request connection (if any)
floCloudAPI.closeRequest(directConnID);
directConnID = undefined;
if (directConnID.length) { //close existing request connection (if any)
directConnID.forEach(id => floCloudAPI.closeRequest(id));
directConnID = [];
}
const parseData = processData.direct();
let callbackFn = function (dataSet, error) {
@ -464,12 +466,20 @@
UI.direct(newInbox)
}
return new Promise((resolve, reject) => {
floCloudAPI.requestApplicationData(null, {
receiverID: user.id,
lowerVectorClock: _loaded.appendix.lastReceived + 1,
callback: callbackFn
}).then(conn_id => {
directConnID = conn_id;
const promises = [
floCloudAPI.requestApplicationData(null, {
receiverID: user.id,
lowerVectorClock: _loaded.appendix.lastReceived + 1,
callback: callbackFn
}),
floCloudAPI.requestApplicationData(null, {
receiverID: floEthereum.ethAddressFromCompressedPublicKey(user.public),
lowerVectorClock: _loaded.appendix.lastReceived + 1,
callback: callbackFn
})
]
Promise.all(promises).then(connectionIds => {
directConnID = [...directConnID, ...connectionIds];
resolve("Direct Inbox connected");
}).catch(error => reject(error))
})

File diff suppressed because one or more lines are too long