title: What happens when user uses browser actions with Angular 5 / Ionic 3 PWA?
body: <p>When we have a native/hybrid mobile app it normally boils down to user actions via mobile app UI that alter the state of the application.</p>
  
  <p>But now when we have a progressive web app (that may not be yet a full screen UI since the user has not yet added it to home screen etc) we inherit a few additional user actions that we have to treat as a source of truth:</p>
  
  <ul>
  <li>User can alter / enter new URL </li>
  <li>User can go back / forward</li>
  <li>User can hit refresh</li>
  </ul>
  
  <p>So lets assume the context below:</p>
  
  <ul>
  <li>we have a PWA with a few lazy loading pages: homepage, aboutpage,
  userpage. </li>
  <li>there is no login auth etc for this example</li>
  <li>when user navigates to www.ourprogressivewebapp.com they land on
  homepage: <a href="https://ourprogressivewebapp.com/#/home.page" rel="nofollow noreferrer">https://ourprogressivewebapp.com/#/home.page</a></li>
  <li>our PWA's nav stack now has rootPage = homepage</li>
  </ul>
  
  <p>Questions given the above "state":</p>
  
  <ol>
  <li><p>What happens when user hits refresh at this point? is there a difference in the app behavior between when user entered the original url for the first time (www.ourprogressivewebapp.com) and when they hit 'refresh' (where now address field was showing <a href="https://ourprogressivewebapp.com/#/home.page" rel="nofollow noreferrer">https://ourprogressivewebapp.com/#/home.page</a>)</p></li>
  <li><p>Now if user clicked inside the app's ui "go to about page" which
  lazy loaded and was pushed to the nav stack (user sees:
  <a href="https://ourprogressivewebapp.com/#/about.page" rel="nofollow noreferrer">https://ourprogressivewebapp.com/#/about.page</a>, rootpage is homepage but we also have about page in the stack now). What happens if user hits refresh now? will the app "skip" loading homepage?</p></li>
  <li><p>Last one, now user clicked userpage and it was also "pushed" into
  the nav stack (<a href="https://ourprogressivewebapp.com/#/user.page" rel="nofollow noreferrer">https://ourprogressivewebapp.com/#/user.page</a>). What
  happens if this user will start pressing "back" in their browser?
  will that be interpreted as pop() method and those pages will go
  "off stack" or what really happens in this scenario from app's state
  perspective?</p></li>
  </ol>
  
  <p>I am looking either for direct answers or help to point me at the articles that cover this behavior in detail.</p>