From f366ae2e13cdf2b5262e1512b3e49a74818801aa Mon Sep 17 00:00:00 2001 From: peterpeterparker Date: Tue, 14 Jul 2020 19:35:32 +0200 Subject: [PATCH 1/2] fix: editor re-hydrate on client side --- studio/prerender.config.ts | 2 +- studio/src/app/pages/editor/app-editor/app-editor.tsx | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/studio/prerender.config.ts b/studio/prerender.config.ts index 8d3073af4..3d916f17d 100644 --- a/studio/prerender.config.ts +++ b/studio/prerender.config.ts @@ -4,7 +4,7 @@ import {PrerenderHydrateOptions} from '@stencil/core/internal/stencil-public-com export const config: PrerenderConfig = { hydrateOptions(url?: URL): PrerenderHydrateOptions { const hydrate: PrerenderHydrateOptions = { - excludeComponents: ['deckgo-highlight-code', 'deckgo-slide-poll', 'deckgo-remote', 'app-editor'], + excludeComponents: ['deckgo-highlight-code', 'deckgo-slide-poll', 'deckgo-remote'], }; return hydrate; }, diff --git a/studio/src/app/pages/editor/app-editor/app-editor.tsx b/studio/src/app/pages/editor/app-editor/app-editor.tsx index d482e9442..7df7243ba 100644 --- a/studio/src/app/pages/editor/app-editor/app-editor.tsx +++ b/studio/src/app/pages/editor/app-editor/app-editor.tsx @@ -1,4 +1,4 @@ -import {Component, Element, h, JSX, Listen, Prop, State} from '@stencil/core'; +import {Build, Component, Element, h, JSX, Listen, Prop, State} from '@stencil/core'; import {ItemReorderEventDetail, modalController, OverlayEventDetail} from '@ionic/core'; @@ -162,6 +162,10 @@ export class AppEditor { } async initOffline() { + if (Build.isServer) { + return; + } + // if we are offline we can't create a new deck or edit another one that the one we have marked as currently being edited offline const offline: OfflineDeck = await this.offlineService.status(); if (offline !== undefined) { From 37687f34a4646297d65b5ef54204cfa5e761710a Mon Sep 17 00:00:00 2001 From: peterpeterparker Date: Tue, 14 Jul 2020 19:48:30 +0200 Subject: [PATCH 2/2] fix: if access /editor with prerendering el might be not created/attached yet even in destroy --- .../handlers/editor/events/remote/remote-events.handler.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/studio/src/app/handlers/editor/events/remote/remote-events.handler.tsx b/studio/src/app/handlers/editor/events/remote/remote-events.handler.tsx index 74b1f7480..0c2f31524 100644 --- a/studio/src/app/handlers/editor/events/remote/remote-events.handler.tsx +++ b/studio/src/app/handlers/editor/events/remote/remote-events.handler.tsx @@ -42,6 +42,10 @@ export class RemoteEventsHandler { } async destroy() { + if (!this.el) { + return; + } + await this.disconnect(); if (this.destroyConnectListener) {