Fixed some messages not finding their root.

git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3736 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
2022-01-05 12:16:44 +00:00
parent e2c25ab414
commit 49ffd1055e
2 changed files with 12 additions and 10 deletions

View File

@ -25,28 +25,30 @@ function processMessages() {
for (let event of g_message_queue) {
var key = Object.keys(event.data)[0];
if (key == 'message') {
event.data[key].children = [];
var new_message = event.data.message;
new_message.children = [];
var found = false;
var root = JSON.parse(event.data[key].content).root;
var root = JSON.parse(new_message.content).root;
if (root) {
for (let message of g_data.messages) {
if (root == message.id) {
message.children.push(event.data[key]);
message.children.push(new_message);
message.children.sort((x, y) => y.timestamp - x.timestamp);
found = true;
}
}
}
var removed = {};
for (let message of g_data.messages) {
if (JSON.parse(message.content).root == event.data[key].id) {
event.data[key].children.push(message);
event.data[key].children.sort((x, y) => y.timestamp - x.timestamp);
g_data.messages.splice(g_data.messages.indexOf(message), 1);
break;
if (JSON.parse(message.content).root == new_message.id) {
new_message.children.push(message);
new_message.children.sort((x, y) => y.timestamp - x.timestamp);
removed[message.id] = true;
}
}
g_data.messages = g_data.messages.filter(x => !removed[x.id]);
if (!found) {
g_data.messages.push(event.data[key]);
g_data.messages.push(new_message);
g_data.messages.sort((x, y) => y.timestamp - x.timestamp);
}
} else if (key + 's' in g_data && Array.isArray(g_data[key + 's'])) {