title: chrome extension always show "service worker inactive" after browser restart if manifest is MV3
body: <p>i am using the latest chrome: Version 100.0.4896.60 (Official Build) (64-bit) on win 10 pro</p>
  <p>when i install an extension all works fine.</p>
  <p>when i close chrome and reopen, the extensions no long work.
  the extensions tab shows for all extensions: &quot;worker service (inactive)&quot;</p>
  <p>after click on the reload button of the extension all is ok.</p>
  <p>i also tested it with:</p>
  <p><a href="https://github.com/GoogleChrome/chrome-extensions-samples/tree/main/examples/hello-world" rel="nofollow noreferrer">https://github.com/GoogleChrome/chrome-extensions-samples/tree/main/examples/hello-world</a></p>
  <p>to make sure that this could be to some settings, i uninstalled chrome, removed all chrome files and reinstalled it.</p>
  <p>the issue persists.</p>
  <p>friends of mine do not seem to have this issue with the same chrome version.</p>
  <p>any suggestions on how to resolve this ?</p>
  <p>here the code:</p>
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>    "use strict";
  
  async function sendRequest(request, sendResponse) {
    try {
      const startTime = Date.now();
      const response = await fetch(request.url, request.options);
      const time = Date.now() - startTime;
      const body = await response.text();
      const headers = [...response.headers].map((el) =&gt; ({
        key: el[0],
        value: el[1],
      }));
      sendResponse({
        status: response.status,
        body,
        headers,
        time,
      });
    } catch (err) {
      sendResponse({
        err: err.message
      });
    }
  }
  
  chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
    chrome.storage.sync.get("host", ({ host }) =&gt; {
      if (host === sender.tab.url) {
        if (request.type === "send-request") {
          sendRequest(request, sendResponse);
        } else if (request.type === "ping") {
          sendResponse();
        } else {
          console.log("bad request type", request.type);
        }
      } else {
        console.log("host not correct", host, sender.tab.url);
      }
    });
    // NOTE: return value required to keep port open for async response
    return true;
  });
  
  chrome.webNavigation.onBeforeNavigate.addListener(() =&gt; {
    console.info("service is up 2");
  });
  
  chrome.webNavigation.onHistoryStateUpdated.addListener((details) =&gt; {
    console.log('service is up');
  });</code></pre>
  </div>
  </div>
  </p>