<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>236483</bug_id>
          
          <creation_ts>2022-02-10 21:42:16 -0800</creation_ts>
          <short_desc>In standalone mode (PWA), page won&apos;t load when navigation preload is enabled</short_desc>
          <delta_ts>2022-03-01 11:54:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Service Workers</component>
          <version>Safari 15</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 15</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WORKSFORME</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Howard Wu">howu</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>jameshoward</cc>
    
    <cc>smoley</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1840190</commentid>
    <comment_count>0</comment_count>
      <attachid>451639</attachid>
    <who name="Howard Wu">howu</who>
    <bug_when>2022-02-10 21:42:16 -0800</bug_when>
    <thetext>Created attachment 451639
Minimal test page

On iOS 15.4 (beta), when a page runs in standalone mode with navigation preload enabled, the `preloadResponse` of the navigation request to `start_url` is a 200 with an empty response body.
If the service worker responds to the navigation request with this empty `preloadResponse`, the site cannot be loaded and the app results in a blank white screen.
This issue is not observed in non-standalone mode, nor in OS versions lower than 15.4.

Attached is a minimal test page that exhibits the issue.
Repro steps:
  1. Create a standalone homescreen icon to the attached site (on devices/simulators running iOS 15.4)
  2. Open the homescreen icon and observe that the page is loaded
  3. Swipe out the page and open it again (this time service worker is activated)
  4. Observe that the page is not loaded</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841548</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-14 19:54:46 -0800</bug_when>
    <thetext>&lt;rdar://problem/88943495&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841564</commentid>
    <comment_count>2</comment_count>
    <who name="Howard Wu">howu</who>
    <bug_when>2022-02-14 20:17:02 -0800</bug_when>
    <thetext>After playing with the minimal test page more, I found that sometimes the issue can be reproduced in non-standalone mode as well. Unlike in standalone mode where this issue always happens, in non-standalone mode, it doesn&apos;t always fall into this problematic state. However, once I reproduce this issue in non-standalone, opening a new tab and navigating to the page would always result in this issue.

I cannot find a proper way to fix/workaround this issue, and would appreciate if you could shed some light on this.

I uploaded the test page for your convenience. https://wuchenhao.github.io/empty-preload-response/index.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846136</commentid>
    <comment_count>3</comment_count>
    <who name="Smoley">smoley</who>
    <bug_when>2022-02-25 12:20:33 -0800</bug_when>
    <thetext>Thanks for filing, I&apos;ve not been able to reproduce this on iOS 15.4 beta 4 (19E5235a) in a standalone PWA. Are you still seeing this on the latest beta?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846922</commentid>
    <comment_count>4</comment_count>
    <who name="Howard Wu">howu</who>
    <bug_when>2022-02-28 22:15:12 -0800</bug_when>
    <thetext>I am not able to reproduce this on iOS 15.4 beta 4 either. Thanks for the update!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>451639</attachid>
            <date>2022-02-10 21:42:16 -0800</date>
            <delta_ts>2022-02-10 21:42:16 -0800</delta_ts>
            <desc>Minimal test page</desc>
            <filename>empty-preload-response.zip</filename>
            <type>application/zip</type>
            <size>2870</size>
            <attacher name="Howard Wu">howu</attacher>
            
              <data encoding="base64">UEsDBBQAAAAAAEtoS1QAAAAAAAAAAAAAAAAXACAAZW1wdHktcHJlbG9hZC1yZXNwb25zZS9VVA0A
