Merge branch 'develop' into t3chguy/poc_riot_desktop_sso_multi_profile
This commit is contained in:
commit
a77ed6e844
|
@ -78,7 +78,7 @@ Riot is a modular webapp built with modern ES6 and uses a Node.js build system.
|
||||||
Ensure you have the latest LTS version of Node.js installed.
|
Ensure you have the latest LTS version of Node.js installed.
|
||||||
|
|
||||||
Using `yarn` instead of `npm` is recommended. Please see the Yarn [install
|
Using `yarn` instead of `npm` is recommended. Please see the Yarn [install
|
||||||
guide](https://yarnpkg.com/docs/install/) if you do not have it already.
|
guide](https://classic.yarnpkg.com/en/docs/install) if you do not have it already.
|
||||||
|
|
||||||
1. Install or update `node.js` so that your `node` is at least v10.x.
|
1. Install or update `node.js` so that your `node` is at least v10.x.
|
||||||
1. Install `yarn` if not present already.
|
1. Install `yarn` if not present already.
|
||||||
|
|
|
@ -237,6 +237,16 @@ ipcMain.on('ipcCall', async function(ev, payload) {
|
||||||
case 'getConfig':
|
case 'getConfig':
|
||||||
ret = vectorConfig;
|
ret = vectorConfig;
|
||||||
break;
|
break;
|
||||||
|
case 'navigateBack':
|
||||||
|
if (mainWindow.webContents.canGoBack()) {
|
||||||
|
mainWindow.webContents.goBack();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'navigateForward':
|
||||||
|
if (mainWindow.webContents.canGoForward()) {
|
||||||
|
mainWindow.webContents.goForward();
|
||||||
|
}
|
||||||
|
break;
|
||||||
case 'startSSOFlow':
|
case 'startSSOFlow':
|
||||||
recordSSOSession(args[0]);
|
recordSSOSession(args[0]);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
"clean": "rimraf lib webapp electron_app/dist",
|
"clean": "rimraf lib webapp electron_app/dist",
|
||||||
"build": "yarn clean && yarn build:genfiles && yarn build:compile && yarn build:types && yarn build:bundle",
|
"build": "yarn clean && yarn build:genfiles && yarn build:compile && yarn build:types && yarn build:bundle",
|
||||||
"build-stats": "yarn clean && yarn build:genfiles && yarn build:compile && yarn build:types && yarn build:bundle-stats",
|
"build-stats": "yarn clean && yarn build:genfiles && yarn build:compile && yarn build:types && yarn build:bundle-stats",
|
||||||
"build:jitsi": "curl -s https://jitsi.riot.im/libs/external_api.min.js > ./webapp/jitsi_external_api.min.js",
|
"build:jitsi": "scripts/build-jitsi.sh",
|
||||||
"build:res": "node scripts/copy-res.js",
|
"build:res": "node scripts/copy-res.js",
|
||||||
"build:genfiles": "yarn reskindex && yarn build:res && yarn build:jitsi",
|
"build:genfiles": "yarn reskindex && yarn build:res && yarn build:jitsi",
|
||||||
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
|
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [[ ! -f "./webapp" ]]; then
|
||||||
|
mkdir "./webapp"
|
||||||
|
fi
|
||||||
|
|
||||||
|
curl -s https://jitsi.riot.im/libs/external_api.min.js > ./webapp/jitsi_external_api.min.js
|
|
@ -9,6 +9,7 @@
|
||||||
"Unable to load config file: please refresh the page to try again.": "Unable to load config file: please refresh the page to try again.",
|
"Unable to load config file: please refresh the page to try again.": "Unable to load config file: please refresh the page to try again.",
|
||||||
"Unexpected error preparing the app. See console for details.": "Unexpected error preparing the app. See console for details.",
|
"Unexpected error preparing the app. See console for details.": "Unexpected error preparing the app. See console for details.",
|
||||||
"Open user settings": "Open user settings",
|
"Open user settings": "Open user settings",
|
||||||
|
"Previous/next recently visited room or community": "Previous/next recently visited room or community",
|
||||||
"Riot Desktop on %(platformName)s": "Riot Desktop on %(platformName)s",
|
"Riot Desktop on %(platformName)s": "Riot Desktop on %(platformName)s",
|
||||||
"Go to your browser to complete Sign In": "Go to your browser to complete Sign In",
|
"Go to your browser to complete Sign In": "Go to your browser to complete Sign In",
|
||||||
"Unknown device": "Unknown device",
|
"Unknown device": "Unknown device",
|
||||||
|
|
|
@ -109,7 +109,8 @@ async function start() {
|
||||||
"./init");
|
"./init");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await settled(rageshakePromise); // give rageshake a chance to load/fail
|
// give rageshake a chance to load/fail, we don't actually assert rageshake loads, we allow it to fail if no IDB
|
||||||
|
await settled(rageshakePromise);
|
||||||
|
|
||||||
const fragparts = parseQsFromFragment(window.location);
|
const fragparts = parseQsFromFragment(window.location);
|
||||||
|
|
||||||
|
@ -182,7 +183,6 @@ async function start() {
|
||||||
// app load critical path starts here
|
// app load critical path starts here
|
||||||
// assert things started successfully
|
// assert things started successfully
|
||||||
// ##################################
|
// ##################################
|
||||||
await rageshakePromise;
|
|
||||||
await loadOlmPromise;
|
await loadOlmPromise;
|
||||||
await loadSkinPromise;
|
await loadSkinPromise;
|
||||||
await loadThemePromise;
|
await loadThemePromise;
|
||||||
|
|
|
@ -219,7 +219,7 @@ export default class ElectronPlatform extends VectorBasePlatform {
|
||||||
this.startUpdateCheck = this.startUpdateCheck.bind(this);
|
this.startUpdateCheck = this.startUpdateCheck.bind(this);
|
||||||
this.stopUpdateCheck = this.stopUpdateCheck.bind(this);
|
this.stopUpdateCheck = this.stopUpdateCheck.bind(this);
|
||||||
|
|
||||||
// register Mac specific shortcuts
|
// register OS-specific shortcuts
|
||||||
if (isMac) {
|
if (isMac) {
|
||||||
registerShortcut(Categories.NAVIGATION, {
|
registerShortcut(Categories.NAVIGATION, {
|
||||||
keybinds: [{
|
keybinds: [{
|
||||||
|
@ -228,6 +228,28 @@ export default class ElectronPlatform extends VectorBasePlatform {
|
||||||
}],
|
}],
|
||||||
description: _td("Open user settings"),
|
description: _td("Open user settings"),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
registerShortcut(Categories.NAVIGATION, {
|
||||||
|
keybinds: [{
|
||||||
|
modifiers: [Modifiers.COMMAND],
|
||||||
|
key: Key.SQUARE_BRACKET_LEFT,
|
||||||
|
}, {
|
||||||
|
modifiers: [Modifiers.COMMAND],
|
||||||
|
key: Key.SQUARE_BRACKET_RIGHT,
|
||||||
|
}],
|
||||||
|
description: _td("Previous/next recently visited room or community"),
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
registerShortcut(Categories.NAVIGATION, {
|
||||||
|
keybinds: [{
|
||||||
|
modifiers: [Modifiers.ALT],
|
||||||
|
key: Key.ARROW_LEFT,
|
||||||
|
}, {
|
||||||
|
modifiers: [Modifiers.ALT],
|
||||||
|
key: Key.ARROW_RIGHT,
|
||||||
|
}],
|
||||||
|
description: _td("Previous/next recently visited room or community"),
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// this is the opaque token we pass to the HS which when we get it in our callback we can resolve to a profile
|
// this is the opaque token we pass to the HS which when we get it in our callback we can resolve to a profile
|
||||||
|
@ -440,4 +462,32 @@ export default class ElectronPlatform extends VectorBasePlatform {
|
||||||
description: <Spinner />,
|
description: <Spinner />,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_navigateForwardBack(back: boolean) {
|
||||||
|
this._ipcCall(back ? "navigateBack" : "navigateForward");
|
||||||
|
}
|
||||||
|
|
||||||
|
onKeyDown(ev: KeyboardEvent): boolean {
|
||||||
|
let handled = false;
|
||||||
|
|
||||||
|
switch (ev.key) {
|
||||||
|
case Key.SQUARE_BRACKET_LEFT:
|
||||||
|
case Key.SQUARE_BRACKET_RIGHT:
|
||||||
|
if (isMac && ev.metaKey && !ev.altKey && !ev.ctrlKey && !ev.shiftKey) {
|
||||||
|
this._navigateForwardBack(ev.key === Key.SQUARE_BRACKET_LEFT);
|
||||||
|
handled = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Key.ARROW_LEFT:
|
||||||
|
case Key.ARROW_RIGHT:
|
||||||
|
if (!isMac && ev.altKey && !ev.metaKey && !ev.ctrlKey && !ev.shiftKey) {
|
||||||
|
this._navigateForwardBack(ev.key === Key.ARROW_LEFT);
|
||||||
|
handled = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return handled;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue