Don't display and save completion times when data is reset
This commit is contained in:
parent
eb1c6d943a
commit
5e8114f206
@ -38,23 +38,33 @@ function checkNewMessages() {
|
|||||||
|
|
||||||
// Check in-call messages.
|
// Check in-call messages.
|
||||||
const messageElements = document.querySelectorAll("div[data-message-id] div[jscontroller]");
|
const messageElements = document.querySelectorAll("div[data-message-id] div[jscontroller]");
|
||||||
|
let newElements = false;
|
||||||
for (let e of messageElements) {
|
for (let e of messageElements) {
|
||||||
if (seenMessages.has(e)) continue;
|
if (seenMessages.has(e)) continue;
|
||||||
|
newElements = true;
|
||||||
seenMessages.add(e);
|
seenMessages.add(e);
|
||||||
let completionTime = Math.floor((Date.now() - startTime) / 1000);
|
let completionTime = Math.floor((Date.now() - startTime) / 1000);
|
||||||
|
|
||||||
// If awaiting times are available, use them first (i.e. the messages section just got opened).
|
// If awaiting times are available, use them first (i.e. the messages section just got opened).
|
||||||
if (awaitingTimes.length) completionTime = awaitingTimes.shift();
|
if (awaitingTimes.length) completionTime = awaitingTimes.shift();
|
||||||
|
|
||||||
const messageNode = e.parentNode.parentNode.parentNode.parentNode;
|
const messageNode = e.parentNode.parentNode.parentNode.parentNode;
|
||||||
const rootNode = messageNode.parentNode.parentNode;
|
const rootNode = messageNode.parentNode.parentNode;
|
||||||
const name = rootNode.firstChild.firstChild.innerHTML;
|
const name = rootNode.firstChild.firstChild.innerHTML;
|
||||||
const dTime = displayTime(completionTime);
|
const dTime = displayTime(completionTime);
|
||||||
|
if (startTime > 0) {
|
||||||
messages.push({completionTime: completionTime, name: name, text: e.innerHTML, displayTime: dTime});
|
messages.push({completionTime: completionTime, name: name, text: e.innerHTML, displayTime: dTime});
|
||||||
|
|
||||||
|
// Set timeout for rendering the completion time, required to avoid weird stuff.
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
e.innerHTML = `(<span style="color: red;">${dTime}</span>) ${e.innerHTML}`;
|
e.innerHTML = `(<span style="color: red;">${dTime}</span>) ${e.innerHTML}`;
|
||||||
}, 20);
|
}, 20);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newElements) {
|
||||||
chrome.storage.local.set({ messages: messages });
|
chrome.storage.local.set({ messages: messages });
|
||||||
|
}
|
||||||
|
|
||||||
// If awaiting messages are still present, but the messages section is opened with no new messages,
|
// If awaiting messages are still present, but the messages section is opened with no new messages,
|
||||||
// delete all awaiting messages (that should never happen though, there was an error somewhere).
|
// delete all awaiting messages (that should never happen though, there was an error somewhere).
|
||||||
|
Loading…
x
Reference in New Issue
Block a user