diff --git a/scripts/content.js b/scripts/content.js
index 00d34d7..8ae6867 100644
--- a/scripts/content.js
+++ b/scripts/content.js
@@ -38,23 +38,33 @@ function checkNewMessages() {
// Check in-call messages.
const messageElements = document.querySelectorAll("div[data-message-id] div[jscontroller]");
+ let newElements = false;
for (let e of messageElements) {
if (seenMessages.has(e)) continue;
+ newElements = true;
seenMessages.add(e);
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 (awaitingTimes.length) completionTime = awaitingTimes.shift();
+
const messageNode = e.parentNode.parentNode.parentNode.parentNode;
const rootNode = messageNode.parentNode.parentNode;
const name = rootNode.firstChild.firstChild.innerHTML;
const dTime = displayTime(completionTime);
- messages.push({completionTime: completionTime, name: name, text: e.innerHTML, displayTime: dTime});
- setTimeout(() => {
- e.innerHTML = `(${dTime}) ${e.innerHTML}`;
- }, 20);
+ if (startTime > 0) {
+ messages.push({completionTime: completionTime, name: name, text: e.innerHTML, displayTime: dTime});
+
+ // Set timeout for rendering the completion time, required to avoid weird stuff.
+ setTimeout(() => {
+ e.innerHTML = `(${dTime}) ${e.innerHTML}`;
+ }, 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,
// delete all awaiting messages (that should never happen though, there was an error somewhere).