Changed version checking code for native window and correctly support frameless on Windows 8 (#1829) (#1830)

(cherry picked from commit 047db6e6e8)

Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>
This commit is contained in:
Mattermost Build 2021-10-19 22:04:19 +02:00 committed by GitHub
parent 0429bbac2a
commit 26ef7b56e1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 8 additions and 6 deletions

View file

@ -24,6 +24,7 @@ import {UPDATE_TEAMS, GET_CONFIGURATION, UPDATE_CONFIGURATION, GET_LOCAL_CONFIGU
import * as Validator from 'main/Validator'; import * as Validator from 'main/Validator';
import {getDefaultTeamWithTabsFromTeam} from 'common/tabs/TabView'; import {getDefaultTeamWithTabsFromTeam} from 'common/tabs/TabView';
import Utils from 'common/utils/util';
import defaultPreferences, {getDefaultDownloadLocation} from './defaultPreferences'; import defaultPreferences, {getDefaultDownloadLocation} from './defaultPreferences';
import upgradeConfigData from './upgradePreferences'; import upgradeConfigData from './upgradePreferences';
@ -57,7 +58,7 @@ export default class Config extends EventEmitter {
this.predefinedTeams.push(...buildConfig.defaultTeams.map((team) => getDefaultTeamWithTabsFromTeam(team))); this.predefinedTeams.push(...buildConfig.defaultTeams.map((team) => getDefaultTeamWithTabsFromTeam(team)));
} }
try { try {
this.useNativeWindow = os.platform() === 'win32' && (parseInt(os.release().split('.')[0], 10) < 10); this.useNativeWindow = os.platform() === 'win32' && !Utils.isVersionGreaterThanOrEqualTo(os.release(), '6.2');
} catch { } catch {
this.useNativeWindow = false; this.useNativeWindow = false;
} }

View file

@ -37,7 +37,7 @@ function shorten(string: string, max?: number) {
return string; return string;
} }
function isServerVersionGreaterThanOrEqualTo(currentVersion: string, compareVersion: string): boolean { function isVersionGreaterThanOrEqualTo(currentVersion: string, compareVersion: string): boolean {
if (currentVersion === compareVersion) { if (currentVersion === compareVersion) {
return true; return true;
} }
@ -66,5 +66,5 @@ export default {
getDisplayBoundaries, getDisplayBoundaries,
runMode, runMode,
shorten, shorten,
isServerVersionGreaterThanOrEqualTo, isVersionGreaterThanOrEqualTo,
}; };

View file

@ -830,7 +830,7 @@ function openExtraTabs(data: Array<RemoteInfo | string | undefined>, team: TeamW
const remoteInfo = data.find((info) => info && typeof info !== 'string' && info.name === team.name) as RemoteInfo; const remoteInfo = data.find((info) => info && typeof info !== 'string' && info.name === team.name) as RemoteInfo;
if (remoteInfo) { if (remoteInfo) {
team.tabs.forEach((tab) => { team.tabs.forEach((tab) => {
if (tab.name !== TAB_MESSAGING && remoteInfo.serverVersion && Utils.isServerVersionGreaterThanOrEqualTo(remoteInfo.serverVersion, '6.0.0')) { if (tab.name !== TAB_MESSAGING && remoteInfo.serverVersion && Utils.isVersionGreaterThanOrEqualTo(remoteInfo.serverVersion, '6.0.0')) {
if (tab.name === TAB_PLAYBOOKS && remoteInfo.hasPlaybooks && tab.isOpen !== false) { if (tab.name === TAB_PLAYBOOKS && remoteInfo.hasPlaybooks && tab.isOpen !== false) {
log.info(`opening ${team.name}___${tab.name} on hasPlaybooks`); log.info(`opening ${team.name}___${tab.name} on hasPlaybooks`);
tab.isOpen = true; tab.isOpen = true;

View file

@ -430,7 +430,7 @@ export class ViewManager {
return; return;
} }
if (view.status === Status.READY && view.serverInfo.remoteInfo.serverVersion && Utils.isServerVersionGreaterThanOrEqualTo(view.serverInfo.remoteInfo.serverVersion, '6.0.0')) { if (view.status === Status.READY && view.serverInfo.remoteInfo.serverVersion && Utils.isVersionGreaterThanOrEqualTo(view.serverInfo.remoteInfo.serverVersion, '6.0.0')) {
const pathName = `/${urlWithSchema.replace(view.tab.server.url.toString(), '')}`; const pathName = `/${urlWithSchema.replace(view.tab.server.url.toString(), '')}`;
view.view.webContents.send(BROWSER_HISTORY_PUSH, pathName); view.view.webContents.send(BROWSER_HISTORY_PUSH, pathName);
this.deeplinkSuccess(view.name); this.deeplinkSuccess(view.name);

View file

@ -14,6 +14,7 @@ import {SavedWindowState} from 'types/mainWindow';
import {SELECT_NEXT_TAB, SELECT_PREVIOUS_TAB, GET_FULL_SCREEN_STATUS, OPEN_TEAMS_DROPDOWN} from 'common/communication'; import {SELECT_NEXT_TAB, SELECT_PREVIOUS_TAB, GET_FULL_SCREEN_STATUS, OPEN_TEAMS_DROPDOWN} from 'common/communication';
import {DEFAULT_WINDOW_HEIGHT, DEFAULT_WINDOW_WIDTH, MINIMUM_WINDOW_HEIGHT, MINIMUM_WINDOW_WIDTH} from 'common/utils/constants'; import {DEFAULT_WINDOW_HEIGHT, DEFAULT_WINDOW_WIDTH, MINIMUM_WINDOW_HEIGHT, MINIMUM_WINDOW_WIDTH} from 'common/utils/constants';
import Utils from 'common/utils/util';
import * as Validator from '../Validator'; import * as Validator from '../Validator';
import ContextMenu from '../contextMenu'; import ContextMenu from '../contextMenu';
@ -38,7 +39,7 @@ function isInsideRectangle(container: Electron.Rectangle, rect: Electron.Rectang
} }
function isFramelessWindow() { function isFramelessWindow() {
return os.platform() === 'darwin' || (os.platform() === 'win32' && os.release().startsWith('10')); return os.platform() === 'darwin' || (os.platform() === 'win32' && Utils.isVersionGreaterThanOrEqualTo(os.release(), '6.2'));
} }
function createMainWindow(config: CombinedConfig, options: {linuxAppIcon: string}) { function createMainWindow(config: CombinedConfig, options: {linuxAppIcon: string}) {