[MM-50485] Migrate app to ServerManager, remove view names and replace with IDs (#2672)
* Migrate app to ServerManager, remove view names and replace with IDs * Fixed a test * Fixed a bug when adding the initial server * Merge'd * Bug fixes and PR feedback
This commit is contained in:
@@ -25,8 +25,7 @@ import {
|
||||
BROWSER_HISTORY_PUSH,
|
||||
APP_LOGGED_IN,
|
||||
APP_LOGGED_OUT,
|
||||
GET_VIEW_NAME,
|
||||
GET_VIEW_WEBCONTENTS_ID,
|
||||
GET_VIEW_INFO_FOR_TEST,
|
||||
DISPATCH_GET_DESKTOP_SOURCES,
|
||||
DESKTOP_SOURCES_RESULT,
|
||||
VIEW_FINISHED_RESIZING,
|
||||
@@ -45,15 +44,14 @@ const CLEAR_CACHE_INTERVAL = 6 * 60 * 60 * 1000; // 6 hours
|
||||
let appVersion;
|
||||
let appName;
|
||||
let sessionExpired;
|
||||
let viewName;
|
||||
let viewId;
|
||||
let shouldSendNotifications;
|
||||
|
||||
console.log('Preload initialized');
|
||||
|
||||
if (process.env.NODE_ENV === 'test') {
|
||||
contextBridge.exposeInMainWorld('testHelper', {
|
||||
getViewName: () => ipcRenderer.invoke(GET_VIEW_NAME),
|
||||
getWebContentsId: () => ipcRenderer.invoke(GET_VIEW_WEBCONTENTS_ID),
|
||||
getViewInfoForTest: () => ipcRenderer.invoke(GET_VIEW_INFO_FOR_TEST),
|
||||
});
|
||||
}
|
||||
|
||||
@@ -92,8 +90,8 @@ window.addEventListener('load', () => {
|
||||
return;
|
||||
}
|
||||
watchReactAppUntilInitialized(() => {
|
||||
ipcRenderer.send(REACT_APP_INITIALIZED, viewName);
|
||||
ipcRenderer.send(BROWSER_HISTORY_BUTTON, viewName);
|
||||
ipcRenderer.send(REACT_APP_INITIALIZED, viewId);
|
||||
ipcRenderer.send(BROWSER_HISTORY_BUTTON, viewId);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -152,27 +150,27 @@ window.addEventListener('message', ({origin, data = {}} = {}) => {
|
||||
}
|
||||
case 'browser-history-push': {
|
||||
const {path} = message;
|
||||
ipcRenderer.send(BROWSER_HISTORY_PUSH, viewName, path);
|
||||
ipcRenderer.send(BROWSER_HISTORY_PUSH, viewId, path);
|
||||
break;
|
||||
}
|
||||
case 'history-button': {
|
||||
ipcRenderer.send(BROWSER_HISTORY_BUTTON, viewName);
|
||||
ipcRenderer.send(BROWSER_HISTORY_BUTTON, viewId);
|
||||
break;
|
||||
}
|
||||
case 'get-desktop-sources': {
|
||||
ipcRenderer.send(DISPATCH_GET_DESKTOP_SOURCES, viewName, message);
|
||||
ipcRenderer.send(DISPATCH_GET_DESKTOP_SOURCES, viewId, message);
|
||||
break;
|
||||
}
|
||||
case CALLS_JOIN_CALL: {
|
||||
ipcRenderer.send(CALLS_JOIN_CALL, viewName, message);
|
||||
ipcRenderer.send(CALLS_JOIN_CALL, viewId, message);
|
||||
break;
|
||||
}
|
||||
case CALLS_WIDGET_SHARE_SCREEN: {
|
||||
ipcRenderer.send(CALLS_WIDGET_SHARE_SCREEN, viewName, message);
|
||||
ipcRenderer.send(CALLS_WIDGET_SHARE_SCREEN, viewId, message);
|
||||
break;
|
||||
}
|
||||
case CALLS_LEAVE_CALL: {
|
||||
ipcRenderer.send(CALLS_LEAVE_CALL, viewName, message);
|
||||
ipcRenderer.send(CALLS_LEAVE_CALL, viewId, message);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -202,12 +200,12 @@ const findUnread = (favicon) => {
|
||||
const result = document.getElementsByClassName(classPair);
|
||||
return result && result.length > 0;
|
||||
});
|
||||
ipcRenderer.send(UNREAD_RESULT, favicon, viewName, isUnread);
|
||||
ipcRenderer.send(UNREAD_RESULT, favicon, viewId, isUnread);
|
||||
};
|
||||
|
||||
ipcRenderer.on(IS_UNREAD, (event, favicon, server) => {
|
||||
if (typeof viewName === 'undefined') {
|
||||
viewName = server;
|
||||
if (typeof viewId === 'undefined') {
|
||||
viewId = server;
|
||||
}
|
||||
if (isReactAppInitialized()) {
|
||||
findUnread(favicon);
|
||||
@@ -219,13 +217,13 @@ ipcRenderer.on(IS_UNREAD, (event, favicon, server) => {
|
||||
});
|
||||
|
||||
ipcRenderer.on(SET_VIEW_OPTIONS, (_, name, shouldNotify) => {
|
||||
viewName = name;
|
||||
viewId = name;
|
||||
shouldSendNotifications = shouldNotify;
|
||||
});
|
||||
|
||||
function getUnreadCount() {
|
||||
// LHS not found => Log out => Count should be 0, but session may be expired.
|
||||
if (typeof viewName !== 'undefined') {
|
||||
if (typeof viewId !== 'undefined') {
|
||||
let isExpired;
|
||||
if (document.getElementById('sidebar-left') === null) {
|
||||
const extraParam = (new URLSearchParams(window.location.search)).get('extra');
|
||||
@@ -235,7 +233,7 @@ function getUnreadCount() {
|
||||
}
|
||||
if (isExpired !== sessionExpired) {
|
||||
sessionExpired = isExpired;
|
||||
ipcRenderer.send(SESSION_EXPIRED, sessionExpired, viewName);
|
||||
ipcRenderer.send(SESSION_EXPIRED, sessionExpired, viewId);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -308,10 +306,10 @@ ipcRenderer.on(BROWSER_HISTORY_BUTTON, (event, enableBack, enableForward) => {
|
||||
|
||||
window.addEventListener('storage', (e) => {
|
||||
if (e.key === '__login__' && e.storageArea === localStorage && e.newValue) {
|
||||
ipcRenderer.send(APP_LOGGED_IN, viewName);
|
||||
ipcRenderer.send(APP_LOGGED_IN, viewId);
|
||||
}
|
||||
if (e.key === '__logout__' && e.storageArea === localStorage && e.newValue) {
|
||||
ipcRenderer.send(APP_LOGGED_OUT, viewName);
|
||||
ipcRenderer.send(APP_LOGGED_OUT, viewId);
|
||||
}
|
||||
});
|
||||
|
||||
|
Reference in New Issue
Block a user