Problem
There are some situations in which this is thrown from service-worker.js:
const swRpc = (() => {
if (!navigator.serviceWorker) {
throw new Error('Missing service worker object')
}
If that happens the GI logo just spins:

This is bad UX.
This can happen for example when GI is being run from within a VM, and then the host accesses it via http://<vm-ip>:3000
Solution
At the very least we should display some kind of error message to the user that tells us what the problem is.