Merge pull request #2063 from matrix-org/dbkr/jitsi_check_scalar_first
Jitsi: Check integrations server before callpull/21833/head
						commit
						0a432dfb8f
					
				|  | @ -62,6 +62,7 @@ import dis from './dispatcher'; | |||
| import { showUnknownDeviceDialogForCalls } from './cryptodevices'; | ||||
| import SettingsStore from "./settings/SettingsStore"; | ||||
| import WidgetUtils from './utils/WidgetUtils'; | ||||
| import ScalarAuthClient from './ScalarAuthClient'; | ||||
| 
 | ||||
| global.mxCalls = { | ||||
|     //room_id: MatrixCall
 | ||||
|  | @ -401,7 +402,29 @@ function _onAction(payload) { | |||
|     } | ||||
| } | ||||
| 
 | ||||
| function _startCallApp(roomId, type) { | ||||
| async function _startCallApp(roomId, type) { | ||||
|     // check for a working intgrations manager. Technically we could put
 | ||||
|     // the state event in anyway, but the resulting widget would then not
 | ||||
|     // work for us. Better that the user knows before everyone else in the
 | ||||
|     // room sees it.
 | ||||
|     const scalarClient = new ScalarAuthClient(); | ||||
|     let haveScalar = false; | ||||
|     try { | ||||
|         await scalarClient.connect(); | ||||
|         haveScalar = scalarClient.hasCredentials(); | ||||
|     } catch (e) { | ||||
|         // fall through
 | ||||
|     } | ||||
|     if (!haveScalar) { | ||||
|         const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog"); | ||||
| 
 | ||||
|         Modal.createTrackedDialog('Could not connect to the integration server', '', ErrorDialog, { | ||||
|             title: _t('Could not connect to the integration server'), | ||||
|             description: _t('A conference call could not be started because the intgrations server is not available'), | ||||
|         }); | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
|     dis.dispatch({ | ||||
|         action: 'appsDrawer', | ||||
|         show: true, | ||||
|  |  | |||
|  | @ -39,6 +39,8 @@ | |||
|     "Conference calling is in development and may not be reliable.": "Conference calling is in development and may not be reliable.", | ||||
|     "Failed to set up conference call": "Failed to set up conference call", | ||||
|     "Conference call failed.": "Conference call failed.", | ||||
|     "Could not connect to the integration server": "Could not connect to the integration server", | ||||
|     "A conference call could not be started because the intgrations server is not available": "A conference call could not be started because the intgrations server is not available", | ||||
|     "Call in Progress": "Call in Progress", | ||||
|     "A call is already in progress!": "A call is already in progress!", | ||||
|     "Permission Required": "Permission Required", | ||||
|  | @ -712,7 +714,6 @@ | |||
|     "Uploaded on %(date)s by %(user)s": "Uploaded on %(date)s by %(user)s", | ||||
|     "Download this file": "Download this file", | ||||
|     "Integrations Error": "Integrations Error", | ||||
|     "Could not connect to the integration server": "Could not connect to the integration server", | ||||
|     "Manage Integrations": "Manage Integrations", | ||||
|     "%(nameList)s %(transitionList)s": "%(nameList)s %(transitionList)s", | ||||
|     "%(severalUsers)sjoined %(count)s times|other": "%(severalUsers)sjoined %(count)s times", | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Bruno Windels
						Bruno Windels