X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fmain.ts;h=159c47e868484424e7c4052d3320f0bef4514d2b;hb=58af76dc4ea9c4f97fca5b5952d9bc4071b7b20a;hp=0fddf3aace64c3d7938a4b25b1adfb7c01288806;hpb=68f6c87a27bd3616644368154914a683001f8aa6;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/main.ts b/client/src/main.ts index 0fddf3aac..159c47e86 100644 --- a/client/src/main.ts +++ b/client/src/main.ts @@ -3,30 +3,17 @@ import { enableDebugTools } from '@angular/platform-browser' import { platformBrowserDynamic } from '@angular/platform-browser-dynamic' import { AppModule } from './app/app.module' import { environment } from './environments/environment' +import { logger } from './root-helpers' if (environment.production) { enableProdMode() } +logger.registerServerSending(environment.apiUrl) + const bootstrap = () => platformBrowserDynamic() .bootstrapModule(AppModule) .then(bootstrapModule => { - // TODO: Uncomment and remove unregistration when https://github.com/angular/angular/issues/21191 is fixed - // TODO: Remove when https://github.com/angular/angular-cli/issues/8779 is fixed? - // if ('serviceWorker' in navigator && environment.production) { - // navigator.serviceWorker.register('/ngsw-worker.js') - // .catch(err => console.error('Cannot register service worker.', err)) - // } - - if (navigator.serviceWorker && typeof navigator.serviceWorker.getRegistrations === 'function') { - navigator.serviceWorker.getRegistrations() - .then(registrations => { - for (const registration of registrations) { - registration.unregister() - } - }) - } - if (!environment.production) { const applicationRef = bootstrapModule.injector.get(ApplicationRef) const componentRef = applicationRef.components[0] @@ -38,7 +25,19 @@ const bootstrap = () => platformBrowserDynamic() return bootstrapModule }) .catch(err => { - console.error(err) + try { + logger.error(err) + } catch (err2) { + console.error('Cannot log error', { err, err2 }) + } + + // Ensure we display an "incompatible message" on Angular bootstrap error + setTimeout(() => { + if (document.querySelector('my-app').innerHTML === '') { + throw err + } + }, 1000) + return null })