Compare commits

..

62 Commits

Author SHA1 Message Date
RiotRobot
6a107f7095 v1.7.24 2021-03-29 13:49:24 +01:00
RiotRobot
ff4ebd4b39 Prepare changelog for v1.7.24 2021-03-29 13:49:24 +01:00
RiotRobot
a46698559f v1.7.24-rc.1 2021-03-25 12:36:14 +00:00
RiotRobot
c18b213699 Prepare changelog for v1.7.24-rc.1 2021-03-25 12:36:14 +00:00
RiotRobot
b309562244 v1.7.23 2021-03-15 15:05:22 +00:00
RiotRobot
6c6a7d1bd6 Prepare changelog for v1.7.23 2021-03-15 15:05:21 +00:00
RiotRobot
6bff9f9a20 v1.7.23-rc.1 2021-03-11 10:13:06 +00:00
RiotRobot
42139ec30d Prepare changelog for v1.7.23-rc.1 2021-03-11 10:13:05 +00:00
J. Ryan Stinnett
6edc4cb965 Merge pull request #171 from SimonBrandner/fix-disabling-spell-check
Fix disabling spell-checker
2021-03-08 14:11:20 +00:00
Šimon Brandner
121bba1f35 Set an empty array to disable spell-checker
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-03-03 14:49:07 +01:00
J. Ryan Stinnett
b8adc66898 Merge pull request #154 from SimonBrandner/feature-multi-language-spell-check
Add multi language spell check
2021-03-02 14:38:37 +00:00
RiotRobot
323c42bb72 v1.7.22 2021-03-01 13:28:11 +00:00
RiotRobot
8e51f6299c Prepare changelog for v1.7.22 2021-03-01 13:28:10 +00:00
RiotRobot
888ce434ff v1.7.22-rc.1 2021-02-24 17:44:10 +00:00
RiotRobot
a223489511 Prepare changelog for v1.7.22-rc.1 2021-02-24 17:44:10 +00:00
Šimon Brandner
9ca19d7de6 Use getSpellCheckLanguages() instead of a setting
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-02-18 20:12:47 +01:00
Šimon Brandner
dce524f5bc Use try-catch
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-02-18 18:39:51 +01:00
Šimon Brandner
48d66c0031 Merge branch 'feature-multi-language-spell-check' of https://github.com/SimonBrandner/element-desktop into feature-multi-language-spell-check 2021-02-18 18:30:37 +01:00
Šimon Brandner
36438479fc Merge branch 'develop' into feature-multi-language-spell-check 2021-02-18 18:25:21 +01:00
Šimon Brandner
f51acb78e0 Update src/electron-main.js
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-02-18 18:05:37 +01:00
RiotRobot
343215925a Merge branch 'master' into develop 2021-02-16 11:24:49 +00:00
RiotRobot
a535efc1cc v1.7.21 2021-02-16 11:24:31 +00:00
RiotRobot
57496d89e5 Prepare changelog for v1.7.21 2021-02-16 11:24:31 +00:00
J. Ryan Stinnett
5dc9ba94ca Merge pull request #169 from vector-im/jryans/disable-countly
Disable Countly
2021-02-11 15:26:55 +00:00
J. Ryan Stinnett
3d519f571f Disable Countly
The Countly experiment has ended, so this removes the configuration to enable
it.
2021-02-11 15:18:45 +00:00
J. Ryan Stinnett
d9702e2f92 Merge pull request #168 from vector-im/jryans/electron-11.2.3
Upgrade to Electron 11.2.3
2021-02-10 20:40:30 +00:00
RiotRobot
23ecc8573d v1.7.21-rc.1 2021-02-10 17:07:33 +00:00
RiotRobot
7199a697f4 Prepare changelog for v1.7.21-rc.1 2021-02-10 17:07:33 +00:00
J. Ryan Stinnett
ecbcafe9ea Upgrade to Electron 11.2.3
No breaking changes, so let's see how this works for a wider audience. In
particular, we'll want to check
https://github.com/vector-im/element-web/issues/15869 again.
2021-02-10 16:52:47 +00:00
David Baker
8828838e8a Merge pull request #161 from SimonBrandner/fix-screen-sharing
Fix desktop Matrix screen sharing
2021-02-08 13:54:57 +00:00
RiotRobot
c7c56f2f97 v1.7.20 2021-02-04 12:42:04 +00:00
RiotRobot
2c619a3a3f Prepare changelog for v1.7.20 2021-02-04 12:42:04 +00:00
RiotRobot
a4f6d68001 v1.7.19 2021-02-03 12:31:40 +00:00
RiotRobot
d4c48f68ec Prepare changelog for v1.7.19 2021-02-03 12:31:40 +00:00
RiotRobot
6ce89b667e v1.7.19-rc.1 2021-01-29 17:40:02 +00:00
RiotRobot
d9bfd239c5 Prepare changelog for v1.7.19-rc.1 2021-01-29 17:40:01 +00:00
RiotRobot
030fe38834 Merge branch 'master' into develop 2021-01-26 12:31:31 +00:00
RiotRobot
70c3446339 v1.7.18 2021-01-26 12:31:13 +00:00
RiotRobot
de0e7483a9 Prepare changelog for v1.7.18 2021-01-26 12:31:13 +00:00
J. Ryan Stinnett
0b01b32e98 Merge pull request #167 from vector-im/jryans/rm-buildkite
Remove Buildkite pipeline file
2021-01-25 12:46:51 +00:00
J. Ryan Stinnett
f7e5d0aa5f Remove Buildkite pipeline file
These are managed from a separate repo now
(https://github.com/matrix-org/pipelines).
2021-01-25 12:37:38 +00:00
J. Ryan Stinnett
21f3847ccc Merge pull request #166 from vector-im/jryans/upgrade-deps-2021-01-18
Upgrade deps 2021-01-18
2021-01-20 10:54:00 +00:00
J. Ryan Stinnett
e826c04c03 Upgrade various misc packages 2021-01-18 15:50:23 +00:00
J. Ryan Stinnett
39404a62e6 Upgrade electron-store 2021-01-18 15:46:07 +00:00
J. Ryan Stinnett
4b7a442a73 Upgrade electron-window-state
This may help with window disappearing issues on monitor change.
2021-01-18 15:43:10 +00:00
J. Ryan Stinnett
6de76f5b02 Upgrade Electron packaging utils 2021-01-18 15:40:58 +00:00
RiotRobot
7058196c25 Merge branch 'master' into develop 2021-01-18 15:26:34 +00:00
J. Ryan Stinnett
74ebc6cb22 Merge pull request #164 from vector-im/bump-seshat2
package: Bump our seshat version
2021-01-15 11:45:31 +00:00
Damir Jelić
a64516483b package: Bump our seshat version 2021-01-15 12:18:26 +01:00
Šimon Brandner
44c8f2c30f Merge 'upstream/develop' and use contextBridge
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-01-14 08:31:52 +01:00
J. Ryan Stinnett
faa217c767 Merge pull request #163 from vector-im/jryans/context-isolation
Enable context isolation, bridge expected IPC
2021-01-13 16:50:26 +00:00
J. Ryan Stinnett
5ad0967b07 Enable context isolation, bridge expected IPC
This enables Electron's context isolation mode as recommended in their guidance.
We use the context bridge feature to regain access to only the IPC channels we
expect to have access to.
2021-01-13 15:21:00 +00:00
Šimon Brandner
3b496c362b Don't wait for loaded
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-01-05 19:45:34 +01:00
Šimon Brandner
c4b7e856db Expose desktopCapturer instead of the awfullness
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2020-12-26 08:28:35 +01:00
Šimon Brandner
cb1626cb9f Merge branch 'develop' into fix-screen-sharing 2020-12-25 16:28:16 +01:00
Šimon Brandner
a36321b697 Some improvements
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2020-12-25 16:24:21 +01:00
Šimon Brandner
353f5b35df Fix screen-sharing
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2020-12-25 15:54:13 +01:00
Šimon Brandner
62b6aa26ff Merge branch 'develop' into feature-multi-language-spell-check 2020-12-03 12:03:56 +01:00
Šimon Brandner
0d00f3ea6c Fix more formatting 2020-12-01 20:27:09 +01:00
Šimon Brandner
2ef3c8c1ab Fix formatting 2020-12-01 20:22:51 +01:00
Šimon Brandner
e373c03b2a Cleanup 2020-12-01 20:19:12 +01:00
Šimon Brandner
107efba6f3 Added getAvailableSpellCheckLanguages case 2020-11-29 20:50:57 +01:00
7 changed files with 856 additions and 760 deletions

View File

@@ -1,8 +0,0 @@
steps:
- label: ":eslint: Lint"
command:
- "yarn install"
- "yarn lint"
plugins:
- docker#v3.0.1:
image: "node:10"

View File

@@ -1,3 +1,89 @@
Changes in [1.7.24](https://github.com/vector-im/element-desktop/releases/tag/v1.7.24) (2021-03-29)
===================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.24-rc.1...v1.7.24)
* No changes since rc.1
Changes in [1.7.24-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v1.7.24-rc.1) (2021-03-25)
=============================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.23...v1.7.24-rc.1)
* No changes since 1.7.23
Changes in [1.7.23](https://github.com/vector-im/element-desktop/releases/tag/v1.7.23) (2021-03-15)
===================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.23-rc.1...v1.7.23)
* No changes since rc.1
Changes in [1.7.23-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v1.7.23-rc.1) (2021-03-11)
=============================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.22...v1.7.23-rc.1)
* Fix disabling spell-checker
[\#171](https://github.com/vector-im/element-desktop/pull/171)
* Add multi language spell check
[\#154](https://github.com/vector-im/element-desktop/pull/154)
Changes in [1.7.22](https://github.com/vector-im/element-desktop/releases/tag/v1.7.22) (2021-03-01)
===================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.22-rc.1...v1.7.22)
* No changes since rc.1
Changes in [1.7.22-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v1.7.22-rc.1) (2021-02-24)
=============================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.21...v1.7.22-rc.1)
* Disable Countly
[\#169](https://github.com/vector-im/element-desktop/pull/169)
* Upgrade to Electron 11.2.3
[\#168](https://github.com/vector-im/element-desktop/pull/168)
Changes in [1.7.21](https://github.com/vector-im/element-desktop/releases/tag/v1.7.21) (2021-02-16)
===================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.21-rc.1...v1.7.21)
* No changes since rc.1
Changes in [1.7.21-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v1.7.21-rc.1) (2021-02-10)
=============================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.20...v1.7.21-rc.1)
* Fix desktop Matrix screen sharing
[\#161](https://github.com/vector-im/element-desktop/pull/161)
Changes in [1.7.20](https://github.com/vector-im/element-desktop/releases/tag/v1.7.20) (2021-02-04)
===================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.19...v1.7.20)
* No changes since 1.7.19
Changes in [1.7.19](https://github.com/vector-im/element-desktop/releases/tag/v1.7.19) (2021-02-03)
===================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.19-rc.1...v1.7.19)
* No changes since rc.1
Changes in [1.7.19-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v1.7.19-rc.1) (2021-01-29)
=============================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.18...v1.7.19-rc.1)
* Remove Buildkite pipeline file
[\#167](https://github.com/vector-im/element-desktop/pull/167)
* Upgrade deps 2021-01-18
[\#166](https://github.com/vector-im/element-desktop/pull/166)
* package: Bump our seshat version
[\#164](https://github.com/vector-im/element-desktop/pull/164)
* Enable context isolation, bridge expected IPC
[\#163](https://github.com/vector-im/element-desktop/pull/163)
Changes in [1.7.18](https://github.com/vector-im/element-desktop/releases/tag/v1.7.18) (2021-01-26)
===================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.17...v1.7.18)
* No changes since 1.7.17
Changes in [1.7.17](https://github.com/vector-im/element-desktop/releases/tag/v1.7.17) (2021-01-18)
===================================================================================================
[Full Changelog](https://github.com/vector-im/element-desktop/compare/v1.7.17-rc.1...v1.7.17)

View File

@@ -19,10 +19,6 @@
"siteId": 1,
"policyUrl": "https://element.io/cookie-policy"
},
"countly": {
"url": "https://try.count.ly",
"appKey": "8abf1ee15646bc884556b82e5053857904264b66"
},
"roomDirectory": {
"servers": [
"matrix.org",

View File

@@ -2,7 +2,7 @@
"name": "element-desktop",
"productName": "Element",
"main": "src/electron-main.js",
"version": "1.7.17",
"version": "1.7.24",
"description": "A feature-rich client for Matrix.org",
"author": "Element",
"repository": {
@@ -30,19 +30,19 @@
"hak": "node scripts/hak/index.js"
},
"dependencies": {
"auto-launch": "^5.0.1",
"electron-store": "^2.0.0",
"electron-window-state": "^4.1.0",
"auto-launch": "^5.0.5",
"electron-store": "^6.0.1",
"electron-window-state": "^5.0.3",
"minimist": "^1.2.3",
"png-to-ico": "^2.1.0",
"png-to-ico": "^2.1.1",
"request": "^2.88.2"
},
"devDependencies": {
"asar": "^2.0.1",
"electron-builder": "^22.7.0",
"electron-builder-squirrel-windows": "^22.7.0",
"electron-devtools-installer": "^2.2.4",
"electron-notarize": "^0.2.0",
"electron-builder": "22.9.1",
"electron-builder-squirrel-windows": "22.9.1",
"electron-devtools-installer": "^3.1.1",
"electron-notarize": "^1.0.0",
"eslint": "7.3.1",
"eslint-config-matrix-org": "^0.1.2",
"find-npm-prefix": "^1.0.2",
@@ -51,10 +51,10 @@
"mkdirp": "^1.0.3",
"needle": "^2.5.0",
"node-pre-gyp": "^0.15.0",
"npm": "^6.14.6",
"npm": "^6.14.11",
"rimraf": "^3.0.2",
"semver": "^7.1.3",
"tar": "^6.0.1"
"semver": "^7.3.4",
"tar": "^6.1.0"
},
"hakDependencies": {
"matrix-seshat": "^2.2.3",
@@ -62,7 +62,7 @@
},
"build": {
"appId": "im.riot.app",
"electronVersion": "10.2.0",
"electronVersion": "11.2.3",
"files": [
"package.json",
{

View File

@@ -1,9 +1,8 @@
/*
Copyright 2016 Aviral Dasgupta
Copyright 2016 OpenMarket Ltd
Copyright 2018, 2019 New Vector Ltd
Copyright 2017, 2019 Michael Telatynski <7t3chguy@gmail.com>
Copyright 2020 The Matrix.org Foundation C.I.C.
Copyright 2018 - 2021 New Vector Ltd
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -386,50 +385,24 @@ ipcMain.on('ipcCall', async function(ev, payload) {
mainWindow.webContents.goForward();
}
break;
case 'setLanguage': {
// work around `setSpellCheckerLanguages` being case-sensitive by converting to expected case
const caseMap = {};
const availableLanguages = mainWindow.webContents.session.availableSpellCheckerLanguages;
availableLanguages.forEach(lang => {
caseMap[lang.toLowerCase()] = lang;
});
if (!caseMap["en"]) {
// default special-case for `en` as in Riot is actually implies `en-GB`. `en-US` is distinct.
// this way if `en` is requested and not available and `en-GB` is available it'll be used.
caseMap["en"] = caseMap["en-gb"];
}
const languages = new Set();
args[0].forEach(lang => {
const lcLang = lang.toLowerCase();
if (caseMap[lcLang]) {
languages.add(caseMap[lcLang]);
return;
case 'setSpellCheckLanguages':
if (args[0] && args[0].length > 0) {
try {
mainWindow.webContents.session.setSpellCheckerLanguages(args[0]);
} catch (er) {
console.log("There were problems setting the spellcheck languages", er);
}
// as a fallback if the language is unknown check if the language group is known, e.g en for en-AU
const langGroup = lcLang.split("-")[0];
if (caseMap[langGroup]) {
languages.add(caseMap[langGroup]);
return;
}
// as a further fallback, pick all other matching variants from the same language group
// this means that if we cannot find `ar-dz` or `ar` for example, we will pick `ar-*` to
// offer a spellcheck which is least likely to wrongly red underline something.
availableLanguages.forEach(availableLang => {
if (availableLang.startsWith(langGroup)) {
languages.add(availableLang);
}
});
});
if (languages.size > 0) {
mainWindow.webContents.session.setSpellCheckerLanguages([...languages]);
} else {
mainWindow.webContents.session.setSpellCheckerLanguages([]);
}
break;
}
case 'getSpellCheckLanguages':
ret = mainWindow.webContents.session.getSpellCheckerLanguages();
break;
case 'getAvailableSpellCheckLanguages':
ret = mainWindow.webContents.session.availableSpellCheckerLanguages;
break;
case 'startSSOFlow':
recordSSOSession(args[0]);
break;
@@ -922,11 +895,7 @@ app.on('ready', async () => {
nodeIntegration: false,
//sandbox: true, // We enable sandboxing from app.enableSandbox() above
enableRemoteModule: false,
// We don't use this: it's useful for the preload script to
// share a context with the main page so we can give select
// objects to the main page. The sandbox option isolates the
// main page from the background script.
contextIsolation: false,
contextIsolation: true,
webgl: false,
spellcheck: true,
},

View File

@@ -1,5 +1,5 @@
/*
Copyright 2018, 2019 New Vector Ltd
Copyright 2018, 2019, 2021 New Vector Ltd
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -14,7 +14,58 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
const { ipcRenderer } = require('electron');
const { ipcRenderer, desktopCapturer, contextBridge } = require('electron');
// expose ipcRenderer to the renderer process
window.ipcRenderer = ipcRenderer;
// Expose only expected IPC wrapper APIs to the renderer process to avoid
// handing out generalised messaging access.
const CHANNELS = [
"app_onAction",
"before-quit",
"check_updates",
"install_update",
"ipcCall",
"ipcReply",
"loudNotification",
"preferences",
"seshat",
"seshatReply",
"setBadgeCount",
"update-downloaded",
"userDownloadCompleted",
"userDownloadOpen",
];
contextBridge.exposeInMainWorld(
"electron",
{
on(channel, listener) {
if (!CHANNELS.includes(channel)) {
console.error(`Unknown IPC channel ${channel} ignored`);
return;
}
ipcRenderer.on(channel, listener);
},
send(channel, ...args) {
if (!CHANNELS.includes(channel)) {
console.error(`Unknown IPC channel ${channel} ignored`);
return;
}
ipcRenderer.send(channel, ...args);
},
async getDesktopCapturerSources(options) {
const sources = await desktopCapturer.getSources(options);
const desktopCapturerSources = [];
for (const source of sources) {
desktopCapturerSources.push({
id: source.id,
name: source.name,
thumbnailURL: source.thumbnail.toDataURL(),
});
}
return desktopCapturerSources;
},
},
);

1368
yarn.lock
View File

File diff suppressed because it is too large Load Diff