fix: an open popup follows a network switch the background saves (closes #650)
When the background saves a network switch after the user approves a site's request, or another popup page saves one, an open popup takes the new network from the stored record inside a save, holding the lock, and checks the record once at start-up for a switch saved before it listened. It then leaves the page as a switch in Settings does: the cut and the redraw are two Settings functions both paths call, and both reset the popup's caches through one function. A switch in Settings is now made inside its own save too, so one picked while a follow waits for the lock is made after it. The popup never switches the network itself. Model: opus-5-5
This commit is contained in:
@@ -446,7 +446,10 @@ describe("switching the network in Settings tells every open tab", () => {
|
||||
global.chrome.runtime.sendMessage = (msg) => {
|
||||
bg.send(msg, POPUP);
|
||||
};
|
||||
await require("../src/shared/state").loadState();
|
||||
const { state, loadState } = require("../src/shared/state");
|
||||
await loadState();
|
||||
// Set by showView(), which is mocked above.
|
||||
state.currentView = "settings";
|
||||
require("../src/popup/views/settings").init({
|
||||
pageClosed: new AbortController().signal,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user