bug: null is not an object (evaluating ‘e.shadowRoot’)

Bug Report

Ionic version:
[ ] 4.x
[x] 5.x

Current behavior:
When pulling on an <ion-refresher> element Safari/WebKit will throw the following error:

null is not an object (evaluating 'e.shadowRoot')

The element also seems to not properly display. It seems to skip and not expand/retract.

Expected behavior:
It should function how it normally does. This seems to have primarily been an issue when upgrading from 5.4.1 to 5.5.2.

Steps to reproduce:
Well, usually someone just pulls down on an ion-refresher in the app. Only appears to affect WebKit? I cannot reproduce on Firefox.

Related code:
Here is the trace:

File http://app/105-es2015.26880b8766da98a02540.js  line 1 col 3967 in [anonymous]
setupiOSNativeRefresher()
File [native code] line (unknown) in asyncFunctionResume
File http://app/105-es2015.26880b8766da98a02540.js  line 1 col 8602 in [anonymous]
setupNativeRefresher()
File [native code] line (unknown) in asyncFunctionResume
File http://app/105-es2015.26880b8766da98a02540.js  line 1 col 3336 in [anonymous]
checkNativeRefresher()
File [native code] line (unknown) in asyncFunctionResume
File [native code] line (unknown) in promiseReactionJobWithoutPromise

I have tried to reproduce and sometimes I can. Sometimes I cannot. Perhaps someone else can reproduce this more reliably.

It doesn’t appear to cause any major functionality issues, other than the fact that it just abruptly closes and then starts the refresh cycle.

Other information:
As mentioned before, this only started happening after an update from 5.4.1 to 5.5.2. Looks like these changes: 5ed73cd#diff-b29397aad7f5dbb9aef05f5ce05a3bc7df6ae3858de670c6c4dcca0db23bc6a5 may be related?

Ionic info:

Ionic:

   Ionic CLI                     : 6.12.0 (/usr/local/lib/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 5.5.2
   @angular-devkit/build-angular : 0.901.13
   @angular-devkit/schematics    : 10.2.1
   @angular/cli                  : 9.1.13
   @ionic/angular-toolkit        : 2.3.3

Cordova:

   Cordova CLI       : 9.0.0 (cordova-lib@9.0.1)
   Cordova Platforms : not available
   Cordova Plugins   : not available

Utility:

   cordova-res                          : 0.15.2
   native-run (update available: 1.3.0) : 0.2.8

System:

   ios-deploy : 1.9.4
   ios-sim    : 8.0.2
   NodeJS     : v14.5.0 (/usr/local/Cellar/node/14.5.0/bin/node)
   npm        : 6.14.5
   OS         : macOS Big Sur
   Xcode      : Xcode 12.3 Build version 12C33

1 possible answer(s) on “bug: null is not an object (evaluating ‘e.shadowRoot’)