diff --git a/client/homebrew/pages/sharePage/sharePage.jsx b/client/homebrew/pages/sharePage/sharePage.jsx index 4b03cffdf..80d544c3a 100644 --- a/client/homebrew/pages/sharePage/sharePage.jsx +++ b/client/homebrew/pages/sharePage/sharePage.jsx @@ -54,7 +54,15 @@ const SharePage = (props)=>{ fetchThemeBundle(undefined, setThemeBundle, currentBrew.renderer, currentBrew.theme); // listen for changes in the brew version - const eventSource = new EventSource(`/stream/${props.brew.shareId}`); + const eventSource = new EventSource(`/api/stream/${props.brew.shareId}`); + + let subId = ''; + eventSource.addEventListener('subscribe', (evt)=>{ + const messageData = JSON.parse(evt.data); + + subId = messageData.id; + }); + eventSource.addEventListener('brewUpdated', (evt)=>{ const messageData = JSON.parse(evt.data); @@ -64,7 +72,11 @@ const SharePage = (props)=>{ } }); - return ()=>{ + window.addEventListener('beforeunload', async ()=>{ + await request.get(`/api/stream/unsubscribe/${subId}`); + }); + + return async ()=>{ document.removeEventListener('keydown', handleControlKeys); eventSource.close(); };