Skip to content

Commit

Permalink
handle FOCUS_LEFT conference error
Browse files Browse the repository at this point in the history
  • Loading branch information
isymchych committed Feb 5, 2016
1 parent 4228537 commit 379f786
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 6 deletions.
6 changes: 5 additions & 1 deletion conference.js
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ class ConferenceConnector {
break;

case ConferenceErrors.GRACEFUL_SHUTDOWN:
APP.UI.notifyGracefulShudown();
APP.UI.notifyGracefulShutdown();
break;

case ConferenceErrors.JINGLE_FATAL_ERROR:
Expand All @@ -168,6 +168,10 @@ class ConferenceConnector {
}
break;

case ConferenceErrors.FOCUS_LEFT:
APP.UI.notifyFocusLeft();
break;

default:
this._handleConferenceFailed(err, ...params);
}
Expand Down
1 change: 1 addition & 0 deletions lang/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@
"failtoinstall": "Failed to install desktop sharing extension",
"failedpermissions": "Failed to obtain permissions to use the local microphone and/or camera.",
"bridgeUnavailable": "Jitsi Videobridge is currently unavailable. Please try again later!",
"jicofoUnavailable": "Jicofo is currently unavailable. Please try again later!",
"lockTitle": "Lock failed",
"lockMessage": "Failed to lock the conference.",
"warning": "Warning",
Expand Down
33 changes: 28 additions & 5 deletions modules/UI/UI.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import EtherpadManager from './etherpad/Etherpad';
import VideoLayout from "./videolayout/VideoLayout";
import SettingsMenu from "./side_pannels/settings/SettingsMenu";
import Settings from "./../settings/Settings";
import { reload } from '../util/helpers';

var EventEmitter = require("events");
UI.messageHandler = require("./util/MessageHandler");
Expand Down Expand Up @@ -136,7 +137,7 @@ function toggleFullScreen () {
/**
* Notify user that server has shut down.
*/
UI.notifyGracefulShudown = function () {
UI.notifyGracefulShutdown = function () {
messageHandler.openMessageDialog(
'dialog.serviceUnavailable',
'dialog.gracefulShutdown'
Expand Down Expand Up @@ -635,7 +636,7 @@ UI.showLoginPopup = function(callback) {
'<input name="password" ' +
'type="password" data-i18n="[placeholder]dialog.userPassword"' +
' placeholder="user password">';
UI.messageHandler.openTwoButtonDialog(null, null, null, message,
messageHandler.openTwoButtonDialog(null, null, null, message,
true,
"dialog.Ok",
function (e, v, m, f) {
Expand Down Expand Up @@ -965,17 +966,39 @@ UI.notifyTokenAuthFailed = function () {
};

UI.notifyInternalError = function () {
UI.messageHandler.showError("dialog.sorry", "dialog.internalError");
messageHandler.showError("dialog.sorry", "dialog.internalError");
};

UI.notifyFocusDisconnected = function (focus, retrySec) {
UI.messageHandler.notify(
messageHandler.notify(
null, "notify.focus",
'disconnected', "notify.focusFail",
{component: focus, ms: retrySec}
);
};

/**
* Notify user that focus left the conference so page should be reloaded.
*/
UI.notifyFocusLeft = function () {
let title = APP.translation.generateTranslationHTML(
'dialog.serviceUnavailable'
);
let msg = APP.translation.generateTranslationHTML(
'dialog.jicofoUnavailable'
);
messageHandler.openDialog(
title,
msg,
true, // persistent
[{title: 'retry'}],
function () {
reload();
return false;
}
);
};

/**
* Updates auth info on the UI.
* @param {boolean} isAuthEnabled if authentication is enabled
Expand Down Expand Up @@ -1030,7 +1053,7 @@ UI.getLargeVideoID = function () {
* Shows dialog with a link to FF extension.
*/
UI.showExtensionRequiredDialog = function (url) {
APP.UI.messageHandler.openMessageDialog(
messageHandler.openMessageDialog(
"dialog.extensionRequired",
null,
null,
Expand Down
7 changes: 7 additions & 0 deletions modules/util/helpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,10 @@ export function createDeferred () {

return deferred;
}

/**
* Reload page.
*/
export function reload () {
window.location.reload();
}

0 comments on commit 379f786

Please sign in to comment.