Parcourir la source

fix possible side effect with discarded tabs

Gildas il y a 4 ans
Parent
commit
cdb28da413
1 fichiers modifiés avec 6 ajouts et 1 suppressions
  1. 6 1
      extension/core/bg/autosave.js

+ 6 - 1
extension/core/bg/autosave.js

@@ -58,7 +58,10 @@ async function onMessage(message, sender) {
 			if (sender.tab) {
 				message.tab = sender.tab;
 				pendingMessages[sender.tab.id] = message;
-			} else if (pendingMessages[message.tabId] && pendingMessages[message.tabId].removed && message.autoSaveRemove) {
+			} else if (pendingMessages[message.tabId] &&
+				((pendingMessages[message.tabId].removed && message.autoSaveRemove) ||
+					(pendingMessages[message.tabId].discarded && message.autoSaveDiscard))
+			) {
 				delete pendingMessages[message.tabId];
 				await saveContent(message, { id: message.tabId, index: message.tabIndex, url: sender.url });
 			}
@@ -95,6 +98,8 @@ async function onTabDiscarded(tabId) {
 	if (message) {
 		delete pendingMessages[tabId];
 		await saveContent(message, message.tab);
+	} else {
+		pendingMessages[tabId] = { discarded: true };
 	}
 }