From 6889b392a47fc84f22280ec11e8f58ef280b6f0a Mon Sep 17 00:00:00 2001 From: Peter Gerwinski <peter.gerwinski@hs-bochum.de> Date: Fri, 24 Jul 2020 12:04:47 +0200 Subject: [PATCH] Jitsi-Meet-App: URL per Environment-Variable vorgeben --- jitsi-meet-electron-pg-20200629.diff | 104 +++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 jitsi-meet-electron-pg-20200629.diff diff --git a/jitsi-meet-electron-pg-20200629.diff b/jitsi-meet-electron-pg-20200629.diff new file mode 100644 index 0000000..fd79701 --- /dev/null +++ b/jitsi-meet-electron-pg-20200629.diff @@ -0,0 +1,104 @@ +diff --git a/app/features/conference/components/Conference.js b/app/features/conference/components/Conference.js +index b87fc02..9389894 100644 +--- a/app/features/conference/components/Conference.js ++++ b/app/features/conference/components/Conference.js +@@ -295,6 +295,7 @@ class Conference extends Component<Props, State> { + * @private + */ + _onVideoConferenceEnded(event: Event) { ++ window.jitsiNodeAPI.ipc.send('conference-ended'); + this.props.dispatch(conferenceEnded(this._conference)); + this._navigateToHome(event); + } +diff --git a/app/features/welcome/components/Welcome.js b/app/features/welcome/components/Welcome.js +index f0bb138..20c17aa 100644 +--- a/app/features/welcome/components/Welcome.js ++++ b/app/features/welcome/components/Welcome.js +@@ -111,9 +111,16 @@ class Welcome extends Component<Props, State> { + * @returns {void} + */ + componentDidMount() { +- this.props.dispatch(startOnboarding('welcome-page')); +- +- this._updateRoomname(); ++ var urlParams = new URLSearchParams(window.location.search); ++ var directUrl = urlParams.get('url'); ++ if (directUrl.length > 0) { ++ this.state.url = directUrl; ++ this._onJoin(); ++ } ++ else { ++ this.props.dispatch(startOnboarding('welcome-page')); ++ this._updateRoomname(); ++ } + } + + /** +diff --git a/app/preload/preload.js b/app/preload/preload.js +index 85064ea..4d214cd 100644 +--- a/app/preload/preload.js ++++ b/app/preload/preload.js +@@ -27,7 +27,7 @@ function openExternalLink(link) { + } + } + +-const whitelistedIpcChannels = [ 'protocol-data-msg', 'renderer-ready' ]; ++const whitelistedIpcChannels = [ 'protocol-data-msg', 'renderer-ready', 'conference-ended' ]; + + window.jitsiNodeAPI = { + createElectronStorage, +diff --git a/main.js b/main.js +index 0ca6cde..b4eee89 100644 +--- a/main.js ++++ b/main.js +@@ -173,7 +173,8 @@ function createJitsiMeetWindow() { + const indexURL = URL.format({ + pathname: path.resolve(basePath, './build/index.html'), + protocol: 'file:', +- slashes: true ++ slashes: true, ++ search: 'url=' + (process.env.URL ? process.env.URL : '') + }); + + // Options used when creating the main Jitsi Meet window. +@@ -356,3 +357,13 @@ ipcMain.on('renderer-ready', () => { + .send('protocol-data-msg', protocolDataForFrontApp); + } + }); ++ ++/** ++ * When a URL has been specified via the URL environment variable, ++ * exit the program after the conference ended. ++ */ ++ipcMain.on('conference-ended', () => { ++ if (process.env.URL) { ++ app.quit(); ++ } ++}); +diff --git a/resources/icons/icon_128x128.png b/resources/icons/icon_128x128.png +old mode 100755 +new mode 100644 +diff --git a/resources/icons/icon_16x16.png b/resources/icons/icon_16x16.png +old mode 100755 +new mode 100644 +diff --git a/resources/icons/icon_24x24.png b/resources/icons/icon_24x24.png +old mode 100755 +new mode 100644 +diff --git a/resources/icons/icon_256x256.png b/resources/icons/icon_256x256.png +old mode 100755 +new mode 100644 +diff --git a/resources/icons/icon_32x32.png b/resources/icons/icon_32x32.png +old mode 100755 +new mode 100644 +diff --git a/resources/icons/icon_48x48.png b/resources/icons/icon_48x48.png +old mode 100755 +new mode 100644 +diff --git a/resources/icons/icon_512x512.png b/resources/icons/icon_512x512.png +old mode 100755 +new mode 100644 +diff --git a/resources/icons/icon_64x64.png b/resources/icons/icon_64x64.png +old mode 100755 +new mode 100644 +diff --git a/resources/icons/icon_96x96.png b/resources/icons/icon_96x96.png +old mode 100755 +new mode 100644 -- GitLab