[MM-34527] fix reload and long names (#1524)
This commit is contained in:
@@ -44,8 +44,19 @@ function browserWindowFromWebContents(content) {
|
|||||||
return window;
|
return window;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const DEFAULT_MAX = 20;
|
||||||
|
|
||||||
|
function shorten(string, max) {
|
||||||
|
const maxLength = (max && max >= 4) ? max : DEFAULT_MAX;
|
||||||
|
if (string.length >= maxLength) {
|
||||||
|
return `${string.slice(0, maxLength - 3)}...`;
|
||||||
|
}
|
||||||
|
return string;
|
||||||
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
getDisplayBoundaries,
|
getDisplayBoundaries,
|
||||||
runMode,
|
runMode,
|
||||||
browserWindowFromWebContents,
|
browserWindowFromWebContents,
|
||||||
|
shorten,
|
||||||
};
|
};
|
||||||
|
@@ -6,6 +6,7 @@ import log from 'electron-log';
|
|||||||
|
|
||||||
import {EventEmitter} from 'events';
|
import {EventEmitter} from 'events';
|
||||||
|
|
||||||
|
import Util from 'common/utils/util';
|
||||||
import {RELOAD_INTERVAL, MAX_SERVER_RETRIES, SECOND} from 'common/utils/constants';
|
import {RELOAD_INTERVAL, MAX_SERVER_RETRIES, SECOND} from 'common/utils/constants';
|
||||||
import urlUtils from 'common/utils/url';
|
import urlUtils from 'common/utils/url';
|
||||||
import {LOAD_RETRY, LOAD_SUCCESS, LOAD_FAILED, UPDATE_TARGET_URL, IS_UNREAD, UNREAD_RESULT, TOGGLE_BACK_BUTTON, SET_SERVER_NAME} from 'common/communication';
|
import {LOAD_RETRY, LOAD_SUCCESS, LOAD_FAILED, UPDATE_TARGET_URL, IS_UNREAD, UNREAD_RESULT, TOGGLE_BACK_BUTTON, SET_SERVER_NAME} from 'common/communication';
|
||||||
@@ -87,7 +88,7 @@ export class MattermostView extends EventEmitter {
|
|||||||
|
|
||||||
load = (someURL) => {
|
load = (someURL) => {
|
||||||
const loadURL = (typeof someURL === 'undefined') ? `${this.server.url.toString()}` : urlUtils.parseURL(someURL).toString();
|
const loadURL = (typeof someURL === 'undefined') ? `${this.server.url.toString()}` : urlUtils.parseURL(someURL).toString();
|
||||||
log.info(`[${this.server.name}] Loading ${loadURL}`);
|
log.info(`[${Util.shorten(this.server.name)}] Loading ${loadURL}`);
|
||||||
const loading = this.view.webContents.loadURL(loadURL, {userAgent});
|
const loading = this.view.webContents.loadURL(loadURL, {userAgent});
|
||||||
loading.then(this.loadSuccess(loadURL)).catch((err) => {
|
loading.then(this.loadSuccess(loadURL)).catch((err) => {
|
||||||
this.loadRetry(loadURL, err);
|
this.loadRetry(loadURL, err);
|
||||||
@@ -107,7 +108,7 @@ export class MattermostView extends EventEmitter {
|
|||||||
} else {
|
} else {
|
||||||
WindowManager.sendToRenderer(LOAD_FAILED, this.server.name, err.toString(), loadURL.toString());
|
WindowManager.sendToRenderer(LOAD_FAILED, this.server.name, err.toString(), loadURL.toString());
|
||||||
this.emit(LOAD_FAILED, this.server.name, err.toString(), loadURL.toString());
|
this.emit(LOAD_FAILED, this.server.name, err.toString(), loadURL.toString());
|
||||||
log.info(`[${this.server.name}] Couldn't stablish a connection with ${loadURL}: ${err}.`);
|
log.info(`[${Util.shorten(this.server.name)}] Couldn't stablish a connection with ${loadURL}: ${err}.`);
|
||||||
this.status = ERROR;
|
this.status = ERROR;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -117,12 +118,12 @@ export class MattermostView extends EventEmitter {
|
|||||||
loadRetry = (loadURL, err) => {
|
loadRetry = (loadURL, err) => {
|
||||||
this.retryLoad = setTimeout(this.retry(loadURL), RELOAD_INTERVAL);
|
this.retryLoad = setTimeout(this.retry(loadURL), RELOAD_INTERVAL);
|
||||||
WindowManager.sendToRenderer(LOAD_RETRY, this.server.name, Date.now() + RELOAD_INTERVAL, err.toString(), loadURL.toString());
|
WindowManager.sendToRenderer(LOAD_RETRY, this.server.name, Date.now() + RELOAD_INTERVAL, err.toString(), loadURL.toString());
|
||||||
log.info(`[${this.server.name}] failed loading ${loadURL}: ${err}, retrying in ${RELOAD_INTERVAL / SECOND} seconds`);
|
log.info(`[${Util.shorten(this.server.name)}] failed loading ${loadURL}: ${err}, retrying in ${RELOAD_INTERVAL / SECOND} seconds`);
|
||||||
}
|
}
|
||||||
|
|
||||||
loadSuccess = (loadURL) => {
|
loadSuccess = (loadURL) => {
|
||||||
return () => {
|
return () => {
|
||||||
log.info(`[${this.server.name}] finished loading ${loadURL}`);
|
log.info(`[${Util.shorten(this.server.name)}] finished loading ${loadURL}`);
|
||||||
WindowManager.sendToRenderer(LOAD_SUCCESS, this.server.name);
|
WindowManager.sendToRenderer(LOAD_SUCCESS, this.server.name);
|
||||||
this.maxRetries = MAX_SERVER_RETRIES;
|
this.maxRetries = MAX_SERVER_RETRIES;
|
||||||
if (this.status === LOADING) {
|
if (this.status === LOADING) {
|
||||||
|
@@ -7,7 +7,6 @@ import log from 'electron-log';
|
|||||||
import {DEVELOPMENT, PRODUCTION} from 'common/utils/constants';
|
import {DEVELOPMENT, PRODUCTION} from 'common/utils/constants';
|
||||||
import urlUtils from 'common/utils/url';
|
import urlUtils from 'common/utils/url';
|
||||||
import Utils from 'common/utils/util';
|
import Utils from 'common/utils/util';
|
||||||
import {FOUND_IN_PAGE} from 'common/communication';
|
|
||||||
|
|
||||||
import * as WindowManager from '../windows/windowManager';
|
import * as WindowManager from '../windows/windowManager';
|
||||||
|
|
||||||
@@ -210,6 +209,7 @@ export const addWebContentsEventListeners = (mmview, getServersFunction) => {
|
|||||||
if (listeners[contents.id]) {
|
if (listeners[contents.id]) {
|
||||||
removeWebContentsListeners(contents.id);
|
removeWebContentsListeners(contents.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
const willNavigate = generateWillNavigate(getServersFunction);
|
const willNavigate = generateWillNavigate(getServersFunction);
|
||||||
contents.on('will-navigate', willNavigate);
|
contents.on('will-navigate', willNavigate);
|
||||||
|
|
||||||
@@ -228,7 +228,6 @@ export const addWebContentsEventListeners = (mmview, getServersFunction) => {
|
|||||||
contents.on('page-title-updated', mmview.handleTitleUpdate);
|
contents.on('page-title-updated', mmview.handleTitleUpdate);
|
||||||
contents.on('page-favicon-updated', mmview.handleFaviconUpdate);
|
contents.on('page-favicon-updated', mmview.handleFaviconUpdate);
|
||||||
contents.on('update-target-url', mmview.handleUpdateTarget);
|
contents.on('update-target-url', mmview.handleUpdateTarget);
|
||||||
contents.on(FOUND_IN_PAGE, mmview.handleFoundInPage);
|
|
||||||
contents.on('did-navigate', mmview.handleDidNavigate);
|
contents.on('did-navigate', mmview.handleDidNavigate);
|
||||||
|
|
||||||
const removeListeners = () => {
|
const removeListeners = () => {
|
||||||
@@ -239,7 +238,6 @@ export const addWebContentsEventListeners = (mmview, getServersFunction) => {
|
|||||||
contents.removeListener('page-title-updated', mmview.handleTitleUpdate);
|
contents.removeListener('page-title-updated', mmview.handleTitleUpdate);
|
||||||
contents.removeListener('page-favicon-updated', mmview.handleFaviconUpdate);
|
contents.removeListener('page-favicon-updated', mmview.handleFaviconUpdate);
|
||||||
contents.removeListener('update-target-url', mmview.handleUpdateTarget);
|
contents.removeListener('update-target-url', mmview.handleUpdateTarget);
|
||||||
contents.removeListener(FOUND_IN_PAGE, mmview.handleFoundInPage);
|
|
||||||
contents.removeListener('did-navigate', mmview.handleDidNavigate);
|
contents.removeListener('did-navigate', mmview.handleDidNavigate);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
log.error(`Error while trying to detach listeners, this might be ok if the process crashed: ${e}`);
|
log.error(`Error while trying to detach listeners, this might be ok if the process crashed: ${e}`);
|
||||||
|
@@ -16,6 +16,8 @@
|
|||||||
.TabBar .teamTabItem span {
|
.TabBar .teamTabItem span {
|
||||||
flex: 0 1 auto;
|
flex: 0 1 auto;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
max-width: 200px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
@@ -18,9 +18,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.TeamListItem p {
|
.TeamListItem p {
|
||||||
overflow-wrap: break-word;
|
overflow-wrap: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.TeamListItem h4 {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
};
|
||||||
|
|
||||||
.checkbox > label {
|
.checkbox > label {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user