Webstaff: Offline UI Doesn't Work When Offline
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Evergreen Master (986a2d011)
OpenSRF Master
PostgreSQL 9.5.11
O/S Ubuntu 16.04.3 (latest updates)
Browser Chromium Version 64.0.3282.140 (Official Build) Built on Ubuntu , running on Ubuntu 17.10 (64-bit)
While testing bug 1751318, I discovered that offline mode doesn't work when you're actually offline. For it to work for me, I had to go to offline mode while everything was working, then hit Check out, and click through the warning. At that point, I could kill Apache or the network connection, and offline would work, so long as I did not try to reload the page. Reloading the page or attempting to enter offline mode while offline result in the "This site can't be reached" message from Chromium.
It didn't matter how many times I went to offline circ while connected, or what I tried to do while offline. I even quit the browser a couple of times and tried again. Enabling Chromium's own offline abilities did not seem to help, either.
As an additional data point, I get the following console errors when opening the offline UI while connected:
vendor.bundle.js:6 ReferenceError: q is not defined
at offline.js:850
at Array.filter (<anonymous>)
at offline.js:849
at Object.o [as forEach] (vendor.
at offline.js:848
at u (vendor.
at vendor.bundle.js:6
at h.$digest (vendor.
at vendor.bundle.js:6
at r (vendor.
(anonymous) @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
l @ vendor.bundle.js:6
$digest @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
r @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
setTimeout (async)
c.defer @ vendor.bundle.js:6
$evalAsync @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
c @ vendor.bundle.js:6
h @ vendor.bundle.js:6
n @ vendor.bundle.js:6
r.Ic @ vendor.bundle.js:38
Z @ vendor.bundle.js:38
F.Vf @ vendor.bundle.js:38
j @ vendor.bundle.js:38
Promise.then (async)
yl @ vendor.bundle.js:38
P @ vendor.bundle.js:38
J @ vendor.bundle.js:38
G @ vendor.bundle.js:38
F.Qg @ vendor.bundle.js:38
a @ vendor.bundle.js:38
u @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
$digest @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
r @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
setTimeout (async)
c.defer @ vendor.bundle.js:6
$evalAsync @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
c @ vendor.bundle.js:6
then @ vendor.bundle.js:6
K @ vendor.bundle.js:38
Y @ vendor.bundle.js:38
G @ vendor.bundle.js:38
(anonymous) @ vendor.bundle.js:38
r.Ic @ vendor.bundle.js:38
Z @ vendor.bundle.js:38
F.Vf @ vendor.bundle.js:38
j @ vendor.bundle.js:38
Promise.then (async)
yl @ vendor.bundle.js:38
P @ vendor.bundle.js:38
J @ vendor.bundle.js:38
G @ vendor.bundle.js:38
(anonymous) @ vendor.bundle.js:38
vendor.bundle.js:6 TypeError: Cannot read property 'shortname' of undefined
at offline.js:141
at Object.o [as forEach] (vendor.
at offline.js:139
at u (vendor.
at vendor.bundle.js:6
at h.$digest (vendor.
at h.$apply (vendor.
at u (vendor.
at v (vendor.
at XMLHttpRequest.
(anonymous) @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
l @ vendor.bundle.js:6
$digest @ vendor.bundle.js:6
$apply @ vendor.bundle.js:6
u @ vendor.bundle.js:6
v @ vendor.bundle.js:6
x.onload @ vendor.bundle.js:6
XMLHttpRequest.send (async)
(anonymous) @ vendor.bundle.js:6
g @ vendor.bundle.js:6
u @ vendor.bundle.js:6
u @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
$digest @ vendor.bundle.js:6
$apply @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
r @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
setTimeout (async)
c.defer @ vendor.bundle.js:6
o @ vendor.bundle.js:6
fetch_org_
(anonymous) @ offline.js:731
(anonymous) @ vendor.bundle.js:6
r @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
setTimeout (async)
c.defer @ vendor.bundle.js:6
o @ vendor.bundle.js:6
fetch_org_
(anonymous) @ offline.js:736
s @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
link @ vendor.bundle.js:11
(anonymous) @ vendor.bundle.js:6
kt @ vendor.bundle.js:6
h @ vendor.bundle.js:6
a @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
i @ vendor.bundle.js:6
p @ vendor.bundle.js:6
c @ vendor.bundle.js:11
$broadcast @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:11
u @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
$digest @ vendor.bundle.js:6
$apply @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
a @ vendor.bundle.js:6
r @ vendor.bundle.js:6
lt @ vendor.bundle.js:6
ut @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
l @ jquery.min.js:2
c @ jquery.min.js:2
setTimeout (async)
(anonymous) @ jquery.min.js:2
u @ jquery.min.js:2
fireWith @ jquery.min.js:2
fire @ jquery.min.js:2
u @ jquery.min.js:2
fireWith @ jquery.min.js:2
ready @ jquery.min.js:2
_ @ jquery.min.js:2
vendor.bundle.js:6 TypeError: t.concat is not a function
at vendor.bundle.js:38
at fn (eval at compile (vendor.
at o (vendor.
at h.$digest (vendor.
at h.$apply (vendor.
at u (vendor.
at v (vendor.
at XMLHttpRequest.
(anonymous) @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
$digest @ vendor.bundle.js:6
$apply @ vendor.bundle.js:6
u @ vendor.bundle.js:6
v @ vendor.bundle.js:6
x.onload @ vendor.bundle.js:6
XMLHttpRequest.send (async)
(anonymous) @ vendor.bundle.js:6
g @ vendor.bundle.js:6
u @ vendor.bundle.js:6
u @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
$digest @ vendor.bundle.js:6
$apply @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
r @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
setTimeout (async)
c.defer @ vendor.bundle.js:6
o @ vendor.bundle.js:6
fetch_org_
(anonymous) @ offline.js:731
(anonymous) @ vendor.bundle.js:6
r @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
setTimeout (async)
c.defer @ vendor.bundle.js:6
o @ vendor.bundle.js:6
fetch_org_
(anonymous) @ offline.js:736
s @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
link @ vendor.bundle.js:11
(anonymous) @ vendor.bundle.js:6
kt @ vendor.bundle.js:6
h @ vendor.bundle.js:6
a @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
i @ vendor.bundle.js:6
p @ vendor.bundle.js:6
c @ vendor.bundle.js:11
$broadcast @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:11
u @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
$digest @ vendor.bundle.js:6
$apply @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
a @ vendor.bundle.js:6
r @ vendor.bundle.js:6
lt @ vendor.bundle.js:6
ut @ vendor.bundle.js:6
(anonymous) @ vendor.bundle.js:6
l @ jquery.min.js:2
c @ jquery.min.js:2
setTimeout (async)
(anonymous) @ jquery.min.js:2
u @ jquery.min.js:2
fireWith @ jquery.min.js:2
fire @ jquery.min.js:2
u @ jquery.min.js:2
fireWith @ jquery.min.js:2
ready @ jquery.min.js:2
_ @ jquery.min.js:2
I suspect the branch from bug 1739803 of causing this, but I have not rolled back, yet, to verify that.
Maybe I just don't understand how this works. I get the same behavior if I roll back to commit 664608a1, the commit before webpack went in.