B9/tBWLg7QVix/EFYnV4CwABBPYBAAAEFAAAAFBLAwQUAAgACABMaEtUAAAAAAAAAAAPAgAAIQAg
AGVtcHR5LXByZWxvYWQtcmVzcG9uc2UvaW5kZXguaHRtbFVUDQAH4O0FYtXxBWLg7QVidXgLAAEE
9gEAAAQUAAAAhZE9T8QwDIb3+xW57G11G0PaBW7mhFgY3dRtA/lSbIT670kvgpYTiCyOv97HstXx
4fH++eVyFjM72x3UaoQFP7USvewOIj81Iwzle3UdMgg9QyLkVr7zWN1J0ewKrPFvIqFtpQNvRiSW
Yk44bn79gf2W0ykQhWQm47MeYaUTDujZgKWfymzYYnd2kRcRMyHA8IQUgydUTUnezOnBYSshRouV
C73JJrOrHKg0ROgtZn7wnHGtXPCG95/EFbkT+HWyv5ZDvFikGfF7PSVSa9rGUE3ZfnH6MCw7rfnU
XWBCYUisQByOufz01bgVK9LJRBaU9HoD4+tXkp1qSjifvSnn/wRQSwcIp/4oswEBAAAPAgAAUEsD
BBQACAAIADyHSlQAAAAAAAAAAAQYAAAgACAAZW1wdHktcHJlbG9hZC1yZXNwb25zZS8uRFNfU3Rv
cmVVVA0AB5TTBGIQ1gRilNMEYnV4CwABBPYBAAAEFAAAAO2YOw7CMBBEZ0OEItG4pPQVuIGF4ARc
gG8XiSLQp+JcHI1EO3ykQBEaEMyLVq/IrmM3tjcAbHrcToAAoIAbJzylYHTIaPNoxjig2labcr3f
l8/H6tDWDrFC1Ty7N+qFEEII0Q9zFaPPTkMI8YW0+0OkE127je8zOn+oCXSkE127jXkZndMFHehI
J7p2c9MyNh/GLxs7FAt0pFOvJQvxNwxcoT3/53jZ/wshfhjLZ4vZFLeGoEN71sYmlsw5XwtfXAQy
/2E4xj0v0omu3boMCPEJLlBLBwjhP7Sc0gAAAAQYAABQSwMEFAAIAAgAPIdKVAAAAAAAAAAAeAAA
ACsAIABfX01BQ09TWC9lbXB0eS1wcmVsb2FkLXJlc3BvbnNlLy5fLkRTX1N0b3JlVVQNAAeU0wRi
ENYEYtnxBWJ1eAsAAQT2AQAABBQAAABjYBVjZ2BiYPBNTFbwD1aIUIACkBgDJxAbAbEbEIP4FUDM
AFPhIMCAAziGhARBmRUwXegAAFBLBwgLiMA4NQAAAHgAAABQSwMEFAAIAAgAhmhLVAAAAAAAAAAA
JAAAACEAIABlbXB0eS1wcmVsb2FkLXJlc3BvbnNlL3N0eWxlcy5jc3NVVA0AB03uBWLV8QViTe4F
YnV4CwABBPYBAAAEFAAAAMswVKjmUgCCpMTk7PSi/NK8FN3k/Jz8IiuFytScnPxya65aAFBLBwj4
4yGfJAAAACQAAABQSwMEFAAIAAgAdWJLVAAAAAAAAAAAswAAAB4AIABlbXB0eS1wcmVsb2FkLXJl
c3BvbnNlL21haW4uanNVVA0AB97jBWLV8QVi3uMFYnV4CwABBPYBAAAEFAAAAFWOMQqAMAxFd0+R
rXbpBUSv4SiisUalgbToIN7dKlrxTSE/eXwaIFceZaUOa5YZRQE5cO1Ktg0sGvYMImlhfsd3dmEE
LfmAEm2bmbzSXxRGdHkDZfW4Xjp2nhc0C9vUAbbbC68Oe6WL9HXE+TgBUEsHCHoxXMRuAAAAswAA
AFBLAwQUAAgACAAhYktUAAAAAAAAAABmAAAAKwAgAGVtcHR5LXByZWxvYWQtcmVzcG9uc2UvbWFu
aWZlc3Qud2VibWFuaWZlc3RVVA0ABz/jBWLV8QViP+MFYnV4CwABBPYBAAAEFAAAAKvmUgACpbzE
3FQlKwUl19yCkkqFgqLUnPzElKDU4oL8vOJUJR2IopTM4oKcxEqQuuKSxLyUxJz8PLgkUKSoJL60
KAckraefmZeSWqGXUZKbo8RVywUAUEsHCIJcmndWAAAAZgAAAFBLAwQUAAgACADEZUtUAAAAAAAA
AADWAgAAHAAgAGVtcHR5LXByZWxvYWQtcmVzcG9uc2Uvc3cuanNVVA0ABxDqBWLV8QViEOoFYnV4
CwABBPYBAAAEFAAAAG1RzWrDMAy+9yk0GMSB4gdYyQ6F3XoYg7Fr3VhJDJ7c2UpLaPPuc+ImbdcJ
Akb59P1IAW0lldZvByTemMBI6EWmSjYHxZgtAYc/ULzCaQGxSkfBWZTW1SILR5iQOstXI2DEy6My
/ElsrBibQ4VBymMdRbxi40iSOph6fL57tE5piaR2FkUuuUESIr/qTnWnfyWAfWKAxDC7GarPl+M7
tvr4LcL/mSvksnkMbCoQKZPHnxYDy2+nEZ6KAiZ9zOB8vgS/+PjAsI9OEYqIa0ljZQh1fhPGI7ee
kst+8bjbNhiq51j+wvcyGZzdtN7ebT4h9ZfhRqjQUQlVS+W4I3GrP4jxzAsFqOFm/6dY3U1NFrd/
zUFgxW0onk9TR6ZOv4Sd0926Y9wg1dxEiEh6M7K0jobLK+9Vt26rKt4kz+Vunum3NzdN25unL2uM
A+ONfwFQSwcI5/QlpE4BAADWAgAAUEsBAhQDFAAAAAAAS2hLVAAAAAAAAAAAAAAAABcAIAAAAAAA
AAAAAO1BAAAAAGVtcHR5LXByZWxvYWQtcmVzcG9uc2UvVVQNAAff7QVi4O0FYsfxBWJ1eAsAAQT2
AQAABBQAAABQSwECFAMUAAgACABMaEtUp/4oswEBAAAPAgAAIQAgAAAAAAAAAAAApIFVAAAAZW1w
dHktcHJlbG9hZC1yZXNwb25zZS9pbmRleC5odG1sVVQNAAfg7QVi1fEFYuDtBWJ1eAsAAQT2AQAA
BBQAAABQSwECFAMUAAgACAA8h0pU4T+0nNIAAAAEGAAAIAAgAAAAAAAAAAAApIHFAQAAZW1wdHkt
cHJlbG9hZC1yZXNwb25zZS8uRFNfU3RvcmVVVA0AB5TTBGIQ1gRilNMEYnV4CwABBPYBAAAEFAAA
AFBLAQIUAxQACAAIADyHSlQLiMA4NQAAAHgAAAArACAAAAAAAAAAAACkgQUDAABfX01BQ09TWC9l
bXB0eS1wcmVsb2FkLXJlc3BvbnNlLy5fLkRTX1N0b3JlVVQNAAeU0wRiENYEYtnxBWJ1eAsAAQT2
AQAABBQAAABQSwECFAMUAAgACACGaEtU+OMhnyQAAAAkAAAAIQAgAAAAAAAAAAAApIGzAwAAZW1w
dHktcHJlbG9hZC1yZXNwb25zZS9zdHlsZXMuY3NzVVQNAAdN7gVi1fEFYk3uBWJ1eAsAAQT2AQAA
BBQAAABQSwECFAMUAAgACAB1YktUejFcxG4AAACzAAAAHgAgAAAAAAAAAAAApIFGBAAAZW1wdHkt
cHJlbG9hZC1yZXNwb25zZS9tYWluLmpzVVQNAAfe4wVi1fEFYt7jBWJ1eAsAAQT2AQAABBQAAABQ
SwECFAMUAAgACAAhYktUglyad1YAAABmAAAAKwAgAAAAAAAAAAAApIEgBQAAZW1wdHktcHJlbG9h
ZC1yZXNwb25zZS9tYW5pZmVzdC53ZWJtYW5pZmVzdFVUDQAHP+MFYtXxBWI/4wVidXgLAAEE9gEA
AAQUAAAAUEsBAhQDFAAIAAgAxGVLVOf0JaROAQAA1gIAABwAIAAAAAAAAAAAAKSB7wUAAGVtcHR5
LXByZWxvYWQtcmVzcG9uc2Uvc3cuanNVVA0ABxDqBWLV8QViEOoFYnV4CwABBPYBAAAEFAAAAFBL
BQYAAAAACAAIAHkDAACnBwAAAAA=
</data>

          </attachment>
      

    </bug>

</bugzilla>