title: Converted website into a Progressive Web App (PWA ) not working on Edge
body: <p>"Turn your website into a Progressive Web App", they said.</p>
  
  <p>"It will be easy", they said. </p>
  
  <p>So I did.</p>
  
  <p>My site (www.romanorum.com.au) is fairly traditional HTML forms, dynamic web pages etc using razor. I followed the bouncing ball, made my site HTTPS, downloaded the service worker scripts, ran Lighthouse etc. Of course my dynamic web pages continually hit errors using Cache First. I changed it to Server First, and everything seemed fine ... but now I notice that any page that posts a html form (such as my Search screen or Checkout page) receives a "Cannot find your page" error on Edge. These pages continue to work perfectly fine in Chrome and even Internet Explorer, but Edge consistently has never brought across form data since I converted it to a PWA, and errors instead.</p>
  
  <p>The forms are submitted using native HTML5, I use as least javascript I can on the site. What could I have done wrong?</p>
  
  <p>EDIT: Here is the service worker script I added from PWABuilder, the posting cshtml files have not been changed as used to work beautifully in Chrome/IE and Edge. I'm thinking my site is not really a PWA ...</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>var CACHE = 'pwabuilder-precache';
  var precacheFiles = [
        /* Add an array of files to precache for your app */
      ];
  
  //Install stage sets up the cache-array to configure pre-cache content
  self.addEventListener('install', function(evt) {
    console.log('[PWA Builder] The service worker is being installed.');
    evt.waitUntil(precache().then(function() {
      console.log('[PWA Builder] Skip waiting on install');
      return self.skipWaiting();
    }));
  });
  
  
  //allow sw to control of current page
  self.addEventListener('activate', function(event) {
    console.log('[PWA Builder] Claiming clients for current page');
    return self.clients.claim();
  });
  
  self.addEventListener('fetch', function(evt) {
    console.log('[PWA Builder] The service worker is serving the asset.'+ evt.request.url);
    evt.respondWith(fromServer(evt.request).catch(fromCache(evt.request)));
    evt.waitUntil(update(evt.request));
  });
  
  
  function precache() {
    return caches.open(CACHE).then(function (cache) {
      return cache.addAll(precacheFiles);
    });
  }
  
  function fromCache(request) {
    //we pull files from the cache first thing so we can show them fast
    return caches.open(CACHE).then(function (cache) {
      return cache.match(request).then(function (matching) {
        return matching || Promise.reject('no-match');
      });
    });
  }
  
  function update(request) {
    //this is where we call the server to get the newest version of the 
    //file to use the next time we show view
    return caches.open(CACHE).then(function (cache) {
      return fetch(request).then(function (response) {
        return cache.put(request, response);
      });
    });
  }
  
  function fromServer(request){
    //this is the fallback if it is not in the cache to go to the server and get it
    return fetch(request).then(function(response){ return response});
  }</code></pre>
  </div>
  </div>
  </p>